UNPKG

redis-conn-wrapper

Version:
499 lines (498 loc) 30.9 kB
/// <reference types="node" /> export interface IRetryStrategyOptions { error: NodeJS.ErrnoException; total_retry_time: number; times_connected: number; attempt: number; } export declare type RetryStrategy = (options: IRetryStrategyOptions) => number | Error; export interface IClientOpts { host?: string; port?: number; path?: string; url?: string; parser?: string; string_numbers?: boolean; return_buffers?: boolean; detect_buffers?: boolean; socket_keepalive?: boolean; socket_initialdelay?: number; no_ready_check?: boolean; enable_offline_queue?: boolean; retry_max_delay?: number; connect_timeout?: number; max_attempts?: number; retry_unfulfilled_commands?: boolean; auth_pass?: string; password?: string; db?: string | number; family?: string; rename_commands?: { [command: string]: string; } | null; tls?: any; prefix?: string; retry_strategy?: RetryStrategy; } export declare type Callback<T> = (err: Error | null, reply: T) => void; export interface IServerInfo { redis_version: string; versions: number[]; } export interface IOverloadedCommand<T, U, R> { (arg1: T, arg2: T, arg3: T, arg4: T, arg5: T, arg6: T, cb?: Callback<U>): R; (arg1: T, arg2: T, arg3: T, arg4: T, arg5: T, cb?: Callback<U>): R; (arg1: T, arg2: T, arg3: T, arg4: T, cb?: Callback<U>): R; (arg1: T, arg2: T, arg3: T, cb?: Callback<U>): R; (arg1: T, arg2: T | T[], cb?: Callback<U>): R; (arg1: T | T[], cb?: Callback<U>): R; (...args: Array<T | Callback<U>>): R; } export interface IOverloadedKeyCommand<T, U, R> { (key: string, arg1: T, arg2: T, arg3: T, arg4: T, arg5: T, arg6: T, cb?: Callback<U>): R; (key: string, arg1: T, arg2: T, arg3: T, arg4: T, arg5: T, cb?: Callback<U>): R; (key: string, arg1: T, arg2: T, arg3: T, arg4: T, cb?: Callback<U>): R; (key: string, arg1: T, arg2: T, arg3: T, cb?: Callback<U>): R; (key: string, arg1: T, arg2: T, cb?: Callback<U>): R; (key: string, arg1: T | T[], cb?: Callback<U>): R; (key: string, ...args: Array<T | Callback<U>>): R; (...args: Array<string | T | Callback<U>>): R; } export interface IOverloadedListCommand<T, U, R> { (arg1: T, arg2: T, arg3: T, arg4: T, arg5: T, arg6: T, cb?: Callback<U>): R; (arg1: T, arg2: T, arg3: T, arg4: T, arg5: T, cb?: Callback<U>): R; (arg1: T, arg2: T, arg3: T, arg4: T, cb?: Callback<U>): R; (arg1: T, arg2: T, arg3: T, cb?: Callback<U>): R; (arg1: T, arg2: T, cb?: Callback<U>): R; (arg1: T | T[], cb?: Callback<U>): R; (...args: Array<T | Callback<U>>): R; } export interface IOverloadedSetCommand<T, U, R> { (key: string, arg1: T, arg2: T, arg3: T, arg4: T, arg5: T, arg6: T, cb?: Callback<U>): R; (key: string, arg1: T, arg2: T, arg3: T, arg4: T, arg5: T, cb?: Callback<U>): R; (key: string, arg1: T, arg2: T, arg3: T, arg4: T, cb?: Callback<U>): R; (key: string, arg1: T, arg2: T, arg3: T, cb?: Callback<U>): R; (key: string, arg1: T, arg2: T, cb?: Callback<U>): R; (key: string, arg1: T | { [key: string]: T; } | T[], cb?: Callback<U>): R; (key: string, ...args: Array<T | Callback<U>>): R; (args: [string, ...T[]], cb?: Callback<U>): R; } export interface IOverloadedLastCommand<T1, T2, U, R> { (arg1: T1, arg2: T1, arg3: T1, arg4: T1, arg5: T1, arg6: T2, cb?: Callback<U>): R; (arg1: T1, arg2: T1, arg3: T1, arg4: T1, arg5: T2, cb?: Callback<U>): R; (arg1: T1, arg2: T1, arg3: T1, arg4: T2, cb?: Callback<U>): R; (arg1: T1, arg2: T1, arg3: T2, cb?: Callback<U>): R; (arg1: T1, arg2: T2 | Array<T1 | T2>, cb?: Callback<U>): R; (args: Array<T1 | T2>, cb?: Callback<U>): R; (...args: Array<T1 | T2 | Callback<U>>): R; } export interface ICommands<R> { client: IOverloadedCommand<string, any, R>; CLIENT: IOverloadedCommand<string, any, R>; hmset: IOverloadedSetCommand<string | number, 'OK', R>; HMSET: IOverloadedSetCommand<string | number, 'OK', R>; subscribe: IOverloadedListCommand<string, string, R>; SUBSCRIBE: IOverloadedListCommand<string, string, R>; unsubscribe: IOverloadedListCommand<string, string, R>; UNSUBSCRIBE: IOverloadedListCommand<string, string, R>; psubscribe: IOverloadedListCommand<string, string, R>; PSUBSCRIBE: IOverloadedListCommand<string, string, R>; punsubscribe: IOverloadedListCommand<string, string, R>; PUNSUBSCRIBE: IOverloadedListCommand<string, string, R>; bitfield: IOverloadedKeyCommand<string | number, [number, number], R>; BITFIELD: IOverloadedKeyCommand<string | number, [number, number], R>; blpop: IOverloadedLastCommand<string, number, [string, string], R>; BLPOP: IOverloadedLastCommand<string, number, [string, string], R>; brpop: IOverloadedLastCommand<string, number, [string, string], R>; BRPOP: IOverloadedLastCommand<string, number, [string, string], R>; cluster: IOverloadedCommand<string, any, this>; CLUSTER: IOverloadedCommand<string, any, this>; config: IOverloadedCommand<string, boolean, R>; CONFIG: IOverloadedCommand<string, boolean, R>; debug: IOverloadedCommand<string, boolean, R>; DEBUG: IOverloadedCommand<string, boolean, R>; del: IOverloadedCommand<string, number, R>; DEL: IOverloadedCommand<string, number, R>; eval: IOverloadedCommand<string | number, any, R>; EVAL: IOverloadedCommand<string | number, any, R>; evalsha: IOverloadedCommand<string | number, any, R>; EVALSHA: IOverloadedCommand<string | number, any, R>; exists: IOverloadedCommand<string, number, R>; EXISTS: IOverloadedCommand<string, number, R>; geoadd: IOverloadedKeyCommand<string | number, number, R>; GEOADD: IOverloadedKeyCommand<string | number, number, R>; geohash: IOverloadedKeyCommand<string, string, R>; GEOHASH: IOverloadedKeyCommand<string, string, R>; geopos: IOverloadedKeyCommand<string, Array<[number, number]>, R>; GEOPOS: IOverloadedKeyCommand<string, Array<[number, number]>, R>; geodist: IOverloadedKeyCommand<string, string, R>; GEODIST: IOverloadedKeyCommand<string, string, R>; georadius: IOverloadedKeyCommand<string | number, Array<string | [string, string | [string, string]]>, R>; GEORADIUS: IOverloadedKeyCommand<string | number, Array<string | [string, string | [string, string]]>, R>; georadiusbymember: IOverloadedKeyCommand<string | number, Array<string | [string, string | [string, string]]>, R>; GEORADIUSBYMEMBER: IOverloadedKeyCommand<string | number, Array<string | [string, string | [string, string]]>, R>; hdel: IOverloadedKeyCommand<string, number, R>; HDEL: IOverloadedKeyCommand<string, number, R>; hmget: IOverloadedKeyCommand<string, string[], R>; HMGET: IOverloadedKeyCommand<string, string[], R>; lpush: IOverloadedKeyCommand<string, number, R>; LPUSH: IOverloadedKeyCommand<string, number, R>; mget: IOverloadedCommand<string, string[], R>; MGET: IOverloadedCommand<string, string[], R>; migrate: IOverloadedCommand<string, boolean, R>; MIGRATE: IOverloadedCommand<string, boolean, R>; mset: IOverloadedCommand<string, boolean, R>; MSET: IOverloadedCommand<string, boolean, R>; msetnx: IOverloadedCommand<string, boolean, R>; MSETNX: IOverloadedCommand<string, boolean, R>; object: IOverloadedCommand<string, any, R>; OBJECT: IOverloadedCommand<string, any, R>; pfadd: IOverloadedKeyCommand<string, number, R>; PFADD: IOverloadedKeyCommand<string, number, R>; pfcount: IOverloadedCommand<string, number, R>; PFCOUNT: IOverloadedCommand<string, number, R>; pfmerge: IOverloadedCommand<string, boolean, R>; PFMERGE: IOverloadedCommand<string, boolean, R>; pubsub: IOverloadedCommand<string, number, R>; PUBSUB: IOverloadedCommand<string, number, R>; rpush: IOverloadedKeyCommand<string, number, R>; RPUSH: IOverloadedKeyCommand<string, number, R>; sadd: IOverloadedKeyCommand<string, number, R>; SADD: IOverloadedKeyCommand<string, number, R>; script: IOverloadedCommand<string, any, R>; SCRIPT: IOverloadedCommand<string, any, R>; sdiff: IOverloadedCommand<string, string[], R>; SDIFF: IOverloadedCommand<string, string[], R>; sdiffstore: IOverloadedKeyCommand<string, number, R>; SDIFFSTORE: IOverloadedKeyCommand<string, number, R>; shutdown: IOverloadedCommand<string, string, R>; SHUTDOWN: IOverloadedCommand<string, string, R>; sinter: IOverloadedKeyCommand<string, string[], R>; SINTER: IOverloadedKeyCommand<string, string[], R>; sinterstore: IOverloadedCommand<string, number, R>; SINTERSTORE: IOverloadedCommand<string, number, R>; slowlog: IOverloadedCommand<string, Array<[number, number, number, string[]]>, R>; SLOWLOG: IOverloadedCommand<string, Array<[number, number, number, string[]]>, R>; sort: IOverloadedCommand<string, string[], R>; SORT: IOverloadedCommand<string, string[], R>; srem: IOverloadedKeyCommand<string, number, R>; SREM: IOverloadedKeyCommand<string, number, R>; sunion: IOverloadedCommand<string, string[], R>; SUNION: IOverloadedCommand<string, string[], R>; sunionstore: IOverloadedCommand<string, number, R>; SUNIONSTORE: IOverloadedCommand<string, number, R>; watch: IOverloadedCommand<string, 'OK', R>; WATCH: IOverloadedCommand<string, 'OK', R>; zadd: IOverloadedKeyCommand<string | number, number, R>; ZADD: IOverloadedKeyCommand<string | number, number, R>; zinterstore: IOverloadedCommand<string | number, number, R>; ZINTERSTORE: IOverloadedCommand<string | number, number, R>; zrem: IOverloadedKeyCommand<string, number, R>; ZREM: IOverloadedKeyCommand<string, number, R>; zunionstore: IOverloadedCommand<string | number, number, R>; ZUNIONSTORE: IOverloadedCommand<string | number, number, R>; scan: IOverloadedCommand<string, [string, string[]], R>; SCAN: IOverloadedCommand<string, [string, string[]], R>; sscan: IOverloadedKeyCommand<string, [string, string[]], R>; SSCAN: IOverloadedKeyCommand<string, [string, string[]], R>; hscan: IOverloadedKeyCommand<string, [string, string[]], R>; HSCAN: IOverloadedKeyCommand<string, [string, string[]], R>; zscan: IOverloadedKeyCommand<string, [string, string[]], R>; ZSCAN: IOverloadedKeyCommand<string, [string, string[]], R>; monitor(cb?: Callback<undefined>): R; MONITOR(cb?: Callback<undefined>): R; info(cb?: Callback<IServerInfo>): R; info(section?: string | string[], cb?: Callback<IServerInfo>): R; INFO(cb?: Callback<IServerInfo>): R; INFO(section?: string | string[], cb?: Callback<IServerInfo>): R; ping(callback?: Callback<string>): R; ping(message: string, callback?: Callback<string>): R; PING(callback?: Callback<string>): R; PING(message: string, callback?: Callback<string>): R; publish(channel: string, value: string, cb?: Callback<number>): R; PUBLISH(channel: string, value: string, cb?: Callback<number>): R; auth(password: string, callback?: Callback<string>): R; AUTH(password: string, callback?: Callback<string>): R; append(key: string, value: string, cb?: Callback<number>): R; APPEND(key: string, value: string, cb?: Callback<number>): R; bgrewriteaof(cb?: Callback<'OK'>): R; BGREWRITEAOF(cb?: Callback<'OK'>): R; bgsave(cb?: Callback<string>): R; BGSAVE(cb?: Callback<string>): R; bitcount(key: string, cb?: Callback<number>): R; bitcount(key: string, start: number, end: number, cb?: Callback<number>): R; BITCOUNT(key: string, cb?: Callback<number>): R; BITCOUNT(key: string, start: number, end: number, cb?: Callback<number>): R; bitop(operation: string, destkey: string, key1: string, key2: string, key3: string, cb?: Callback<number>): R; bitop(operation: string, destkey: string, key1: string, key2: string, cb?: Callback<number>): R; bitop(operation: string, destkey: string, key: string, cb?: Callback<number>): R; bitop(operation: string, destkey: string, ...args: Array<string | Callback<number>>): R; BITOP(operation: string, destkey: string, key1: string, key2: string, key3: string, cb?: Callback<number>): R; BITOP(operation: string, destkey: string, key1: string, key2: string, cb?: Callback<number>): R; BITOP(operation: string, destkey: string, key: string, cb?: Callback<number>): R; BITOP(operation: string, destkey: string, ...args: Array<string | Callback<number>>): R; bitpos(key: string, bit: number, start: number, end: number, cb?: Callback<number>): R; bitpos(key: string, bit: number, start: number, cb?: Callback<number>): R; bitpos(key: string, bit: number, cb?: Callback<number>): R; BITPOS(key: string, bit: number, start: number, end: number, cb?: Callback<number>): R; BITPOS(key: string, bit: number, start: number, cb?: Callback<number>): R; BITPOS(key: string, bit: number, cb?: Callback<number>): R; brpoplpush(source: string, destination: string, timeout: number, cb?: Callback<string | null>): R; BRPOPLPUSH(source: string, destination: string, timeout: number, cb?: Callback<string | null>): R; command(cb?: Callback<Array<[string, number, string[], number, number, number]>>): R; COMMAND(cb?: Callback<Array<[string, number, string[], number, number, number]>>): R; dbsize(cb?: Callback<number>): R; DBSIZE(cb?: Callback<number>): R; decr(key: string, cb?: Callback<number>): R; DECR(key: string, cb?: Callback<number>): R; decrby(key: string, decrement: number, cb?: Callback<number>): R; DECRBY(key: string, decrement: number, cb?: Callback<number>): R; discard(cb?: Callback<'OK'>): R; DISCARD(cb?: Callback<'OK'>): R; dump(key: string, cb?: Callback<string>): R; DUMP(key: string, cb?: Callback<string>): R; echo<T extends string>(message: T, cb?: Callback<T>): R; ECHO<T extends string>(message: T, cb?: Callback<T>): R; expire(key: string, seconds: number, cb?: Callback<number>): R; EXPIRE(key: string, seconds: number, cb?: Callback<number>): R; expireat(key: string, timestamp: number, cb?: Callback<number>): R; EXPIREAT(key: string, timestamp: number, cb?: Callback<number>): R; flushall(cb?: Callback<string>): R; flushall(async: 'ASYNC', cb?: Callback<string>): R; FLUSHALL(cb?: Callback<string>): R; FLUSHALL(async: 'ASYNC', cb?: Callback<string>): R; flushdb(cb?: Callback<'OK'>): R; flushdb(async: 'ASYNC', cb?: Callback<string>): R; FLUSHDB(cb?: Callback<'OK'>): R; FLUSHDB(async: 'ASYNC', cb?: Callback<string>): R; get(key: string, cb?: Callback<string>): R; GET(key: string, cb?: Callback<string>): R; getbit(key: string, offset: number, cb?: Callback<number>): R; GETBIT(key: string, offset: number, cb?: Callback<number>): R; getrange(key: string, start: number, end: number, cb?: Callback<string>): R; GETRANGE(key: string, start: number, end: number, cb?: Callback<string>): R; getset(key: string, value: string, cb?: Callback<string>): R; GETSET(key: string, value: string, cb?: Callback<string>): R; hexists(key: string, field: string, cb?: Callback<number>): R; HEXISTS(key: string, field: string, cb?: Callback<number>): R; hget(key: string, field: string, cb?: Callback<string>): R; HGET(key: string, field: string, cb?: Callback<string>): R; hgetall(key: string, cb?: Callback<{ [key: string]: string; }>): R; HGETALL(key: string, cb?: Callback<{ [key: string]: string; }>): R; hincrby(key: string, field: string, increment: number, cb?: Callback<number>): R; HINCRBY(key: string, field: string, increment: number, cb?: Callback<number>): R; hincrbyfloat(key: string, field: string, increment: number, cb?: Callback<string>): R; HINCRBYFLOAT(key: string, field: string, increment: number, cb?: Callback<string>): R; hkeys(key: string, cb?: Callback<string[]>): R; HKEYS(key: string, cb?: Callback<string[]>): R; hlen(key: string, cb?: Callback<number>): R; HLEN(key: string, cb?: Callback<number>): R; hset(key: string, field: string, value: string, cb?: Callback<number>): R; HSET(key: string, field: string, value: string, cb?: Callback<number>): R; hsetnx(key: string, field: string, value: string, cb?: Callback<number>): R; HSETNX(key: string, field: string, value: string, cb?: Callback<number>): R; hstrlen(key: string, field: string, cb?: Callback<number>): R; HSTRLEN(key: string, field: string, cb?: Callback<number>): R; hvals(key: string, cb?: Callback<string[]>): R; HVALS(key: string, cb?: Callback<string[]>): R; incr(key: string, cb?: Callback<number>): R; INCR(key: string, cb?: Callback<number>): R; incrby(key: string, increment: number, cb?: Callback<number>): R; INCRBY(key: string, increment: number, cb?: Callback<number>): R; incrbyfloat(key: string, increment: number, cb?: Callback<string>): R; INCRBYFLOAT(key: string, increment: number, cb?: Callback<string>): R; keys(pattern: string, cb?: Callback<string[]>): R; KEYS(pattern: string, cb?: Callback<string[]>): R; lastsave(cb?: Callback<number>): R; LASTSAVE(cb?: Callback<number>): R; lindex(key: string, index: number, cb?: Callback<string>): R; LINDEX(key: string, index: number, cb?: Callback<string>): R; linsert(key: string, dir: 'BEFORE' | 'AFTER', pivot: string, value: string, cb?: Callback<string>): R; LINSERT(key: string, dir: 'BEFORE' | 'AFTER', pivot: string, value: string, cb?: Callback<string>): R; llen(key: string, cb?: Callback<number>): R; LLEN(key: string, cb?: Callback<number>): R; lpop(key: string, cb?: Callback<string>): R; LPOP(key: string, cb?: Callback<string>): R; lpushx(key: string, value: string, cb?: Callback<number>): R; LPUSHX(key: string, value: string, cb?: Callback<number>): R; lrange(key: string, start: number, stop: number, cb?: Callback<string[]>): R; LRANGE(key: string, start: number, stop: number, cb?: Callback<string[]>): R; lrem(key: string, count: number, value: string, cb?: Callback<number>): R; LREM(key: string, count: number, value: string, cb?: Callback<number>): R; lset(key: string, index: number, value: string, cb?: Callback<'OK'>): R; LSET(key: string, index: number, value: string, cb?: Callback<'OK'>): R; ltrim(key: string, start: number, stop: number, cb?: Callback<'OK'>): R; LTRIM(key: string, start: number, stop: number, cb?: Callback<'OK'>): R; move(key: string, db: string | number): R; MOVE(key: string, db: string | number): R; persist(key: string, cb?: Callback<number>): R; PERSIST(key: string, cb?: Callback<number>): R; pexpire(key: string, milliseconds: number, cb?: Callback<number>): R; PEXPIRE(key: string, milliseconds: number, cb?: Callback<number>): R; pexpireat(key: string, millisecondsTimestamp: number, cb?: Callback<number>): R; PEXPIREAT(key: string, millisecondsTimestamp: number, cb?: Callback<number>): R; psetex(key: string, milliseconds: number, value: string, cb?: Callback<'OK'>): R; PSETEX(key: string, milliseconds: number, value: string, cb?: Callback<'OK'>): R; pttl(key: string, cb?: Callback<number>): R; PTTL(key: string, cb?: Callback<number>): R; quit(cb?: Callback<'OK'>): R; QUIT(cb?: Callback<'OK'>): R; randomkey(cb?: Callback<string>): R; RANDOMKEY(cb?: Callback<string>): R; readonly(cb?: Callback<string>): R; READONLY(cb?: Callback<string>): R; readwrite(cb?: Callback<string>): R; READWRITE(cb?: Callback<string>): R; rename(key: string, newkey: string, cb?: Callback<'OK'>): R; RENAME(key: string, newkey: string, cb?: Callback<'OK'>): R; renamenx(key: string, newkey: string, cb?: Callback<number>): R; RENAMENX(key: string, newkey: string, cb?: Callback<number>): R; restore(key: string, ttl: number, serializedValue: string, cb?: Callback<'OK'>): R; RESTORE(key: string, ttl: number, serializedValue: string, cb?: Callback<'OK'>): R; role(cb?: Callback<[string, number, Array<[string, string, string]>]>): R; ROLE(cb?: Callback<[string, number, Array<[string, string, string]>]>): R; rpop(key: string, cb?: Callback<string>): R; RPOP(key: string, cb?: Callback<string>): R; rpoplpush(source: string, destination: string, cb?: Callback<string>): R; RPOPLPUSH(source: string, destination: string, cb?: Callback<string>): R; rpushx(key: string, value: string, cb?: Callback<number>): R; RPUSHX(key: string, value: string, cb?: Callback<number>): R; save(cb?: Callback<string>): R; SAVE(cb?: Callback<string>): R; scard(key: string, cb?: Callback<number>): R; SCARD(key: string, cb?: Callback<number>): R; select(index: number | string, cb?: Callback<string>): R; SELECT(index: number | string, cb?: Callback<string>): R; set(key: string, value: string, cb?: Callback<'OK'>): R; set(key: string, value: string, flag: string, cb?: Callback<'OK'>): R; set(key: string, value: string, mode: string, duration: number, cb?: Callback<'OK' | undefined>): R; set(key: string, value: string, mode: string, duration: number, flag: string, cb?: Callback<'OK' | undefined>): R; SET(key: string, value: string, cb?: Callback<'OK'>): R; SET(key: string, value: string, flag: string, cb?: Callback<'OK'>): R; SET(key: string, value: string, mode: string, duration: number, cb?: Callback<'OK' | undefined>): R; SET(key: string, value: string, mode: string, duration: number, flag: string, cb?: Callback<'OK' | undefined>): R; setbit(key: string, offset: number, value: string, cb?: Callback<number>): R; SETBIT(key: string, offset: number, value: string, cb?: Callback<number>): R; setex(key: string, seconds: number, value: string, cb?: Callback<string>): R; SETEX(key: string, seconds: number, value: string, cb?: Callback<string>): R; setnx(key: string, value: string, cb?: Callback<number>): R; SETNX(key: string, value: string, cb?: Callback<number>): R; setrange(key: string, offset: number, value: string, cb?: Callback<number>): R; SETRANGE(key: string, offset: number, value: string, cb?: Callback<number>): R; sismember(key: string, member: string, cb?: Callback<number>): R; SISMEMBER(key: string, member: string, cb?: Callback<number>): R; slaveof(host: string, port: string | number, cb?: Callback<string>): R; SLAVEOF(host: string, port: string | number, cb?: Callback<string>): R; smembers(key: string, cb?: Callback<string[]>): R; SMEMBERS(key: string, cb?: Callback<string[]>): R; smove(source: string, destination: string, member: string, cb?: Callback<number>): R; SMOVE(source: string, destination: string, member: string, cb?: Callback<number>): R; spop(key: string, cb?: Callback<string>): R; spop(key: string, count: number, cb?: Callback<string[]>): R; SPOP(key: string, cb?: Callback<string>): R; SPOP(key: string, count: number, cb?: Callback<string[]>): R; srandmember(key: string, cb?: Callback<string>): R; srandmember(key: string, count: number, cb?: Callback<string[]>): R; SRANDMEMBER(key: string, cb?: Callback<string>): R; SRANDMEMBER(key: string, count: number, cb?: Callback<string[]>): R; strlen(key: string, cb?: Callback<number>): R; STRLEN(key: string, cb?: Callback<number>): R; sync(cb?: Callback<undefined>): R; SYNC(cb?: Callback<undefined>): R; time(cb?: Callback<[string, string]>): R; TIME(cb?: Callback<[string, string]>): R; ttl(key: string, cb?: Callback<number>): R; TTL(key: string, cb?: Callback<number>): R; type(key: string, cb?: Callback<string>): R; TYPE(key: string, cb?: Callback<string>): R; unwatch(cb?: Callback<'OK'>): R; UNWATCH(cb?: Callback<'OK'>): R; wait(numslaves: number, timeout: number, cb?: Callback<number>): R; WAIT(numslaves: number, timeout: number, cb?: Callback<number>): R; zcard(key: string, cb?: Callback<number>): R; ZCARD(key: string, cb?: Callback<number>): R; zcount(key: string, min: number | string, max: number | string, cb?: Callback<number>): R; ZCOUNT(key: string, min: number | string, max: number | string, cb?: Callback<number>): R; zincrby(key: string, increment: number, member: string, cb?: Callback<string>): R; ZINCRBY(key: string, increment: number, member: string, cb?: Callback<string>): R; zlexcount(key: string, min: string, max: string, cb?: Callback<number>): R; ZLEXCOUNT(key: string, min: string, max: string, cb?: Callback<number>): R; zrange(key: string, start: number, stop: number, cb?: Callback<string[]>): R; zrange(key: string, start: number, stop: number, withscores: string, cb?: Callback<string[]>): R; ZRANGE(key: string, start: number, stop: number, cb?: Callback<string[]>): R; ZRANGE(key: string, start: number, stop: number, withscores: string, cb?: Callback<string[]>): R; zrangebylex(key: string, min: string, max: string, cb?: Callback<string[]>): R; zrangebylex(key: string, min: string, max: string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; ZRANGEBYLEX(key: string, min: string, max: string, cb?: Callback<string[]>): R; ZRANGEBYLEX(key: string, min: string, max: string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; zrevrangebylex(key: string, min: string, max: string, cb?: Callback<string[]>): R; zrevrangebylex(key: string, min: string, max: string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; ZREVRANGEBYLEX(key: string, min: string, max: string, cb?: Callback<string[]>): R; ZREVRANGEBYLEX(key: string, min: string, max: string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; zrangebyscore(key: string, min: number | string, max: number | string, cb?: Callback<string[]>): R; zrangebyscore(key: string, min: number | string, max: number | string, withscores: string, cb?: Callback<string[]>): R; zrangebyscore(key: string, min: number | string, max: number | string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; zrangebyscore(key: string, min: number | string, max: number | string, withscores: string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; ZRANGEBYSCORE(key: string, min: number | string, max: number | string, cb?: Callback<string[]>): R; ZRANGEBYSCORE(key: string, min: number | string, max: number | string, withscores: string, cb?: Callback<string[]>): R; ZRANGEBYSCORE(key: string, min: number | string, max: number | string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; ZRANGEBYSCORE(key: string, min: number | string, max: number | string, withscores: string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; zrank(key: string, member: string, cb?: Callback<number | null>): R; ZRANK(key: string, member: string, cb?: Callback<number | null>): R; zremrangebylex(key: string, min: string, max: string, cb?: Callback<number>): R; ZREMRANGEBYLEX(key: string, min: string, max: string, cb?: Callback<number>): R; zremrangebyrank(key: string, start: number, stop: number, cb?: Callback<number>): R; ZREMRANGEBYRANK(key: string, start: number, stop: number, cb?: Callback<number>): R; zremrangebyscore(key: string, min: string | number, max: string | number, cb?: Callback<number>): R; ZREMRANGEBYSCORE(key: string, min: string | number, max: string | number, cb?: Callback<number>): R; zrevrange(key: string, start: number, stop: number, cb?: Callback<string[]>): R; zrevrange(key: string, start: number, stop: number, withscores: string, cb?: Callback<string[]>): R; ZREVRANGE(key: string, start: number, stop: number, cb?: Callback<string[]>): R; ZREVRANGE(key: string, start: number, stop: number, withscores: string, cb?: Callback<string[]>): R; zrevrangebyscore(key: string, min: number | string, max: number | string, cb?: Callback<string[]>): R; zrevrangebyscore(key: string, min: number | string, max: number | string, withscores: string, cb?: Callback<string[]>): R; zrevrangebyscore(key: string, min: number | string, max: number | string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; zrevrangebyscore(key: string, min: number | string, max: number | string, withscores: string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; ZREVRANGEBYSCORE(key: string, min: number | string, max: number | string, cb?: Callback<string[]>): R; ZREVRANGEBYSCORE(key: string, min: number | string, max: number | string, withscores: string, cb?: Callback<string[]>): R; ZREVRANGEBYSCORE(key: string, min: number | string, max: number | string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; ZREVRANGEBYSCORE(key: string, min: number | string, max: number | string, withscores: string, limit: string, offset: number, count: number, cb?: Callback<string[]>): R; zrevrank(key: string, member: string, cb?: Callback<number | null>): R; ZREVRANK(key: string, member: string, cb?: Callback<number | null>): R; zscore(key: string, member: string, cb?: Callback<string>): R; ZSCORE(key: string, member: string, cb?: Callback<string>): R; } export interface IWrappedRedisClient extends ICommands<Promise<any>> { connected: boolean; command_queue_length: number; offline_queue_length: number; retry_delay: number; retry_backoff: number; command_queue: any[]; offline_queue: any[]; connection_id: number; server_info: IServerInfo; stream: any; on(event: 'message' | 'message_buffer', listener: (channel: string, message: string) => void): this; on(event: 'pmessage' | 'pmessage_buffer', listener: (pattern: string, channel: string, message: string) => void): this; on(event: 'subscribe' | 'unsubscribe', listener: (channel: string, count: number) => void): this; on(event: 'psubscribe' | 'punsubscribe', listener: (pattern: string, count: number) => void): this; on(event: string, listener: (...args: any[]) => void): this; end(flush?: boolean): void; unref(): void; cork(): void; uncork(): void; duplicate(options?: IClientOpts, cb?: Callback<IWrappedRedisClient>): IWrappedRedisClient; sendCommand(command: string, cb?: Callback<any>): boolean; sendCommand(command: string, args?: any[], cb?: Callback<any>): boolean; send_command(command: string, cb?: Callback<any>): boolean; send_command(command: string, args?: any[], cb?: Callback<any>): boolean; addCommand(command: string): void; add_command(command: string): void; }