import type { MiddlewareContext, Middleware } from './middleware'; /** * Map of all existing circuit breakers. * Entries are added in a lazy way. * TODO: * The value type here should be CircuitBreaker, but this would make the Opossum types part of our public API. * This happens although it is marked as internal, because transpilation includes internal. * Adding CircuitBreaker will break transpilation on generation. * @internal */ export declare const circuitBreakers: Record; /** * @internal */ export declare const circuitBreakerDefaultOptions: CircuitBreakerOptions; /** * Helper method to build a circuit breaker middleware. * @returns The middleware adding a circuit breaker to the function. */ export declare function circuitBreaker>(): Middleware; /** * This is partially copied from CircuitBreaker.Options of `@types/opossum`. * @internal */ export interface CircuitBreakerOptions { /** * @internal */ timeout?: number | false | undefined; /** * @internal */ errorThresholdPercentage?: number | undefined; /** * @internal */ volumeThreshold?: number | undefined; /** * @internal */ resetTimeout?: number | undefined; /** * @internal */ cache?: boolean | undefined; }