import "./config";
import type { IAIAssistantProState } from "./interface/index";
import { Plugin } from "jodit/esm/core/plugin/index";
export declare class aiAssistantPro extends Plugin {
    static requires: string[];
    buttons: {
        name: string;
        group: string;
    }[];
    get state(): IAIAssistantProState;
    private get toolRegistry();
    private get permissionManager();
    private get apiClient();
    private get storage();
    private get stateManager();
    private get mainPanel();
    /**
     * Get or create dialog
     */
    private get dialog();
    protected afterInit(): void;
    private __initedPromise;
    private __loadData;
    /**
     * Load initial data (conversations list)
     */
    private loadInitialData;
    /**
     * Setup event listeners
     */
    private setupEventListeners;
    /**
     * Apply theme to assistant UI
     */
    private __applyTheme;
    /**
     * Open AI Assistant
     */
    protected openAssistant(): Promise<void>;
    private __openInContainer;
    protected __onResizeInPanelView(): void;
    private __openedMode;
    private __closeInContainer;
    /**
     * Close flight mode and remove container
     */
    private __closeFlightMode;
    protected __onSavedStateChange(): Promise<void>;
    /**
     * Close AI Assistant
     */
    protected closeAssistant(): Promise<void>;
    /**
     * Add current selection to context
     */
    protected addCurrentSelectionToContext(): Promise<void>;
    /**
     * Execute quick command
     */
    protected executeQuickCommand(commandKey: string): Promise<void>;
    /**
     * Execute quick command in silent mode (without opening panel)
     */
    private __executeQuickCommandSilent;
    /**
     * Execute quick command by opening panel
     */
    private __executeQuickCommandWithPanel;
    /**
     * Send message to AI
     */
    sendMessage(content: string): Promise<void>;
    /**
     * Send request to AI without adding user message
     * Used for tool execution results and follow-up requests
     * @param depth - Current recursion depth for tool call chain
     */
    private sendRequestToAI;
    /**
     * Delete conversation
     */
    deleteConversation(conversationId: string): Promise<void>;
    /**
     * Search conversations
     */
    protected searchConversations(query: string): Promise<void>;
    /**
     * Handle tool calls from AI
     */
    private handleToolCalls;
    /**
     * Execute a tool call
     */
    private executeToolCall;
    /**
     * Copy message content to clipboard
     */
    protected copyMessage(messageId: string): Promise<void>;
    /**
     * Restart conversation from specific message
     */
    protected restartFromMessage(messageId: string): Promise<void>;
    /**
     * Edit message - opens message in input field for editing
     */
    protected editMessage(messageId: string): Promise<void>;
    /**
     * Cancel editing message
     */
    protected cancelEditMessage(): void;
    /**
     * Delete specific message
     */
    protected deleteMessage(messageId: string): Promise<void>;
    protected beforeDestruct(): void;
}
