import type { IConversation, IConversationMeta } from "./conversations";
import type { IAIAssistantProOptions } from "./options";
import type { ISelectionContext } from "./requests";
import type { IToolCall } from "./tools";
import type { AIAssistantView } from "./types";
/**
 * Internal state for AI Assistant Pro
 */
export interface IAIAssistantProState {
    /** Whether panel/dialog is currently open */
    isOpen: boolean;
    /** Current UI view */
    currentView: AIAssistantView;
    /** Current active conversation */
    currentConversation: IConversation | null;
    /** List of all conversations (for list view) */
    conversations: IConversationMeta[];
    /** Whether a request is in progress */
    isLoading: boolean;
    /** Current error message, if any */
    error: string | null;
    /** Pending tool calls awaiting permission */
    pendingToolCalls: IToolCall[];
    /** Current selection contexts */
    selectionContexts: ISelectionContext[];
    /** Current abort controller for ongoing request */
    abortController: AbortController | null;
    /** ID of message being edited, if any */
    editingMessageId: string | null;
    theme: IAIAssistantProOptions['theme'];
    displayMode: IAIAssistantProOptions['displayMode'];
    panelWidth: IAIAssistantProOptions['panelWidth'];
    panelHeight: IAIAssistantProOptions['panelHeight'];
    defaultModel: IAIAssistantProOptions['defaultModel'];
    defaultTemperature: IAIAssistantProOptions['defaultTemperature'];
}
