interface FormViewerOptions {
    lang?: any[]; 
    onChange?: (json: object) => void;
    onSubmit?: (e: object) => void;
    fileUploadText?: string;
    multiFileUploadText?: string;
    model?: string;
    language?: string;
    sendCommandUrl?: string;
    sendCommandStreamUrl?: string;
    searchCommandUrl?: string;
    scrapeCommandUrl?: string;
    captchaContainer?: boolean;
    captchaContainerClassName?: string;
    disableMediaGeneration?: boolean;
    disableMediaGenerationTitle?: string;
    disableMediaGenerationMessage?: string;

    searchUrl?: string;
    scrapeUrl?: string;
    scrapeProvider?: string;
    scrapeLimit?: number;
    scrapeExclude?: any[]; 

    generateMediaUrl?: string;
    generateMediaUrl_Replicate?: string;
    uploadMediaUrl?: string;
    uploadBase64Url?: string;
    minimizeImageUrl?: string;
    generateMediaUrl_Fal?: string;
    uploadMediaUrl_Fal?: string;
    uploadBase64Url_Fal?: string;
    checkRequestStatusUrl_Fal?: string;
    getResultUrl_Fal?: string;
    checkRequestStatusUrl_Replicate?: string;
    getResultUrl_Replicate?: string;
    generateMediaUrl_Google?: string;
    generateMediaUrl_OpenAI_CreateImage?: string;
    generateMediaUrl_OpenAI_CreateImageEdit?: string;
    generateMediaUrl_OpenAI_CreateImageVariation?: string;
    cleanup?: string;
    viewFileUrl?: string;
    defaultMediaGenerationProvider?: string;

    assetsFolder?: string;
    templatesUrl?: string;
    templateFilters?: any[]; 
    templateOutput?: any[]; 
    templatesConfig?: object;

    defaultModels?: object;
    modelFallback?: boolean;
    ttsMaxCharacters?: number;
}

declare class FormViewer {
    constructor(element: HTMLElement, options: FormViewerOptions);

    view(options: object): void;
    setTheme(json: object, element?: HTMLElement): void;
    loadWorkflow(workflowData: string): void;
    get(): void;
    getFormValues(): void;
    getId(s?: string): void;
    appendHtml(elm: HTMLElement, html: string): void;
    destroy(): void;
    out(s: string): void;

    selectFile(imgSrc?: string): void;
}
export default FormViewer;