/** * Shared budget bookkeeping for drivers that consume external resources * (model calls, USD). Independent of the legacy `advisor/budget.ts` so * the driver layer has no implicit ordering dependency on advisor wiring. */ export interface DriverBudgetOptions { /** Hard cap on provider calls in total. Undefined = unlimited. */ maxCalls?: number; /** Hard cap on provider calls per page. Undefined = unlimited. */ maxCallsPerPage?: number; /** Cumulative USD cap. Undefined = unlimited. */ maxUsd?: number; } export declare class DriverBudget { private readonly opts; private totalCalls; private pageCalls; private usdSpent; constructor(opts?: DriverBudgetOptions); /** Returns true if a call is still affordable for this url. */ canCall(url: string): boolean; recordCall(url: string): void; recordUsd(amount: number): void; resetPage(url: string): void; callsThisCrawl(): number; callsThisPage(url: string): number; totalUsd(): number; remainingCalls(): number | undefined; remainingUsd(): number | undefined; } //# sourceMappingURL=budget.d.ts.map