import type { AIAttachment } from '../../../types/ai';
export declare const useRAGStream: (path: string, conversationId?: string) => {
    citations: import("vue").ComputedRef<import("../..").RAGCitation[]>;
    hasRetrieved: import("vue").ComputedRef<boolean>;
    hasSources: import("vue").ComputedRef<boolean>;
    isAnswerStreaming: import("vue").ComputedRef<boolean>;
    isComplete: import("vue").ComputedRef<boolean>;
    isRetrieving: import("vue").ComputedRef<boolean>;
    latestAssistantMessage: import("vue").ComputedRef<import("../..").AIMessage | undefined>;
    query: (content: string, attachments?: AIAttachment[]) => void;
    retrieval: import("vue").ComputedRef<import("../..").RAGRetrievedState | null>;
    sourceGroups: import("vue").ComputedRef<import("../..").RAGSourceGroup[]>;
    sources: import("vue").ComputedRef<import("../..").RAGSource[]>;
    stage: import("vue").ComputedRef<import("../..").RAGStreamStage>;
    branch: (messageId: string, content: string) => void;
    cancel: () => void;
    destroy: () => void;
    error: import("vue").Ref<string | null, string | null>;
    isStreaming: import("vue").Ref<boolean, boolean>;
    messages: import("vue").ShallowRef<import("../..").AIMessage[], import("../..").AIMessage[]>;
    send: (content: string, attachments?: AIAttachment[]) => void;
};
export type UseRAGStreamResult = ReturnType<typeof useRAGStream>;
