import type { IViewBased } from "jodit/esm/types/index";
import { UIElement } from "jodit/esm/core/ui/index";
import type { IAIAssistantProOptions, IConversation } from "../../interface/index";
/**
 * Settings popup with global and dialog-specific settings
 */
export declare class UISettingsPopup extends UIElement<IViewBased> {
    private state;
    protected readonly options: {
        allowEditTheme: IAIAssistantProOptions['allowEditTheme'];
        allowEditDisplayMode: IAIAssistantProOptions['allowEditDisplayMode'];
        allowEditPanelWidth: IAIAssistantProOptions['allowEditPanelWidth'];
        allowEditDialogSettings: IAIAssistantProOptions['allowEditDialogSettings'];
        dialogSettings: IAIAssistantProOptions['dialogSettings'];
    };
    private getConversation;
    private updateConversation;
    className(): string;
    private globalSettings;
    private dialogSettings;
    constructor(view: IViewBased, state: {
        theme: IAIAssistantProOptions['theme'];
        displayMode: IAIAssistantProOptions['displayMode'];
        panelWidth: IAIAssistantProOptions['panelWidth'];
        panelHeight: IAIAssistantProOptions['panelWidth'];
        defaultModel: IAIAssistantProOptions['defaultModel'];
        defaultTemperature: IAIAssistantProOptions['defaultTemperature'];
    }, options: {
        allowEditTheme: IAIAssistantProOptions['allowEditTheme'];
        allowEditDisplayMode: IAIAssistantProOptions['allowEditDisplayMode'];
        allowEditPanelWidth: IAIAssistantProOptions['allowEditPanelWidth'];
        allowEditDialogSettings: IAIAssistantProOptions['allowEditDialogSettings'];
        dialogSettings: IAIAssistantProOptions['dialogSettings'];
    }, getConversation: () => IConversation | null, updateConversation: (conv: Partial<IConversation>) => void);
    protected onChangeTheme(): Promise<void>;
    update(): void;
    setParentView(view: IViewBased): this;
    protected render(): string;
    /**
     * Update popup content based on available settings
     */
    private updateContent;
    destruct(): void;
}
