import { ITask, IExecutionStrategy } from '../types'; type CircuitState = 'CLOSED' | 'OPEN' | 'HALF_OPEN'; export declare class CircuitBreakerStrategy implements IExecutionStrategy { readonly name = "CircuitBreakerStrategy"; private state; private failureCount; private successCount; private lastFailureTime; private readonly failureThreshold; private readonly successThreshold; private readonly timeout; private readonly innerStrategy; constructor(innerStrategy: IExecutionStrategy, failureThreshold?: number, successThreshold?: number, timeout?: number); execute(task: ITask): Promise; private onSuccess; private onFailure; getState(): CircuitState; reset(): void; } export {}; //# sourceMappingURL=CircuitBreakerStrategy.d.ts.map