import type { ChatMessage, ProviderId, ToolDefinition } from "../../types.js"; import { type CompactResult, type CompactionSummaryStage } from "../context-manager.js"; export interface AutomaticCompactionExecutionInput { readonly messages: ChatMessage[]; readonly summarize: (prompt: string, stage?: CompactionSummaryStage) => Promise; readonly tools: readonly ToolDefinition[] | undefined; readonly provider: ProviderId; readonly model: string; readonly contextLimitTokens: number | undefined; readonly keepRecent: number; readonly forceDirectSinglePass: boolean; readonly forcePrefixSlice?: boolean | undefined; readonly durableEnvelope: string | undefined; } export declare const executeAutomaticCompaction: (input: AutomaticCompactionExecutionInput) => Promise;