import type { ChatMessage } from "../types.js"; import { estimateImageTokens, estimateMessagesTokens, estimateTextTokens as estimateTokens } from "./request-accounting.js"; import { CompactOptions, MECHANICAL_MEMORY_PREFIX, isCompactionMemoryMessage } from "./context/compact-with-summary.js"; export { COMPACTION_MEMORY_PREFIX, PLAN_IMPLEMENT_MEMORY_PREFIX, POST_COMPACT_SOFT_UPPER_BAND_TOKENS, compactMessagesWithSummary, compactionMemoryPrefixForPurpose } from "./context/compact-with-summary.js"; export { MECHANICAL_MEMORY_PREFIX, isCompactionMemoryMessage }; export type { CompactOptions, CompactResult, CompactionStrategy, CompactionSummaryStage } from "./context/compact-with-summary.js"; export { estimateImageTokens, estimateMessagesTokens, estimateTokens }; export { DEFAULT_AUTO_COMPACT_REQUEST_TOKENS as AUTO_COMPACT_TOKEN_BUDGET } from "../store/config/compaction.js"; export declare const POST_COMPACT_SOFT_GUIDANCE_TOKENS = 16000; export declare const AUTO_COMPACT_STUB_MIN_CHARS = 120; export declare const AUTO_COMPACT_STUB_BEFORE_TOKENS = 20000; export declare function compactMessages(messages: ChatMessage[], options?: CompactOptions): ChatMessage[]; export declare function shouldApplyAutoCompact(input: { summarized: boolean; summaryBody: string; beforeTokens: number; afterTokens: number; afterMessages: readonly ChatMessage[]; }): boolean;