import type { ContextMode, ContextBudgetPlan } from './ContextBudgetPolicy.js'; export type ContextSlot = 'system_policy' | 'user_request' | 'must_keep' | 'conversation_summary' | 'retrieval_evidence'; export interface ContextBlock { id: string; slot: ContextSlot; text: string; tokens: number; score?: number; timestamp?: string; duplicateKey?: string; required?: boolean; compressed?: boolean; } export interface PackContextInput { windowTokens: number; mode?: ContextMode; blocks: ContextBlock[]; confidenceThreshold?: number; } export interface PackedContextResult { plan: ContextBudgetPlan; selected: ContextBlock[]; dropped: ContextBlock[]; usedInputTokens: number; slotUsage: Record; overflowHandled: boolean; recallConfidence: number; shouldAskClarification: boolean; } export declare function packContext(input: PackContextInput): PackedContextResult;