import { OrchestratorTrace } from './types';
export interface RecordedTrace {
    id: string;
    timestamp: string;
    query: string;
    traceId: string;
    orchestratorTrace: OrchestratorTrace;
    metadata: {
        totalDurationMs: number;
        totalLLMCalls: number;
        totalToolCalls: number;
        totalFindings: number;
        expertCount: number;
        confidence: number;
    };
}
export interface TraceRecorderConfig {
    outputDir: string;
    enabled: boolean;
    maxTraces?: number;
}
export declare class AgentTraceRecorder {
    private config;
    private traces;
    constructor(config?: Partial<TraceRecorderConfig>);
    private ensureOutputDir;
    record(query: string, traceId: string, orchestratorTrace: OrchestratorTrace, confidence: number): RecordedTrace;
    private saveTrace;
    getTrace(id: string): RecordedTrace | undefined;
    getRecentTraces(limit?: number): RecordedTrace[];
    getStatistics(): {
        totalTraces: number;
        avgDurationMs: number;
        avgConfidence: number;
        avgToolCalls: number;
        avgLLMCalls: number;
    };
    loadTracesFromDisk(): void;
}
export declare function getAgentTraceRecorder(config?: Partial<TraceRecorderConfig>): AgentTraceRecorder;
export declare function resetAgentTraceRecorder(): void;
//# sourceMappingURL=traceRecorder.d.ts.map