export declare type Callback = (e: any, res?: T) => void; declare function promisify(fn: (cb: Callback) => any): () => Promise; declare function promisify(fn: (p1: T1, cb: Callback) => any): (a1: T1) => Promise; declare function promisify(fn: (p1: T1, p2: T2, cb: Callback) => any): (a1: T1, a2: T2) => Promise; declare function promisify(fn: (p1: T1, p2: T2, p3: T3, cb: Callback) => any): (a1: T1, a2: T2, a3: T3) => Promise; declare function promisify(fn: (p1: T1, p2: T2, p3: T3, p4: T4, cb: Callback) => any): (a1: T1, a2: T2, a3: T3, a4: T4) => Promise; export default promisify;