///
export declare function callback_opts(f: Function): (opts?: any) => Promise;
interface RetryUntilSuccess {
f: () => Promise;
start_delay?: number;
max_delay?: number;
max_tries?: number;
max_time?: number;
factor?: number;
log?: Function;
desc?: string;
}
export declare function retry_until_success(opts: RetryUntilSuccess): Promise;
import { EventEmitter } from "events";
export declare function once(obj: EventEmitter, event: string, timeout_ms?: number): Promise;
export declare function callback2(f: Function, opts?: any): Promise;
export declare function reuse_in_flight_methods(obj: any, method_names: string[]): void;
export declare function cancel_scheduled(f: any): void;
export declare function async_as_callback(f: Function, cb: Function, ...args: any[]): Promise;
export {};