/** * @module CircuitBreaker */ import { type ICircuitBreakerStorageAdapter, type CircuitBreakerStateTransition } from "../../../../circuit-breaker/contracts/_module.js"; import { type AllCircuitBreakerState, type InternalCircuitBreakerPolicy } from "../../../../circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/internal-circuit-breaker-policy.js"; import { type DatabaseCircuitBreakerUpdateStateFn } from "../../../../circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/types.js"; import { type IReadableContext } from "../../../../execution-context/contracts/_module.js"; /** * @internal */ export declare class CircuitBreakerStorage { private readonly adapter; private readonly circuitBreakerPolicy; constructor(adapter: ICircuitBreakerStorageAdapter>, circuitBreakerPolicy: InternalCircuitBreakerPolicy); atomicUpdate(key: string, update: DatabaseCircuitBreakerUpdateStateFn, context: IReadableContext): Promise; find(key: string, context: IReadableContext): Promise>; remove(key: string, context: IReadableContext): Promise; }