import { RedisClient, Multi } from "redis"; /** A wrapper around a Redis client to make communication less complex. */ export declare class RedisConnection { /** The Redis client to promisify. */ readonly client: RedisClient; /** Construct given the Redis client. */ constructor(client: RedisClient); /** Gets a keys value. */ get(key: string): Promise; /** Sets a keys value and options. */ set(key: string, value: string, ...options: any[]): Promise; /** Sets the value and expiration of a key */ setex(key: string, seconds: number, value: string): Promise; /** Deletes a value */ del(...keys: string[]): Promise; /** Increments a key value. */ incr(key: string): Promise; /** Gets all values in a hash. */ hgetall(key: string): Promise<{ [key: string]: string; }>; /** Creates a multi command session. */ multi(): Multi; } declare module "redis" { interface Multi { /** Runs the session's commands returning a promise for the results. */ execAsync(): Promise; } }