export type UseRAGOptions = {
    autoLoadStatus?: boolean;
    conversationId?: string;
    streamPath?: string;
};
export declare const useRAG: (path: string, options?: UseRAGOptions) => {
    citations: {
        citations: import("../..").RAGCitation[];
        hasCitations: boolean;
        sourceGroups: import("../..").RAGSourceGroup[];
    };
    ingest: {
        clearIndex: () => Promise<void>;
        error: string | null;
        ingest: (chunks: import("../..").RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
        ingestChunks: (chunks: import("../..").RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
        ingestDocuments: (input: import("../..").RAGDocumentIngestInput) => Promise<import("../..").RAGIngestResponse>;
        isIngesting: boolean;
        lastDocumentCount: number | null;
        lastIngestCount: number | null;
        lastResponse: import("../..").RAGIngestResponse | null;
        reset: () => void;
    };
    search: {
        error: string | null;
        hasSearched: boolean;
        isSearching: boolean;
        lastRequest: import("../..").RAGSearchRequest | null;
        reset: () => void;
        results: import("../..").RAGSource[];
        search: (input: import("../..").RAGSearchRequest) => Promise<import("../..").RAGSource[]>;
        setResults: import("react").Dispatch<import("react").SetStateAction<import("../..").RAGSource[]>>;
    };
    sources: {
        hasSources: boolean;
        latestAssistantMessage: import("../..").AIMessage | undefined;
        sourceGroups: import("../..").RAGSourceGroup[];
        sources: import("../..").RAGSource[];
    };
    status: {
        capabilities: import("../..").RAGBackendCapabilities | undefined;
        error: string | null;
        isLoading: boolean;
        refresh: () => Promise<import("../..").RAGStatusResponse>;
        reset: () => void;
        status: import("../..").RAGVectorStoreStatus | undefined;
    };
    stream: {
        citations: import("../..").RAGCitation[];
        hasSources: boolean;
        latestAssistantMessage: import("../..").AIMessage | undefined;
        query: (content: string, attachments?: import("../..").AIAttachment[]) => void;
        sourceGroups: import("../..").RAGSourceGroup[];
        sources: import("../..").RAGSource[];
        stage: import("../..").RAGStreamStage;
        branch: (messageId: string, content: string) => void;
        cancel: () => void;
        error: string | null;
        isStreaming: boolean;
        messages: import("../..").AIMessage[];
        send: (content: string, attachments?: import("../..").AIAttachment[]) => void;
    };
};
export type UseRAGResult = ReturnType<typeof useRAG>;
