import type { IViewBased } from "jodit/esm/types/index";
import type { IAIAssistantProOptions, IAIAssistantProState, IConversation } from "../../interface/index";
import { UIConversationList } from "../conversation-list/conversation-list";
import { UIInputArea } from "../input-area/input-area";
import { UIMessageList } from "../message-list/message-list";
import { UIWelcomeScreen } from "../welcome-screen/welcome-screen";
import { UIElement } from "jodit/esm/core/ui/index";
export declare class UIMainPanel extends UIElement<IViewBased> {
    private state;
    protected options: IAIAssistantProOptions;
    private updateConversation;
    className(): string;
    welcomeScreen: UIWelcomeScreen;
    conversationList: UIConversationList;
    messageList: UIMessageList;
    inputArea: UIInputArea;
    private permissionRequest;
    private settingsButton;
    private content;
    constructor(view: IViewBased, state: IAIAssistantProState, options: IAIAssistantProOptions, updateConversation: (conv: Partial<IConversation>) => void);
    setParentView(view: IViewBased): this;
    protected render(): string;
    addResize(): void;
    protected afterRender(): void;
    protected __onChangeView(): Promise<void>;
    private createComponents;
    private createHeaderButtons;
    /**
     * Check if current display mode is flight
     */
    private isFlightMode;
    /**
     * Check if settings button should be visible
     * Button is visible if at least one setting is editable
     */
    private shouldShowSettings;
    private __updateView;
    protected onChangeCurrentConversation(): void;
    protected onChangeConversations(): void;
    protected onChangeSelectionContexts(): void;
    protected onChangeLoading(): void;
    protected onChangePendingToolCalls(): void;
    private showPermissionRequest;
    private hidePermissionRequest;
    destruct(): void;
}
