import { GatewayError } from "./types.js"; export declare class GatewayBudgetError extends GatewayError { constructor(); } export interface GatewayBudgetReservation { /** null retains the entire reservation as uncertain spend; settlement is idempotent. */ settle(actualAmount: number | null): void | Promise; /** Only use when no upstream request was dispatched. */ cancel(): void | Promise; } export interface GatewayBudgetStore { reserve(input: { scope: string; currency: string; amount: number; signal?: AbortSignal; }): Promise; } export interface GatewayBudgetSnapshot { spent: number; reserved: number; uncertain: number; remaining: number; } /** Process-local lifetime budgets. Use a new store/scope for a new accounting period. */ export declare const createGatewayBudgetStore: (options: { limit: number; currency: string; maxScopes?: number; }) => GatewayBudgetStore & { snapshot(scope: string): GatewayBudgetSnapshot; }; //# sourceMappingURL=budget.d.ts.map