/** * Budget-class selection. * * Budget classes define bounded dimensions. Operator ceilings remain * authoritative. Unused budget is not interpreted as failure. A finalization * reserve is mandatory. Escalation requires available reserve. Candidate * scores are normalized for the budget class so comparison avoids rewarding * unlimited budgets. */ import type { BudgetClass } from "./types.js"; export interface BudgetBounds { maxModelCalls: number; maxToolCalls: number; maxSubagents: number; maxRetrievalQueries: number; maxContextTokens: number; maxOutputTokens: number; maxWallTimeMs: number; maxCostUsd: number; finalizationReserveRatio: number; } export declare const BUDGET_CLASSES: Record; export interface BudgetSelectionInput { budgetClass: string; operatorCeiling?: Partial; } export interface BudgetSelectionResult { budgetClass: string; bounds: BudgetBounds; finalizationReserve: Record; operatorCeilingApplied: boolean; } /** * Select budget bounds for a class, intersecting with operator ceilings. * Operator ceilings are authoritative and always win. */ export declare function selectBudget(input: BudgetSelectionInput): BudgetSelectionResult; /** Whether escalation is permitted given budget usage and the mandatory reserve. */ export declare function canEscalate(used: { costUsd?: number; wallTimeMs?: number; modelCalls?: number; }, bounds: BudgetBounds): boolean; //# sourceMappingURL=budget.d.ts.map