type PreemptiveCompactionInput = { sessionID?: string; usage?: { inputTokens?: number; cacheReadTokens?: number; totalTokens?: number; }; context?: { limitTokens?: number; }; tokenUsage?: { input?: number; cacheRead?: number; total?: number; }; contextLimit?: number; }; type PreemptiveCompactionDeps = { threshold?: number; getTokenUsage?: (input: PreemptiveCompactionInput) => { usedTokens: number; contextLimit: number; } | undefined; compactSession?: (sessionID: string, info: { usageRatio: number; usedTokens: number; contextLimit: number; }) => void | Promise; }; export declare function createPreemptiveCompactionHandler(deps?: PreemptiveCompactionDeps): (input: PreemptiveCompactionInput) => Promise; export {};