import type { BulkFileDownloadBudgetApi } from '../Api/BulkFileDataCacheApi'; export interface FixedWindowBulkFileDownloadBudgetOptions { maxBytes: number; windowMsecs?: number; now?: () => number; } /** * Conservative process-local byte reservation budget for remote bulk-header * downloads. A reservation is retained even when the subsequent request * fails, preventing a failing upstream from bypassing the bound. * * @public */ export declare class FixedWindowBulkFileDownloadBudget implements BulkFileDownloadBudgetApi { private readonly maxBytes; private readonly windowMsecs; private readonly now; private windowStartedAt; private consumedBytes; constructor(options: FixedWindowBulkFileDownloadBudgetOptions); consume(byteCount: number): void; snapshot(): { maxBytes: number; consumedBytes: number; remainingBytes: number; windowStartedAt: number; windowMsecs: number; }; } //# sourceMappingURL=FixedWindowBulkFileDownloadBudget.d.ts.map