/** * Error types for resilience patterns */ /** * Error thrown when an operation times out */ export declare class TimeoutError extends Error { readonly timeoutMs: number; readonly operationName?: string | undefined; readonly name = "TimeoutError"; constructor(message: string, timeoutMs: number, operationName?: string | undefined); } /** * Error thrown when a circuit breaker is open */ export declare class CircuitBreakerOpenError extends Error { readonly circuitKey: string; readonly retryAfter: Date; readonly consecutiveFailures: number; readonly name = "CircuitBreakerOpenError"; readonly code = "CIRCUIT_BREAKER_OPEN"; /** * @deprecated Use 'code' property instead */ readonly legacyCode = "CIRCUIT_OPEN"; constructor(message: string, circuitKey: string, retryAfter: Date, consecutiveFailures: number); /** Time in milliseconds until the circuit will transition to half-open */ get nextRetryTime(): number; } /** * Error thrown when retry attempts are exhausted */ export declare class RetryExhaustedError extends Error { readonly attempts: number; readonly lastError?: unknown | undefined; readonly name = "RetryExhaustedError"; constructor(message: string, attempts: number, lastError?: unknown | undefined); } /** * Type guard for TimeoutError */ export declare function isTimeoutError(error: unknown): error is TimeoutError; /** * Type guard for CircuitBreakerOpenError */ export declare function isCircuitBreakerOpenError(error: unknown): error is CircuitBreakerOpenError; /** * Error thrown when a circuit breaker times out during half-open probe */ export declare class CircuitBreakerTimeoutError extends CircuitBreakerOpenError { readonly timeoutMs: number; readonly operationName?: string | undefined; constructor(message: string, circuitKey: string, retryAfter: Date, consecutiveFailures: number, timeoutMs: number, operationName?: string | undefined); } /** * Error thrown when circuit breaker configuration is invalid */ export declare class CircuitBreakerConfigurationError extends Error { readonly field: string; readonly provided: unknown; readonly expected: string; readonly name = "CircuitBreakerConfigurationError"; readonly code = "CIRCUIT_BREAKER_CONFIGURATION"; constructor(message: string, field: string, provided: unknown, expected: string); } /** * Error thrown when circuit breaker threshold is exceeded */ export declare class CircuitBreakerThresholdError extends CircuitBreakerOpenError { readonly failureRate: number; readonly threshold: number; readonly sampleSize: number; constructor(message: string, circuitKey: string, retryAfter: Date, consecutiveFailures: number, failureRate: number, threshold: number, sampleSize: number); } /** * Type guard for RetryExhaustedError */ export declare function isRetryExhaustedError(error: unknown): error is RetryExhaustedError; /** * Type guard for CircuitBreakerTimeoutError */ export declare function isCircuitBreakerTimeoutError(error: unknown): error is CircuitBreakerTimeoutError; /** * Type guard for CircuitBreakerConfigurationError */ export declare function isCircuitBreakerConfigurationError(error: unknown): error is CircuitBreakerConfigurationError; /** * Type guard for CircuitBreakerThresholdError */ export declare function isCircuitBreakerThresholdError(error: unknown): error is CircuitBreakerThresholdError; //# sourceMappingURL=errors.d.ts.map