///
import * as ioredis from "ioredis";
import { CacheScriptEvaluator, CacheService, DeleteByPatternOptions, HashCacheService, ListCacheService, LuaCall, SetCacheOption, SetCacheService } from "../interfaces";
export declare class RedisService implements CacheService, HashCacheService, ListCacheService, CacheScriptEvaluator, SetCacheService {
protected _redis: ioredis.Redis;
constructor(config: ioredis.RedisOptions);
get(key: string): Promise;
getNumber(key: string): Promise;
deleteByPattern(deletePattern: string, options?: DeleteByPatternOptions): Promise;
del(...keys: string[]): Promise;
multiEval(calls: LuaCall[]): Promise;
sadd(key: string, ...values: string[]): Promise;
srem(key: string, ...values: string[]): Promise;
scard(key: string): Promise;
eval(script: string, numberOfKeys: number, ...args: any[]): Promise;
hset(key: string, field: string, value: any): Promise;
hexists(key: string, field: string): Promise;
lpush(key: string, value: any): Promise;
lrem(key: string, count: string | number, element: string | Buffer | number): Promise;
rpush(key: string, value: any): Promise;
lset(key: string, index: number, value: any): Promise;
lrange(key: string, start: number, end: number): Promise;
lindex(key: string, index: number): Promise;
llen(key: string): Promise;
hget(key: string, field: string): Promise;
hdel(key: string, ...fields: string[]): Promise;
hincrby(key: string, field: string, value?: number): Promise;
hincrbyfloat(key: string, field: string, value?: number): Promise;
hkeys(key: string): Promise;
ttl(key: string): Promise;
hlen(key: string): Promise;
set(key: string, value: any, option?: SetCacheOption): Promise;
incrBy(key: string, value?: number): Promise;
protected convertToNumber(value: any): number;
expire(key: string, ttl: number): Promise;
incrByFloat(key: string, value: number): Promise;
decrBy(key: string, value?: number): Promise;
}