import type { AIAttachment } from "@absolutejs/ai";
export declare const useRAGStream: (path?: string, conversationId?: string) => {
    citationReferenceMap: import("@absolutejs/ai").RAGCitationReferenceMap;
    citations: import("@absolutejs/ai").RAGCitation[];
    coverage: "partial" | "grounded" | "ungrounded";
    groundedAnswer: import("@absolutejs/ai").RAGGroundedAnswer;
    groundingReferences: import("@absolutejs/ai").RAGGroundingReference[];
    hasGrounding: boolean;
    hasRetrieved: boolean;
    hasSources: boolean;
    isAnswerStreaming: boolean;
    isComplete: boolean;
    isError: boolean;
    isRetrieved: boolean;
    isRetrieving: boolean;
    isRunning: boolean;
    latestAssistantMessage: import("@absolutejs/ai").AIMessage | undefined;
    progress: {
        conversationId: string | undefined;
        hasContent: boolean;
        hasRetrieved: boolean;
        hasSources: boolean;
        hasThinking: boolean;
        hasToolCalls: boolean;
        isComplete: boolean;
        isError: boolean;
        isIdle: boolean;
        isRetrieved: boolean;
        isRetrieving: boolean;
        isStreaming: boolean;
        isSubmitting: boolean;
        latestMessage: import("@absolutejs/ai").AIMessage | undefined;
        messageId: string | undefined;
        retrievalDurationMs: number | undefined;
        retrievalStartedAt: number | undefined;
        retrievedAt: number | undefined;
        sourceCount: number;
        stage: import("@absolutejs/ai").RAGStreamStage;
    };
    query: (content: string, attachments?: AIAttachment[]) => void;
    retrieval: import("@absolutejs/ai").RAGRetrievedState | null;
    sourceGroups: import("@absolutejs/ai").RAGSourceGroup[];
    sourceSummaries: import("@absolutejs/ai").RAGSourceSummary[];
    sources: import("@absolutejs/ai").RAGSource[];
    stage: import("@absolutejs/ai").RAGStreamStage;
    ungroundedReferenceNumbers: number[];
    workflow: import("@absolutejs/ai").RAGAnswerWorkflowState;
    branch: (messageId: string, content: string) => void;
    cancel: () => void;
    error: string | null;
    isStreaming: boolean;
    messages: import("@absolutejs/ai").AIMessage[];
    send: (content: string, attachments?: AIAttachment[]) => void;
};
export type UseRAGStreamResult = ReturnType<typeof useRAGStream>;
