import type { RetryBudgetConfig } from "./types.js"; export interface RetryBudgetState { available: boolean; failureRate: number; failures: number; samples: number; tripped: boolean; windowMs: number; } export declare class RetryBudget { private readonly window; private windowStart; private failures; private tripped; private readonly now; private readonly windowMs; private readonly maxSamples; private readonly minSamples; private readonly recoveryFailureRate; private readonly tripFailureRate; private lastNow?; constructor(now?: () => number, windowMs?: number, config?: Omit); available(): boolean; observe(success: boolean): void; snapshot(): RetryBudgetState; private prune; private failureRate; private sampleCount; private removeOldest; private compactWindow; private remainsTripped; private refresh; private currentTime; }