import { CircuitBreakerConfig, CircuitBreakerState } from '../types';
export declare class CircuitBreaker {
    private state;
    private config;
    private failureCount;
    private monitorWindow;
    constructor(config: CircuitBreakerConfig);
    execute<T>(key: string, operation: () => Promise<T>, fallback?: (key: string) => T): Promise<T>;
    private onSuccess;
    private onFailure;
    getState(): CircuitBreakerState;
    isOpen(): boolean;
    isHalfOpen(): boolean;
    isClosed(): boolean;
    getFailureCount(): number;
    reset(): void;
    getFailureRate(): number;
}
//# sourceMappingURL=CircuitBreaker.d.ts.map