export interface ICache { get(dexKey: string, network: number, cacheKey: string): Promise; mget(keys: string[]): Promise>; ttl(dexKey: string, network: number, cacheKey: string): Promise; keys(dexKey: string, network: number, cacheKey: string): Promise; rawget(key: string): Promise; rawset(key: string, value: string, ttl: number): Promise; rawdel(key: string): Promise; del(dexKey: string, network: number, cacheKey: string): Promise; setex(dexKey: string, network: number, cacheKey: string, ttlSeconds: number, value: string): Promise; msetex(...args: Array): Promise; set(key: string, value: string): Promise; mset(...args: Array): Promise; getAndCacheLocally(dexKey: string, network: number, cacheKey: string, ttlSeconds: number): Promise; setexAndCacheLocally(dexKey: string, network: number, cacheKey: string, ttlSeconds: number, value: string): Promise; sadd(setKey: string, key: string): Promise; zadd(key: string, bulkItemsToAdd: (number | string)[], option?: 'NX'): Promise; zremrangebyscore(key: string, min: number, max: number): Promise; zrem(key: string, membersKeys: string[]): Promise; zscore(setKey: string, key: string): Promise; sismember(setKey: string, key: string): Promise; smembers(setKey: string): Promise; hset(mapKey: string, key: string, value: string): Promise; hdel(mapKey: string, keys: string[]): Promise; hget(mapKey: string, key: string): Promise; hlen(mapKey: string): Promise; hmget(mapKey: string, keys: string[]): Promise<(string | null)[]>; hmset(mapKey: string, mappings: Record): Promise; hgetAll(mapKey: string): Promise>; publish(channel: string, msg: string): Promise; subscribe(channel: string, cb: (channel: string, msg: string) => void): () => void; addBatchHGet(mapKey: string, key: string, cb: (result: string | null) => boolean): void; }