import type { RAGEvaluationCaseResult, RAGEvaluationInput, RAGEvaluationResponse, RAGEvaluationSuite, RAGEvaluationSuiteRun } from "@absolutejs/ai";
export declare const useRAGEvaluate: (path: string) => {
    clearRuns: () => void;
    error: string | null;
    evaluate: (input: RAGEvaluationInput) => Promise<RAGEvaluationResponse>;
    evaluateStream: (input: RAGEvaluationInput, options?: {
        onCase?: (event: {
            caseIndex: number;
            total: number;
            caseResult: RAGEvaluationCaseResult;
        }) => void;
        signal?: AbortSignal;
    }) => Promise<RAGEvaluationResponse>;
    isEvaluating: boolean;
    lastRequest: RAGEvaluationInput | null;
    lastResponse: RAGEvaluationResponse | null;
    leaderboard: import("@absolutejs/ai").RAGEvaluationLeaderboardEntry[];
    removeSuite: (id: string) => void;
    reset: () => void;
    runSuite: (suite: RAGEvaluationSuite, overrides?: Partial<RAGEvaluationInput>) => Promise<{
        caseTraceSnapshots: import("@absolutejs/ai").RAGEvaluationCaseTraceSnapshot[] | undefined;
        elapsedMs: number;
        finishedAt: number;
        id: `${string}-${string}-${string}-${string}-${string}`;
        label: string;
        metadata: Record<string, unknown> | undefined;
        response: RAGEvaluationResponse;
        startedAt: number;
        suiteId: string;
        traceSummary: import("@absolutejs/ai").RAGRetrievalTraceComparisonSummary | undefined;
    }>;
    saveSuite: (suite: RAGEvaluationSuite) => RAGEvaluationSuite;
    streamProgress: {
        done: number;
        total: number;
    } | null;
    suiteRuns: RAGEvaluationSuiteRun[];
    suites: RAGEvaluationSuite[];
};
export type UseRAGEvaluateResult = ReturnType<typeof useRAGEvaluate>;
