import { AIAnalystConfig, AIConversation, AIConversationUpdateEvent, AIDataLoadedEvent, AIDataSource, AIErrorEvent, AIQueryExecutedEvent, AITableSchema } from '@smallwebco/tinypivot-core'; export interface UseAIAnalystOptions { config: AIAnalystConfig; onDataLoaded?: (event: AIDataLoadedEvent) => void; onConversationUpdate?: (event: AIConversationUpdateEvent) => void; onQueryExecuted?: (event: AIQueryExecutedEvent) => void; onError?: (event: AIErrorEvent) => void; } export declare function useAIAnalyst(options: UseAIAnalystOptions): { conversation: import('vue').Ref<{ id: string; messages: { id: string; role: "user" | "assistant" | "system"; content: string; timestamp: number; metadata?: { query?: string | undefined; rowCount?: number | undefined; error?: string | undefined; duration?: number | undefined; dataSourceId?: string | undefined; data?: Record[] | undefined; } | undefined; }[]; dataSourceId?: string | undefined; createdAt: number; updatedAt: number; }, AIConversation | { id: string; messages: { id: string; role: "user" | "assistant" | "system"; content: string; timestamp: number; metadata?: { query?: string | undefined; rowCount?: number | undefined; error?: string | undefined; duration?: number | undefined; dataSourceId?: string | undefined; data?: Record[] | undefined; } | undefined; }[]; dataSourceId?: string | undefined; createdAt: number; updatedAt: number; }>; messages: import('vue').ComputedRef<{ id: string; role: "user" | "assistant" | "system"; content: string; timestamp: number; metadata?: { query?: string | undefined; rowCount?: number | undefined; error?: string | undefined; duration?: number | undefined; dataSourceId?: string | undefined; data?: Record[] | undefined; } | undefined; }[]>; hasMessages: import('vue').ComputedRef; schemas: import('vue').Ref & Omit, keyof Map>, Map | (Map & Omit, keyof Map>)>; isLoading: import('vue').Ref; isLoadingTables: import('vue').Ref; error: import('vue').Ref; lastLoadedData: import('vue').Ref[] | null, Record[] | null>; selectedDataSource: import('vue').ComputedRef; selectedDataSourceInfo: import('vue').ComputedRef; /** Available data sources (either from config or auto-discovered) */ dataSources: import('vue').ComputedRef; selectDataSource: (dataSourceId: string) => Promise; sendMessage: (content: string) => Promise; clearConversation: () => void; exportConversation: () => AIConversation; importConversation: (conv: AIConversation) => void; /** Refresh table list from endpoint */ fetchTables: () => Promise; /** Load full data for the currently selected data source */ loadFullData: () => Promise[] | null>; }; //# sourceMappingURL=useAIAnalyst.d.ts.map