/** * Circuit breaker states */ export declare enum CircuitBreakerState { CLOSED = "closed", OPEN = "open", HALF_OPEN = "half-open" } /** * Circuit breaker configuration */ export type CircuitBreakerConfig = { failureThreshold: number; successThreshold: number; resetTimeoutMs: number; }; /** * Circuit Breaker Pattern * Prevents cascade failures by stopping calls to failing services */ export declare class CircuitBreaker { private readonly name; private state; private failureCount; private successCount; private lastFailureTime; private readonly config; private readonly logger; constructor(name: string, config?: Partial); /** * Execute function with circuit breaker protection */ execute(fn: () => Promise): Promise; /** * Record a successful call */ private recordSuccess; /** * Record a failed call */ private recordFailure; /** * Check if circuit should reset to half-open */ private checkReset; /** * Change state and log transition */ private setState; /** * Get current state */ getState(): CircuitBreakerState; /** * Get circuit breaker status */ getStatus(): { state: CircuitBreakerState; failureCount: number; successCount: number; }; /** * Reset circuit breaker manually */ reset(): void; } //# sourceMappingURL=circuit-breaker.d.ts.map