export type BreakerState = "closed" | "open" | "half-open"; export type AllowResult = { allowed: boolean; reason: string; state: BreakerState; probeToken?: number; }; export type TransportBreakerSnapshot = { entries: number; closed: number; open: number; halfOpen: number; trips: number; halfOpenProbes: number; closes: number; }; export type TransportBreakerOptions = { windowMs?: number; minSamples?: number; failurePercent?: number; openMs?: number; jitterMs?: number; maxEntries?: number; ttlMs?: number; halfOpenSuccesses?: number; enabled?: boolean; now?: () => number; random?: () => number; }; export type TransportBreaker = { allow: (key: string) => AllowResult; recordSuccess: (key: string, token?: number) => void; recordFailure: (key: string, detail: { eligible: boolean; token?: number; }) => void; snapshot: () => TransportBreakerSnapshot; sweep: () => void; }; export declare function createTransportBreaker(opts?: TransportBreakerOptions): TransportBreaker; //# sourceMappingURL=breaker.d.ts.map