interface ContentBuilderOptions {
    page?: string;
    container?: string;
    siteToken?: string;
    row?: string;
    cols?: any[]; 
    colequal?: any[]; 
    colsizes?: any[]; 
    imageQuality?: number;
    elementSelection?: boolean;
    paste?: string;
    snippetJSON?: object;
    screenMode?: string;
    onPreviewOpen?: () => void;
    previewURL?: string;
    onPreviewClose?: () => void;
    previewStyle?: string;
    livePreviewOpen?: boolean;
    livePreviewAlwaysReload?: boolean;
    livePreviewReloadEvery?: number;
    scriptPath?: string;
    plugins?: any[]; 
    pluginPath?: string;
    disableConfig?: boolean;
    modulePath?: string;
    basePath?: string;
    snippetsFolder?: string;
    assetManagerBasePath?: string;
    assetAbsoluteBasePath?: string;
    assetPath?: string;
    fontAssetPath?: string;
    fontPath?: string;
    snippetModal?: boolean;
    snippetModalLeft?: boolean;
    snippetData?: string;
    snippetUrl?: string;
    snippetPath?: string;
    snippetPathReplace?: any[]; 
    snippetCategories?: any[]; 
    defaultSnippetCategory?: number;
    snippetHandle?: boolean;
    sidePanel?: string;
    snippetList?: string;
    onRender?: () => void;
    onContentClick?: () => void;
    onChange?: () => void;
    onAdd?: () => void;
    largerImageHandler?: string;
    onLargerImageUpload?: () => void;
    imageHandler?: string;
    onImageUpload?: () => void;
    fileHandler?: string;
    onFileUpload?: () => void;
    mediaHandler?: string;
    onMediaUpload?: () => void;
    videoHandler?: string;
    onVideoUpload?: () => void;
    audioHandler?: string;
    onAudioUpload?: () => void;
    colors?: any[]; 
    builderMode?: string;
    rowTool?: string;
    rowcolOutline?: boolean;
    columnTool?: boolean;
    outlineMode?: string;
    toolStyle?: string;
    outlineStyle?: string;
    snippetAddTool?: boolean;
    elementTool?: boolean;
    elementHighlight?: boolean;
    columnHtmlEditor?: boolean;
    rowHtmlEditor?: boolean;
    htmlSyntaxHighlighting?: boolean;
    snippetOpen?: boolean;
    toolbar?: string;
    toolbarDisplay?: string;
    shortenHTML?: boolean;
    imageResizeOnBlock?: boolean;
    simpleEditingBreakpoint?: string;
    resizeHeight?: boolean;
    snippetsSidebarDisplay?: string;
    snippetDisplay?: string;
    onImageSelectClick?: () => void;
    onFileSelectClick?: () => void;
    onVideoSelectClick?: () => void;
    onAudioSelectClick?: () => void;
    onMediaSelectClick?: () => void;
    onPluginsLoaded?: () => void;
    onImageBrowseClick?: () => void;
    onImageSettingClick?: () => void;
    onImageEditClick?: () => void;
    setCropperConfig?: () => void;
    imageEmbed?: boolean;
    imageselect?: string;
    fileselect?: string;
    videoselect?: string;
    imageSelect?: string;
    fileSelect?: string;
    videoSelect?: string;
    audioSelect?: string;
    mediaSelect?: string;
    selectIcon?: string;
    otherSelect?: string;
    otherSelectCaption?: string;
    otherSelectIcon?: string;
    imageSelectWidth?: string;
    imageSelectHeight?: string;
    fileSelectWidth?: string;
    fileSelectHeight?: string;
    videoSelectWidth?: string;
    videoSelectHeight?: string;
    audioSelectWidth?: string;
    audioSelectHeight?: string;
    mediaSelectWidth?: string;
    mediaSelectHeight?: string;
    otherSelectWidth?: string;
    otherSelectHeight?: string;
    imageSelectMaxWidth?: string;
    fileSelectMaxWidth?: string;
    videoSelectMaxWidth?: string;
    audioSelectMaxWidth?: string;
    mediaSelectMaxWidth?: string;
    otherSelectMaxWidth?: string;
    codeEditorWidth?: string;
    codeEditorHeight?: string;
    codeEditorMaxWidth?: string;
    blockCodeEditorWidth?: string;
    blockCodeEditorHeight?: string;
    blockCodeEditorMaxWidth?: string;
    assetRefresh?: boolean;
    customTags?: any[]; 
    buttons?: any[]; 
    buttonsMore?: any[]; 
    elementButtons?: any[]; 
    elementButtonsMore?: any[]; 
    iconButtons?: any[]; 
    iconButtonsMore?: any[]; 
    lang?: any[]; 
    checkLang?: boolean;
    clearPreferences?: boolean;
    toolbarAddSnippetButton?: boolean;    
    animateModal?: boolean;
    defaultFontSizes?: any[]; 
    fontSizeClassValues?: any[]; 
    gradientcolors?: any[]; 
    elementEditor?: boolean; 
    customval?: string;
    moduleConfig?: any[]; 
    elementAnimate?: boolean; 
    cleanAOS?: boolean;
    framework?: string;
    cellFormat?: string;
    rowFormat?: string;
    emailMode?: boolean;
    absolutePath?: boolean;  
    emailSnippetCategories?: any[]; 
    defaultEmailSnippetCategory?: number;
    undoRedoStyles?: boolean;
    specialElementClasses?: any[]; 
    onUndo?: () => void;
    onRedo?: () => void;
    onBlockCanvasAdd?: () => void;
    docContainer?: string;
    blockContainer?: string;
    pageSize?: string;
    pageSizes?: any[]; 
    maxEmbedImageWidth?: number;
    zoom?: number;
    useLightbox?: boolean;
    lightboxArrow?: boolean;
    imageRenameOnEdit?: boolean;
    disableAutoEmbedVideo?: boolean;
    deleteConfirm?: boolean;
    disableBootstrapIcons?: boolean;
    sectionTemplate?: string;
    onZoomStart?: () => void;
    onZoom?: () => void;
    onZoomEnd?: () => void;
    themes?: any[]; 
    colHeight?: any[]; 
    maxColumns?: number;
    leadingPreset?: any[]; 
    cssClasses?: object;
    useCssClasses?: boolean;
    useButtonPlugin?: boolean;
    enableDragResize?: boolean;
    simpleTextSettings?: boolean; 
    enableColumnsPerLine?: boolean;
    startAIAssistant?: boolean;
    isContentBox?: boolean;
    sendCommandUrl?: string;
    speechTranscribeUrl?: string;
    onlineDemo?: boolean;
    autoSendDelay?: number;
    autoEditBlock?: boolean;
    disclaimerAI?: string;
    showDisclaimer?: boolean;
    AIModalStyle?: string;
    enableShortCommands?: boolean;
    speechRecognitionLang?: string;
    assistantMode?: string;
    triggerWords?: object;
    temperature?: number;
    topP?: number;
    useMediaRecorder?: boolean;
    encoderPath?: string;
    imageAutoUpscale?: boolean;
    headlineList?: any[];
    mediaPath?: string;
    media?: object;
    shortCommandList?: object;
    similarityThreshold?: number;
    commandList?: object;
    commandInfo?: any[]; 
    commandInfoCanvasMode?: any[]; 
    onStartRequest?: () => void;

    defaultImageGenerationProvider?: string;
    imageModel?: string;
    imageSize?: string; 
    imageGenerationModels?: any[]; 

    //-- Asset Manager
    listFilesUrl?: string;
    listFoldersUrl?: string;
    deleteFilesUrl?: string;
    moveFilesUrl?: string;
    createFolderUrl?: string;
    uploadFilesUrl?: string;
    renameFileUrl?: string;
    getMmodelsUrl?: string;
    textToImageUrl?: string;
    upscaleImageUrl?: string;
    controlNetUrl?: string;
    saveTextUrl?: string;
    viewUrl?: string;
    viewFileUrl?: string;
    assetFolderTree?: boolean;
    assetFilesOnly?: boolean;
    assetPanelReverse?: boolean;
    assetRefreshButton?: boolean;
    assetAllowedFileTypes?: any[]; 
    assetShowRelativeTime?: boolean;
    assetLocale?: string;
    assetDateShortOptions?: any[]; 
    assetDateLongOptions?: any[];
    assetPanelFullScreen?: boolean;
    //---

    //-- Form Builder
    defaultTextGenerationProvider?: string;
    model?: string;
    model2?: string;
    sendCommandStreamUrl?: string;
    generationModels_OpenAI?: any[]; 
    generationModels_OpenRouter?: any[]; 
    imageToggle?: boolean;
    videoToggle?: boolean;
    audioToggle?: boolean;
    defaultMediaGenerationProvider?: string;
    mediaGenerationProviders?: any[]; 
    uploadMediaUrl_Fal?: string;
    uploadBase64Url_Fal?: string;
    generateMediaUrl_Fal?: string;
    checkRequestStatusUrl_Fal?: string;
    getResultUrl_Fal?: string;
    minimizeImageUrl?: string;
    cleanup?: string;
    generateMediaUrl_OpenAI_CreateImage?: string;
    generateMediaUrl_OpenAI_CreateImageEdit?: string;
    generateMediaUrl_Google?: string;
    assetsFolder?: string;
    templatesUrl?: string;
    templateFilters?: any[]; 
    templatesConfig?: Record<string, any>;
    customData?: Record<string, any>;
    exampleImageUrl?: string;
    exampleVideoUrl?: string;
    exampleAudioUrl?: string;
    saveResults?: boolean;
    //---
}

declare class ContentBuilder {
    constructor(options?: ContentBuilderOptions);

    html(element?: HTMLElement): void;
    loadSnippets(snippetFile: string, snippetOpen?: boolean): void;
    viewSnippets(): void;
    saveImages(handler?: string, onComplete?: () => void, onBase64Upload?: () => void): void;
    applyBehavior(): void;
    applyBehaviorOn(element: HTMLElement): void;
    viewConfig(): void;
    setUIColor(mode: string, csslink?: string): void;
    viewHtml(): void;
    loadHtml(html: string, area?: HTMLElement): void;
    pasteHtmlAtCaret(html: string, selectPastedContent?: boolean): void;
    addSnippet(html: string, bSnippet?: boolean, noedit?: boolean): void;
    undo(): void;
    redo(): void;
    destroy(): void;
    returnUrl(s: string): void;
    toggleSnippetModal(): void;
    openSnippetModal(): void;
    closeSnippetModal(): void;
    toggleAIAssistant(): void;
    openAIAssistant(): void;
    closeAIAssistant(): void;
    saveForUndo(): void;
    selectAsset(s: string, f?: boolean): void;
    hideModal(modal?: HTMLElement): void;
    closeAsset(): void;
    addBlock(html: string, blockContainer?: HTMLElement): void;
    addPage(box?: HTMLElement): void;
    setPageSize(s?: string): void;
    openPageOptions(): void;
    print(): void;

    generateImage(prompt: string, callback?: () => void): void;
}
export default ContentBuilder;