/** * Token Budget Enforcement (STORY-008) * * Provides fail-closed enforcement of per-model context window limits. * When total tokens exceed the model's hard limit, a structured error * is thrown instead of silently truncating. */ /** * Structured error thrown when token budget is exceeded. */ export declare class TokenBudgetExceededError extends Error { readonly code: "TOKEN_BUDGET_EXCEEDED"; readonly budget: TokenBudget; constructor(budget: TokenBudget); } /** * Token budget breakdown by category. */ export interface TokenBudget { model: string; limitTokens: number; systemTokens: number; toolsTokens: number; historyTokens: number; totalTokens: number; withinBudget: boolean; } /** * Resolve the context window limit for a given model name. * Matches by prefix: "claude-sonnet-4-6" matches "claude" key. */ export declare function getModelLimit(model: string): number; /** * Calculate token budget breakdown for a prompt. * * @param model - Model name (e.g., "claude-sonnet-4-6") * @param systemPrompt - System prompt text * @param toolsPrompt - Gateway tools prompt text * @param historyText - Conversation history text * @returns Token budget breakdown */ export declare function calculateBudget(model: string, systemPrompt: string, toolsPrompt?: string, historyText?: string): TokenBudget; /** * Enforce token budget. Throws TokenBudgetExceededError if over limit. * * @throws {TokenBudgetExceededError} When total tokens exceed model limit */ export declare function enforceBudget(model: string, systemPrompt: string, toolsPrompt?: string, historyText?: string): TokenBudget; //# sourceMappingURL=token-budget.d.ts.map