import type { ChatActor, ChatMessage, ChatScope, ChatThread } from "./types/chat.js"; import type { ModelMessage } from "./types/model-config.js"; export declare const DEFAULT_CHAT_CONTEXT_TOKEN_BUDGET = 4096; export declare const DEFAULT_CHAT_CONTEXT_THRESHOLD_RATIO = 0.8; export declare const DEFAULT_CHAT_CONTEXT_RECENT_MESSAGES = 6; export declare const DEFAULT_CHAT_CONTEXT_SUMMARY_CHARS = 1200; export interface ChatContextAssemblyInput { scope: ChatScope; thread: ChatThread; messages: ChatMessage[]; requestId: string; actor: ChatActor; tokenBudget?: number; thresholdTokens?: number; recentMessageCount?: number; maxSummaryChars?: number; } export interface ChatContextCompactionMeta { estimatedTokens: number; tokenBudget: number; thresholdTokens: number; compacted: boolean; omittedMessageCount: number; retainedMessageIds: string[]; marker?: string; } export interface ChatContextAssembly { providerMessages: ModelMessage[]; meta: ChatContextCompactionMeta; } export declare function assembleChatContext(input: ChatContextAssemblyInput): ChatContextAssembly; export declare function estimateModelMessages(messages: ModelMessage[]): number;