export interface EvalEntry {
    task: string;
    timestamp: string;
    selectedFiles: string[];
    modifiedFiles: string[];
    selectedFileCount: number;
    modifiedFileCount: number;
    matchedSelectedFiles: string[];
    matchedModuleGroups: string[];
    success: boolean;
    tokenSource: "measured" | "estimated" | "mixed" | "none";
    tokenCount: number;
    contextPrecision: number;
    retried: boolean;
    notes: string[];
}
export interface EvalState {
    artifactType: "kiwi-control/eval-log";
    version: 1;
    entries: EvalEntry[];
    totalRuns: number;
    successRate: number;
    retryRate: number;
    averageContextPrecision: number;
    averageTokenCount: number;
}
export interface EvalSummary {
    totalRuns: number;
    successRate: number;
    retryRate: number;
    averageContextPrecision: number;
    averageTokenCount: number;
    recentEntries: EvalEntry[];
}
export declare function loadEvalState(targetRoot: string): Promise<EvalState>;
export declare function recordEvalEntry(targetRoot: string, entry: Omit<EvalEntry, "timestamp" | "selectedFileCount" | "modifiedFileCount" | "matchedSelectedFiles" | "matchedModuleGroups" | "contextPrecision">): Promise<EvalState>;
export declare function persistEvalState(targetRoot: string, state: EvalState): Promise<string>;
export declare function summarizeEval(targetRoot: string): Promise<EvalSummary>;
//# sourceMappingURL=eval.d.ts.map