import Redis from "ioredis";
export declare abstract class RedisService {
    protected client: Redis;
    private ttl;
    private baseConfig;
    constructor(db?: number, ttl?: number);
    set(key: string, value: any, ttlSeconds?: number): Promise<void>;
    get<T = any>(key: string): Promise<T | null>;
    del(key: string): Promise<number>;
    exists(key: string): Promise<boolean>;
    ttlKey(key: string): Promise<number>;
    mget<T = any>(keys: string[]): Promise<(T | null)[]>;
    disconnect(): Promise<void>;
    protected getClient(): Redis;
    fetchIfNot(key: string, callback: Function): Promise<any>;
    delByPatternPipeline(pattern: string, batchSize?: number): Promise<number>;
    delByPattern(pattern: string, batchSize?: number): Promise<number>;
}
