// Type definitions for denodeify 1.2.1 // Project: https://github.com/matthew-andrews/denodeify // Definitions by: joaomoreno // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare function _(fn: _.F0, transformer?: _.M): () => Promise; declare function _(fn: _.F1, transformer?: _.M): (a: A) => Promise; declare function _(fn: _.F2, transformer?: _.M): (a: A, b: B) => Promise; declare function _(fn: _.F3, transformer?: _.M): (a: A, b: B, c: C) => Promise; declare function _(fn: _.F4, transformer?: _.M): (a: A, b: B, c: C, d: D) => Promise; declare function _(fn: _.F5, transformer?: _.M): (a: A, b: B, c: C, d: D, e: E) => Promise; declare function _(fn: _.F6, transformer?: _.M): (a: A, b: B, c: C, d: D, e: E, f: F) => Promise; declare function _(fn: _.F7, transformer?: _.M): (a: A, b: B, c: C, d: D, e: E, f: F, g: G) => Promise; declare function _(fn: _.F8, transformer?: _.M): (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H) => Promise; declare function _(fn: _.F, transformer?: _.M): (...args: any[]) => Promise; declare module _ { type Callback = (err: Error, result: R) => any; type F0 = (cb: Callback) => any; type F1 = (a: A, cb: Callback) => any; type F2 = (a: A, b: B, cb: Callback) => any; type F3 = (a: A, b: B, c: C, cb: Callback) => any; type F4 = (a: A, b: B, c: C, d: D, cb: Callback) => any; type F5 = (a: A, b: B, c: C, d: D, e: E, cb: Callback) => any; type F6 = (a: A, b: B, c: C, d: D, e: E, f: F, cb: Callback) => any; type F7 = (a: A, b: B, c: C, d: D, e: E, f: F, g: G, cb: Callback) => any; type F8 = (a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, cb: Callback) => any; type F = (...args: any[]) => any; type M = (err: Error, ...args: any[]) => any[]; } export = _;