export type CompactionEventKind = "monitor_eval" | "precompact" | "reinject" | "compaction_result" | string; export interface CompactionTelemetryEvent { type: CompactionEventKind; timestamp?: string; sessionId?: string; workflowRunId?: string; host?: string; phase?: string; trigger?: string; contextTokens?: number; effectiveWindow?: number; configuredWindow?: number; runtimeContextWindow?: number; reserve?: number; windowSource?: string; occupancy?: number; staleFrac?: number; signals?: string[]; estReclaim?: number; estReclaimFloor?: number; estReclaimInventory?: number; estReclaimSource?: string; cacheReadTokens?: number; cacheWriteTokens?: number; cacheReadPct?: number; cacheHot?: boolean; recommended?: boolean; suppressedByCooldown?: boolean; suppressedByCacheHot?: boolean; beforeTokens?: number; afterTokens?: number; currentTokens?: number; digestTokens?: number; compactor?: string; compactionPolicy?: string; compactionPolicyReason?: string; compactionCacheValue?: string; compactionKeepRecentTokens?: number; error?: string; source?: string; rawType?: string; } export interface CompactionEventsReadOptions { filePath?: string; since?: Date; until?: Date; sessionId?: string; workflowRunId?: string; limit?: number; maxBytes?: number; } export interface CompactionEventSummary { total: number; byType: Record; recommended: number; suppressedByCooldown: number; suppressedByCacheHot: number; cacheHot: number; maxOccupancy?: number; maxContextTokens?: number; maxEstReclaim?: number; overEffectiveWindow: number; recent: CompactionTelemetryEvent[]; } export declare const DEFAULT_AUTOCOMPACTOR_EVENTS_PATH: string; type Listener = (event: CompactionTelemetryEvent) => void; export declare function onCompactionTelemetry(listener: Listener): () => void; export declare function emitCompactionTelemetry(raw: unknown, source?: string): CompactionTelemetryEvent | null; export declare function normalizeCompactionEvent(raw: unknown, source?: string): CompactionTelemetryEvent | null; export declare function readCompactionEvents(options?: CompactionEventsReadOptions): CompactionTelemetryEvent[]; export declare function summarizeCompactionEvents(events: CompactionTelemetryEvent[], recentLimit?: number): CompactionEventSummary; export interface CompactionEventTail { read(): CompactionTelemetryEvent[]; } export declare function createCompactionEventTail(options?: { filePath?: string; startAtEnd?: boolean; }): CompactionEventTail; export {};