import { promisify } from 'util'; /** * Issue #7: https://github.com/wechaty/grpc/issues/7 */ export declare type Callback = (err: E | null, reply: T) => void; export declare type PromisifyOne = T extends [Callback?] ? () => Promise : T extends [infer T1, Callback?] ? (arg1: T1) => Promise

: T extends [infer T1, infer T2, Callback?] ? (arg1: T1, arg2: T2) => Promise : T extends [infer T1, infer T2, infer T3, Callback?] ? (arg1: T1, arg2: T2, arg3: T3) => Promise : T extends [infer T1, infer T2, infer T3, infer T4, Callback?] ? (arg1: T1, arg2: T2, arg3: T3, arg4: T4) => Promise : never; export declare type GetOverloadArgs = T extends { (...o: infer U): void; (...o: infer U2): void; (...o: infer U3): void; (...o: infer U4): void; (...o: infer U5): void; (...o: infer U6): void; (...o: infer U7): void; } ? U | U2 | U3 | U4 | U5 | U6 | U7 : T extends { (...o: infer U): void; (...o: infer U2): void; (...o: infer U3): void; (...o: infer U4): void; (...o: infer U5): void; (...o: infer U6): void; } ? U | U2 | U3 | U4 | U5 | U6 : T extends { (...o: infer U): void; (...o: infer U2): void; (...o: infer U3): void; (...o: infer U4): void; (...o: infer U5): void; } ? U | U2 | U3 | U4 | U5 : T extends { (...o: infer U): void; (...o: infer U2): void; (...o: infer U3): void; (...o: infer U4): void; } ? U | U2 | U3 | U4 : T extends { (...o: infer U): void; (...o: infer U2): void; (...o: infer U3): void; } ? U | U2 | U3 : T extends { (...o: infer U): void; (...o: infer U2): void; } ? U | U2 : T extends { (...o: infer U): void; } ? U : never; export declare type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; export declare type Promisify = UnionToIntersection>>; declare module 'util' { function promisify(fn: T): Promisify; } export { promisify }; //# sourceMappingURL=promisify.d.ts.map