import { default as React } from 'react';
import { AIConfig, ChatMessage, ChatContext, ChatSession } from '../../lib/ai/types';
interface AIContextValue {
    config: AIConfig | null;
    isConfigured: boolean;
    isLoading: boolean;
    error: string | null;
    currentSession: ChatSession | null;
    messages: ChatMessage[];
    selectedText: string;
    setSelectedText: (text: string) => void;
    isDialogOpen: boolean;
    openDialog: (context?: ChatContext) => void;
    closeDialog: () => void;
    isSettingsOpen: boolean;
    openSettings: () => void;
    closeSettings: () => void;
    sendMessage: (content: string) => Promise<void>;
    regenerateLast: () => Promise<void>;
    clearHistory: () => void;
    updateConfig: (config: Partial<AIConfig>) => Promise<void>;
    switchProvider: (provider: AIConfig['provider']) => Promise<void>;
    stopGeneration: () => void;
    editMessage: (messageId: string, newContent: string) => void;
    deleteMessage: (messageId: string) => void;
}
interface AIProviderProps {
    children: React.ReactNode;
}
export declare function AIProvider({ children }: AIProviderProps): import("react/jsx-runtime").JSX.Element;
export declare function useAI(): AIContextValue;
export {};
//# sourceMappingURL=AIProvider.d.ts.map