export type CreateRAGOptions = {
    autoLoadStatus?: boolean;
    conversationId?: string;
    streamPath?: string;
};
export declare const createRAG: (path: string, options?: CreateRAGOptions) => {
    chunkPreview: {
        clear: () => void;
        error: import("svelte/store").Writable<string | null>;
        inspect: (id: string) => Promise<{
            ok: true;
        } & import("../..").RAGDocumentChunkPreview>;
        isLoading: import("svelte/store").Writable<boolean>;
        preview: import("svelte/store").Writable<import("../..").RAGDocumentChunkPreview | null>;
    };
    citations: {
        citations: import("svelte/store").Readable<import("../..").RAGCitation[]>;
        hasCitations: import("svelte/store").Readable<boolean>;
        sourceGroups: import("svelte/store").Readable<import("../..").RAGSourceGroup[]>;
    };
    documents: {
        documents: import("svelte/store").Writable<import("../..").RAGIndexedDocument[]>;
        error: import("svelte/store").Writable<string | null>;
        isLoading: import("svelte/store").Writable<boolean>;
        lastResponse: import("svelte/store").Writable<import("../..").RAGDocumentsResponse | null>;
        load: (kind?: string) => Promise<import("../..").RAGDocumentsResponse>;
        reset: () => void;
    };
    index: {
        backends: import("svelte/store").Writable<import("../..").RAGBackendsResponse | null>;
        clearIndex: () => Promise<{
            ok: boolean;
        }>;
        createDocument: (input: {
            id?: string;
            title?: string;
            source?: string;
            text: string;
            format?: import("../..").RAGContentFormat;
            metadata?: Record<string, unknown>;
            chunking?: {
                maxChunkLength?: number;
                chunkOverlap?: number;
                minChunkLength?: number;
                strategy?: import("../..").RAGChunkingStrategy;
            };
        }) => Promise<import("../..").RAGMutationResponse>;
        deleteDocument: (id: string) => Promise<import("../..").RAGMutationResponse>;
        error: import("svelte/store").Writable<string | null>;
        isLoading: import("svelte/store").Writable<boolean>;
        lastMutation: import("svelte/store").Writable<import("../..").RAGMutationResponse | null>;
        loadBackends: () => Promise<import("../..").RAGBackendsResponse>;
        reseed: () => Promise<import("../..").RAGMutationResponse>;
        reset: () => Promise<import("../..").RAGMutationResponse>;
        resetState: () => void;
    };
    ingest: {
        clearIndex: () => Promise<{
            ok: boolean;
        }>;
        error: import("svelte/store").Writable<string | null>;
        ingest: (chunks: import("../..").RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
        ingestChunks: (chunks: import("../..").RAGDocumentChunk[]) => Promise<import("../..").RAGIngestResponse>;
        ingestDocuments: (input: import("../..").RAGDocumentIngestInput) => Promise<import("../..").RAGIngestResponse>;
        isIngesting: import("svelte/store").Writable<boolean>;
        lastDocumentCount: import("svelte/store").Writable<number | null>;
        lastIngestCount: import("svelte/store").Writable<number | null>;
        lastResponse: import("svelte/store").Writable<import("../..").RAGIngestResponse | null>;
        reset: () => void;
    };
    search: {
        error: import("svelte/store").Writable<string | null>;
        hasSearched: import("svelte/store").Writable<boolean>;
        isSearching: import("svelte/store").Writable<boolean>;
        lastRequest: import("svelte/store").Writable<import("../..").RAGSearchRequest | null>;
        reset: () => void;
        results: import("svelte/store").Writable<import("../..").RAGSource[]>;
        search: (input: import("../..").RAGSearchRequest) => Promise<import("../..").RAGSource[]>;
    };
    sources: {
        hasSources: import("svelte/store").Readable<boolean>;
        latestAssistantMessage: import("svelte/store").Readable<import("../..").AIMessage | undefined>;
        sourceGroups: import("svelte/store").Readable<import("../..").RAGSourceGroup[]>;
        sources: import("svelte/store").Readable<import("../..").RAGSource[]>;
    };
    status: {
        capabilities: import("svelte/store").Writable<import("../..").RAGBackendCapabilities | undefined>;
        error: import("svelte/store").Writable<string | null>;
        isLoading: import("svelte/store").Writable<boolean>;
        refresh: () => Promise<import("../..").RAGStatusResponse>;
        reset: () => void;
        status: import("svelte/store").Writable<import("../..").RAGVectorStoreStatus | undefined>;
    };
    stream: {
        citations: import("svelte/store").Readable<import("../..").RAGCitation[]>;
        error: import("svelte/store").Readable<string | null>;
        hasRetrieved: import("svelte/store").Readable<boolean>;
        hasSources: import("svelte/store").Readable<boolean>;
        isAnswerStreaming: import("svelte/store").Readable<boolean>;
        isComplete: import("svelte/store").Readable<boolean>;
        isRetrieving: import("svelte/store").Readable<boolean>;
        isStreaming: import("svelte/store").Readable<boolean>;
        latestAssistantMessage: import("svelte/store").Readable<import("../..").AIMessage | undefined>;
        messages: import("svelte/store").Readable<import("../..").AIMessage[]>;
        query: (content: string, attachments?: import("../..").AIAttachment[]) => void;
        retrieval: import("svelte/store").Readable<import("../..").RAGRetrievedState | null>;
        sourceGroups: import("svelte/store").Readable<import("../..").RAGSourceGroup[]>;
        sources: import("svelte/store").Readable<import("../..").RAGSource[]>;
        stage: import("svelte/store").Readable<import("../..").RAGStreamStage>;
        branch: (messageId: string, content: string) => void;
        cancel: () => void;
        destroy: () => void;
        send: (content: string, attachments?: import("../..").AIAttachment[]) => void;
        subscribe(callback: () => void): () => void;
    };
};
export type CreateRAGResult = ReturnType<typeof createRAG>;
