import 'redis'; declare module 'redis' { interface PromisifiedOverloadedCommand { (arg1: T, arg2: T, arg3: T, arg4: T, arg5: T, arg6: T): Promise; (arg1: T, arg2: T, arg3: T, arg4: T, arg5: T): Promise; (arg1: T, arg2: T, arg3: T, arg4: T): Promise; (arg1: T, arg2: T, arg3: T): Promise; (arg1: T, arg2: T | T[]): Promise; (arg1: T | T[]): Promise; (...args: Array): Promise; } interface PromisifiedOverloadedKeyCommand { (key: string, arg1: T, arg2: T, arg3: T, arg4: T, arg5: T, arg6: T): Promise; (key: string, arg1: T, arg2: T, arg3: T, arg4: T, arg5: T): Promise; (key: string, arg1: T, arg2: T, arg3: T, arg4: T): Promise; (key: string, arg1: T, arg2: T, arg3: T): Promise; (key: string, arg1: T, arg2: T): Promise; (key: string, arg1: T | T[]): Promise; (key: string, ...args: Array): Promise; (...args: Array): Promise; } interface RedisClient extends Commands, EventEmitter { evalAsync: PromisifiedOverloadedCommand; getAsync(key: string): Promise; flushdbAsync(): Promise<'OK'>; hgetallAsync(key: string): Promise<{ [key: string]: string }>; scanAsync: PromisifiedOverloadedCommand smembersAsync(key: string): Promise; zaddAsync: PromisifiedOverloadedKeyCommand; } interface Multi extends Commands { execAsync(): Promise; } }