import type { TokenUsage } from "./token-telemetry.js"; export type TokenCompactionSummarizeOptions = { readonly body: { readonly modelID: string; readonly providerID: string; }; readonly path: { readonly id: string; }; readonly query: { readonly directory: string; }; }; export type CompactionMeasurement = { readonly aggregate: TokenUsage; readonly measured: true; readonly ratio: number; } | { readonly aggregate: TokenUsage; readonly measured: false; readonly reason: string; }; export type CompactionAttempt = { readonly afterMeasurement: { readonly measured: false; readonly reason: string; }; readonly beforeMeasurement: CompactionMeasurement; readonly request?: TokenCompactionSummarizeOptions; readonly reason?: string; readonly status: "failed" | "skipped" | "triggered"; readonly timestamp: string; }; export declare function writeCompactionAttempt(evidenceDir: string, sessionID: string, attempt: CompactionAttempt): string; export declare function compactionEvidenceCooldownUntil(evidenceDir: string, sessionID: string, cooldownMs: number): number;