import { Redis } from 'ioredis';
import { CacheOptions } from '../config/config-options-interface';
import { CacheAdapter, SetValueType } from './cache-adapter-interface';
export declare class IORedisAdapter implements CacheAdapter<Redis> {
    client: Redis;
    timeout: number;
    settings: Omit<CacheOptions, 'type'>;
    constructor({ host, port, password, keyPrefix, requestTimeout, ttl, }: CacheOptions);
    private getInstance;
    get<T>(key: string): Promise<T>;
    set<T>(key: string, data: T, ttl?: number | false): Promise<void>;
    delete(key: string): Promise<void>;
    private disconnect;
    handleError(err: Error): null;
    getSetMembers(key: string): Promise<string[] | null>;
    addToSet<T extends SetValueType>(key: string, value: T | T[]): Promise<void>;
    removeFromSet<T extends SetValueType>(key: string, value: T | T[]): Promise<void>;
    isSetMember<T extends SetValueType>(key: string, value: T): Promise<boolean>;
    expire(key: string, ttl: number): Promise<void>;
}
