///
import { EventEmitter } from 'events';
export interface Promisify {
(func: (callback: (err: any, result?: T) => void) => void): () => Promise;
(func: (arg1: A1, callback: (err: any, result?: T) => void) => void): (arg1: A1) => Promise;
(func: (arg1: A1, arg2: A2, callback: (err: any, result?: T) => void) => void): (arg1: A1, arg2: A2) => Promise;
(func: (arg1: A1, arg2: A2, arg3: A3, callback: (err: any, result?: T) => void) => void): (arg1: A1, arg2: A2, arg3: A3) => Promise;
(func: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, callback: (err: any, result?: T) => void) => void): (arg1: A1, arg2: A2, arg3: A3, arg4: A4) => Promise;
(func: (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5, callback: (err: any, result?: T) => void) => void): (arg1: A1, arg2: A2, arg3: A3, arg4: A4, arg5: A5) => Promise;
}
export declare const promisify: Promisify;
export declare const promisifyEvent: (emitter: EventEmitter, event: string | symbol) => Promise;
export declare namespace PromiseUtil {
function some(promises: Promise[], expected?: number): Promise;
function any(promises: Promise[]): Promise;
}