import type { ChatMessage } from "../types.js"; export declare const COMPACTION_RETRY_COOLDOWN_MS = 60000; export interface CompactionAttemptKeyInput { readonly messages: readonly ChatMessage[]; readonly provider: string; readonly model: string; readonly dialect: string; readonly triggerTokens: number; readonly schemaHash: string; readonly durableEnvelope?: string | undefined; } export declare function compactionAttemptKey(input: CompactionAttemptKeyInput): string; export declare class CompactionAttemptLedger { private readonly cooldownMs; private readonly now; private readonly failures; constructor(cooldownMs?: number, now?: () => number); isSuppressed(key: string): boolean; recordFailure(key: string): void; recordSuccess(key: string): void; clear(): void; }