export interface Turn { index: number; bytes: string; } export interface TrimConfig { /** Keep the most recent N turns untouched. */ recentFloor: number; } export interface TrimResult { kept: Turn[]; summary: Turn; droppedCount: number; } /** Deterministic summary bytes derived from dropped turns. */ export declare function summarize(dropped: Turn[]): string; /** Middle-drop: keep [0..pivot] as a placeholder floor and [tail - recentFloor..tail]; * drop the middle span and replace with a stable summary. */ export declare function trimMiddle(turns: Turn[], config: TrimConfig): TrimResult; export interface KeepaliveConfig { intervalMs: number; retention: "long" | "short" | "none"; enabled: boolean; } export declare class KeepaliveScheduler { private lastPingMs; private lastActivityMs; tick(now: number, config: KeepaliveConfig): "ping" | "shutoff" | "skip"; markActivity(now: number): void; } //# sourceMappingURL=compaction.d.ts.map