type EvidenceAbOptions = { readonly projectDir?: string; }; type TokenAggregate = { readonly cacheRead: number | null; readonly cacheWrite: number | null; readonly input: number | null; readonly output: number | null; readonly reasoning: number | null; readonly total: number | null; }; type ClosureRunReport = { readonly closureBlockerDelta: number | null; readonly closureBlockersAfter: number | null; readonly closureBlockersBefore: number | null; readonly continuationApplied: boolean | null; readonly earlyCompletionBlocked: boolean | null; readonly finishStatusAfter: "blocked" | "fail" | "pass" | "unknown" | null; readonly finishStatusBefore: "blocked" | "fail" | "pass" | "unknown" | null; readonly retryCapHit: boolean | null; readonly runawayRetries: number | null; }; type AbRunReport = { readonly blockedInvalidCompletion: boolean | null; readonly closure: ClosureRunReport; readonly elapsedMs: number | null; readonly finishStatus: "blocked" | "fail" | "pass" | "unknown"; readonly id: string; readonly mcpCalls: number | null; readonly outcome: string; readonly providerTokens: TokenAggregate; readonly readChars: number | null; readonly toolCalls: number | null; }; type AbConditionReport = { readonly blockedInvalidCompletion: number; readonly closure: { readonly continuationApplied: number; readonly earlyCompletionBlocked: number; readonly finishAfter: { readonly blocked: number; readonly fail: number; readonly pass: number; readonly unavailable: number; readonly unknown: number; }; readonly finishBefore: { readonly blocked: number; readonly fail: number; readonly pass: number; readonly unavailable: number; readonly unknown: number; }; readonly metrics: { readonly blockerDelta: NumberMetric; readonly blockersAfter: NumberMetric; readonly blockersBefore: NumberMetric; readonly runawayRetries: NumberMetric; }; readonly retryCapHit: number; }; readonly finish: { readonly blocked: number; readonly fail: number; readonly pass: number; readonly unknown: number; }; readonly id: string; readonly label: string; readonly metrics: { readonly elapsedMs: NumberMetric; readonly mcpCalls: NumberMetric; readonly providerTokenTotal: NumberMetric; readonly readChars: NumberMetric; readonly toolCalls: NumberMetric; }; readonly runs: readonly AbRunReport[]; }; type NumberMetric = { readonly average: number | null; readonly samples: number; readonly total: number | null; readonly unavailable: number; }; type SurfaceDefaultState = "default" | "off" | "opt-in" | "unknown"; type AbSurfaceReport = { readonly defaultState: SurfaceDefaultState; readonly id: string; readonly label: string; }; type AbScenarioReport = { readonly conditions: readonly AbConditionReport[]; readonly files: readonly string[]; readonly id: string; readonly label: string; readonly sources: readonly string[]; readonly surface: AbSurfaceReport; }; export type EvidenceAbReport = { readonly evidenceDir: string; readonly filesScanned: number; readonly limitations: readonly string[]; readonly projectDir: string; readonly scenarios: readonly AbScenarioReport[]; readonly schemaVersion: "evidence-ab-report.1"; readonly unreadableFiles: readonly string[]; }; export declare function readEvidenceAbReport(options?: EvidenceAbOptions): EvidenceAbReport; export declare function formatEvidenceAbReport(report: EvidenceAbReport): string; export {};