export interface GoldenTrace {
    id: string;
    /** Human-readable name, e.g. "fix-dashboard-risk-metric" */
    name: string;
    /** ISO timestamp when this trace was captured */
    capturedAt: string;
    /** The model that produced this trace */
    model: string;
    /** The user message / task that started the run */
    input: string;
    /** The final assistant text output */
    expectedOutput: string;
    /** Tool calls made during the run, in order */
    expectedToolCalls: string[];
    /** Files modified during the run */
    expectedFiles: string[];
    /** Optional tags for filtering */
    tags: string[];
    /** Optional notes about why this is considered golden */
    notes?: string;
    /** Optional custom weights for drift comparison. Defaults: output 0.5, tools 0.3, files 0.2. */
    similarityWeights?: {
        output: number;
        tools: number;
        files: number;
    };
}
export type DriftSeverity = 'none' | 'minor' | 'major' | 'critical';
export interface DriftResult {
    traceId: string;
    traceName: string;
    severity: DriftSeverity;
    /** What changed vs the golden trace */
    diffs: DriftDiff[];
    /** Overall similarity score 0.0–1.0 */
    similarity: number;
}
export interface DriftDiff {
    field: 'output' | 'tool_calls' | 'files';
    expected: string;
    actual: string;
    detail: string;
}
export declare function saveGoldenTrace(projectDir: string, trace: GoldenTrace): Promise<void>;
export declare function loadGoldenTrace(projectDir: string, id: string): Promise<GoldenTrace | undefined>;
export declare function listGoldenTraces(projectDir: string): Promise<GoldenTrace[]>;
export declare function deleteGoldenTrace(projectDir: string, id: string): Promise<boolean>;
export declare function compareWithGolden(trace: GoldenTrace, actual: {
    output: string;
    toolCalls: string[];
    files: string[];
}): DriftResult;
export declare function captureFromRun(name: string, model: string, input: string, output: string, toolCalls: string[], files: string[], opts?: {
    tags?: string[];
    notes?: string;
}): GoldenTrace;
export declare function renderDriftReport(results: DriftResult[]): string;
//# sourceMappingURL=goldenTraces.d.ts.map