import type { RAGSearchRequest, RAGSource } from "@absolutejs/ai";
import type { RAGDetailedSearchResponse } from "../../types/client";
type SearchRequest = Omit<RAGSearchRequest, "includeTrace">;
export declare const useRAGSearch: (path: string) => {
    error: import("vue").Ref<string | null, string | null>;
    hasSearched: import("vue").Ref<boolean, boolean>;
    isSearching: import("vue").Ref<boolean, boolean>;
    lastRequest: import("vue").Ref<{
        query: string;
        nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
        nativeCandidateLimit?: number | undefined;
        nativeMaxBackfills?: number | undefined;
        nativeMinResults?: number | undefined;
        nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
        filter?: Record<string, unknown> | undefined;
        queryTransform?: import("@absolutejs/ai").RAGQueryTransformer | {
            transform: import("@absolutejs/ai").RAGQueryTransformer;
            defaultModel?: string | undefined;
            providerName?: string | undefined;
        } | undefined;
        candidateTopK?: number | undefined;
        topK?: number | undefined;
        scoreThreshold?: number | undefined;
        retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
            mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
            lexicalTopK?: number | undefined;
            maxResultsPerSource?: number | undefined;
            sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
            diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
            mmrLambda?: number | undefined;
            fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
            fusionConstant?: number | undefined;
            lexicalWeight?: number | undefined;
            vectorWeight?: number | undefined;
            nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
            nativeCandidateLimit?: number | undefined;
            nativeMaxBackfills?: number | undefined;
            nativeMinResults?: number | undefined;
            nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
        } | undefined;
        model?: string | undefined;
        nativeQueryMultiplier?: number | undefined;
        retrievalStrategy?: import("@absolutejs/ai").RAGRetrievalStrategySelector | {
            select: import("@absolutejs/ai").RAGRetrievalStrategySelector;
            providerName?: string | undefined;
            defaultLabel?: string | undefined;
        } | undefined;
        includeTrace?: boolean | undefined;
        persistTrace?: boolean | undefined;
        traceGroupKey?: string | undefined;
        traceTags?: string[] | undefined;
    } | null, RAGSearchRequest | {
        query: string;
        nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
        nativeCandidateLimit?: number | undefined;
        nativeMaxBackfills?: number | undefined;
        nativeMinResults?: number | undefined;
        nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
        filter?: Record<string, unknown> | undefined;
        queryTransform?: import("@absolutejs/ai").RAGQueryTransformer | {
            transform: import("@absolutejs/ai").RAGQueryTransformer;
            defaultModel?: string | undefined;
            providerName?: string | undefined;
        } | undefined;
        candidateTopK?: number | undefined;
        topK?: number | undefined;
        scoreThreshold?: number | undefined;
        retrieval?: import("@absolutejs/ai").RAGHybridRetrievalMode | {
            mode?: import("@absolutejs/ai").RAGHybridRetrievalMode | undefined;
            lexicalTopK?: number | undefined;
            maxResultsPerSource?: number | undefined;
            sourceBalanceStrategy?: import("@absolutejs/ai").RAGSourceBalanceStrategy | undefined;
            diversityStrategy?: import("@absolutejs/ai").RAGDiversityStrategy | undefined;
            mmrLambda?: number | undefined;
            fusion?: import("@absolutejs/ai").RAGHybridFusionMode | undefined;
            fusionConstant?: number | undefined;
            lexicalWeight?: number | undefined;
            vectorWeight?: number | undefined;
            nativeQueryProfile?: import("@absolutejs/ai").RAGNativeQueryProfile | undefined;
            nativeCandidateLimit?: number | undefined;
            nativeMaxBackfills?: number | undefined;
            nativeMinResults?: number | undefined;
            nativeFillPolicy?: "strict_topk" | "satisfy_min_results" | undefined;
        } | undefined;
        model?: string | undefined;
        nativeQueryMultiplier?: number | undefined;
        retrievalStrategy?: import("@absolutejs/ai").RAGRetrievalStrategySelector | {
            select: import("@absolutejs/ai").RAGRetrievalStrategySelector;
            providerName?: string | undefined;
            defaultLabel?: string | undefined;
        } | undefined;
        includeTrace?: boolean | undefined;
        persistTrace?: boolean | undefined;
        traceGroupKey?: string | undefined;
        traceTags?: string[] | undefined;
    } | null>;
    reset: () => void;
    results: import("vue").Ref<{
        chunkId: string;
        corpusKey?: string | undefined;
        score: number;
        text: string;
        title?: string | undefined;
        source?: string | undefined;
        metadata?: Record<string, unknown> | undefined;
        labels?: {
            contextLabel?: string | undefined;
            locatorLabel?: string | undefined;
            provenanceLabel?: string | undefined;
        } | undefined;
        structure?: {
            section?: {
                title?: string | undefined;
                path?: string[] | undefined;
                depth?: number | undefined;
                kind?: "markdown_heading" | "html_heading" | "office_heading" | "office_block" | "pdf_block" | "spreadsheet_rows" | "presentation_slide" | undefined;
            } | undefined;
            sequence?: {
                sectionChunkId?: string | undefined;
                sectionChunkIndex?: number | undefined;
                sectionChunkCount?: number | undefined;
                previousChunkId?: string | undefined;
                nextChunkId?: string | undefined;
            } | undefined;
        } | undefined;
    }[], RAGSource[] | {
        chunkId: string;
        corpusKey?: string | undefined;
        score: number;
        text: string;
        title?: string | undefined;
        source?: string | undefined;
        metadata?: Record<string, unknown> | undefined;
        labels?: {
            contextLabel?: string | undefined;
            locatorLabel?: string | undefined;
            provenanceLabel?: string | undefined;
        } | undefined;
        structure?: {
            section?: {
                title?: string | undefined;
                path?: string[] | undefined;
                depth?: number | undefined;
                kind?: "markdown_heading" | "html_heading" | "office_heading" | "office_block" | "pdf_block" | "spreadsheet_rows" | "presentation_slide" | undefined;
            } | undefined;
            sequence?: {
                sectionChunkId?: string | undefined;
                sectionChunkIndex?: number | undefined;
                sectionChunkCount?: number | undefined;
                previousChunkId?: string | undefined;
                nextChunkId?: string | undefined;
            } | undefined;
        } | undefined;
    }[]>;
    search: (input: SearchRequest) => Promise<RAGSource[]>;
    searchWithTrace: (input: SearchRequest) => Promise<RAGDetailedSearchResponse>;
    trace: import("vue").Ref<import("@absolutejs/ai").RAGRetrievalTrace | undefined, import("@absolutejs/ai").RAGRetrievalTrace | undefined>;
};
export {};
