export interface BudgetConfig { maxTokens: number; maxTurns: number; warnAtPercent: number; /** Cost per input token in USD (update when Anthropic changes pricing) */ costPerInputToken: number; /** Cost per output token in USD (update when Anthropic changes pricing) */ costPerOutputToken: number; } export interface BudgetCheck { ok: boolean; reason?: string; tokensPercent: number; turnsPercent: number; warning: boolean; /** True when budget is exhausted — signals the caller to perform a graceful save */ exhausted: boolean; } export interface BudgetSnapshot { totalTokens: number; inputTokens: number; outputTokens: number; turns: number; maxTokens: number; maxTurns: number; startedAt: number; elapsedMs: number; /** Estimated cost in USD based on configured token pricing */ estimatedCostUSD: number; } export declare class SessionBudget { private config; private totalInput; private totalOutput; private turnCount; private startedAt; private enabled; constructor(config?: Partial, enabled?: boolean); record(inputTokens: number, outputTokens: number): void; restore(inputTokens: number, outputTokens: number, turns: number): void; check(): BudgetCheck; status(): BudgetSnapshot; isEnabled(): boolean; formatBar(width?: number): string; formatWarning(): string | null; formatSessionSummary(): string; } //# sourceMappingURL=budget.d.ts.map