import type { Message } from '../session/session-jsonl.js'; export type CompactReason = 'run_start' | 'overflow' | 'proactive' | 'manual_compact'; export declare function buildCompactionCheckpointOutline(summary: string | undefined): string[] | undefined; export interface PreCompactContext { sessionKey: string; runId: string; messages: Message[]; reason: CompactReason; } export interface PostCompactContext { sessionKey: string; runId: string; summaryChars: number; droppedMessages: number; reason: CompactReason; success: boolean; checkpointOutline?: string[]; } export type PreCompactHook = (ctx: PreCompactContext) => Promise; export type PostCompactHook = (ctx: PostCompactContext) => Promise; export declare class CompactHookRegistry { private preHooks; private postHooks; registerPre(hook: PreCompactHook): void; registerPost(hook: PostCompactHook): void; runPreHooks(ctx: PreCompactContext): Promise; runPostHooks(ctx: PostCompactContext): Promise; } //# sourceMappingURL=compact-hooks.d.ts.map