export type CircuitState = 'closed' | 'open' | 'half-open';
export interface CircuitBreakerConfig {
    failureThreshold: number;
    cooldownMs: number;
}
export declare class CircuitBreaker {
    private readonly failureThreshold;
    private readonly cooldownMs;
    private consecutiveFailures;
    private openUntil;
    constructor(cfg?: Partial<CircuitBreakerConfig>);
    state(now?: number): CircuitState;
    canAttempt(now?: number): boolean;
    onSuccess(): void;
    onFailure(now?: number): void;
}
//# sourceMappingURL=circuit-breaker.d.ts.map