import type { EvoPaths } from "../paths.ts"; import type { ModelRunResult } from "./model-runner.ts"; declare const MODEL_USAGE_PHASES: readonly ["reflector", "research-plan", "builder", "evaluator", "adversarial-review", "report", "critic", "replay-old", "replay-candidate", "permit", "retrospective", "triage"]; export type ModelUsagePhase = (typeof MODEL_USAGE_PHASES)[number]; export interface ModelUsageTokens { input: number; output: number; cacheRead: number; cacheWrite: number; total: number; } export interface ModelUsageRecord { schemaVersion: 1; timestamp: string; phase: ModelUsagePhase; model: { provider: string; id: string; }; sessionId: string; tokens: ModelUsageTokens; cost: number; } export interface ModelUsageTotals { runs: number; tokens: ModelUsageTokens; cost: number; } export interface ModelUsageSummary extends ModelUsageTotals { since: string; until: string; byPhase: Partial>; } export interface RecordModelUsageOptions { now?: () => Date; } export interface SummarizeModelUsageOptions { since: Date; until?: Date; } export declare function readModelUsageRecords(paths: EvoPaths): Promise; export declare function recordModelUsage(paths: EvoPaths, phase: ModelUsagePhase, run: ModelRunResult, options?: RecordModelUsageOptions): Promise; export declare function summarizeModelUsage(paths: EvoPaths, options: SummarizeModelUsageOptions): Promise; export declare function renderModelUsageSummary(summary: ModelUsageSummary): string; export {}; //# sourceMappingURL=usage.d.ts.map