import { Module, ModuleOptions } from './index.js'; import { Circuit, CircuitFunction } from '../circuit.js'; /** * Properties that customizes the timeout behavior. */ export declare abstract class TimeoutOptions extends ModuleOptions { /** * The amount of time before a promise is rejected. */ delay?: number; } /** * Returned when a function times out. * @param message Timed out */ export declare class TimeoutError extends Error { constructor(); } /** * The Timeout Module, that allows to ignore the result of the function if it takes too long. */ export declare class Timeout extends Module { /** * The amount of time before a promise is rejected. */ delay: number; constructor(options?: TimeoutOptions); execute(circuit: Circuit, promise: CircuitFunction, ...params: any[]): Promise; private _promiseTimeout; private emitTimeout; }