import { Circuit, CircuitBreakerOptions, CircuitState } from "./types/circuit-breaker-types";
export declare class CircuitBreaker {
    private defaultOptions;
    private circuits;
    constructor(defaultOptions?: CircuitBreakerOptions);
    initCircuit(name: string, options?: Partial<CircuitBreakerOptions>): void;
    execute<T>(circuitName: string, operation: () => Promise<T>): Promise<T>;
    getCircuitState(circuitName: string): CircuitState | undefined;
    getCircuitInfo(circuitName: string): Circuit | undefined;
    getAllCircuits(): Map<string, Circuit>;
    resetCircuit(circuitName: string): void;
}
