export interface HarnessMetric { avg_cost_usd: number | null; avg_duration_ms: number | null; samples: number; /** * Auth route the harness's LAST settled attempt actually ran under * (adapter-disclosed route evidence, not a manifest capability guess). * Economy routing may consume settled cost as evidence; no quality prior is * inferred. Null until any attempt disclosed a route. */ last_auth_mode: "local_session" | "api_key" | null; } export type HarnessMetrics = Record; export declare function metricsPath(configDir: string): string; export declare function loadHarnessMetrics(configDir: string): HarnessMetrics; /** * Record one settled attempt (EMA update; atomic tmp+rename write). * `authMode` is route evidence and updates independently of the performance * sample: an auth-only record (no cost/duration) refreshes `last_auth_mode` * WITHOUT counting a sample, so errored attempts can still disclose the route * they burned without earning a flattering latency average. * An explicit null cost means the settled attempt was unpriced and invalidates * the prior cost average; an omitted cost leaves compatible history unchanged. */ export declare function recordHarnessMetric(configDir: string, harnessId: string, sample: { costUsd?: number | null; durationMs?: number | null; authMode?: "local_session" | "api_key" | null; }): void; //# sourceMappingURL=metrics.d.ts.map