import Redis, { RedisValue, RedisKey } from 'ioredis';
import { Redis as RedisMockType } from 'ioredis-mock';
export type Cache = {
    node: RedisMockType;
    redis?: Redis;
    set: (key: RedisKey, value: RedisValue, ttl?: number | false, keepTtl?: boolean) => Promise<'OK' | undefined>;
    mset: (values: Record<string, RedisValue>, ttl?: number, keepTtl?: boolean) => Promise<'OK' | undefined>;
    get: (key: RedisKey, resetTTL?: boolean, ttl?: number) => Promise<string | null | undefined>;
    keys: (pattern: string) => Promise<RedisKey[] | undefined>;
    delete: (keys: RedisKey[]) => Promise<number | undefined>;
    ttl: (key: RedisKey) => Promise<number | undefined>;
    rpush: (key: RedisKey, ...values: RedisValue[]) => Promise<number | undefined>;
    lrange: (key: RedisKey, start: number, stop: number) => Promise<string[] | undefined>;
    incr: (key: RedisKey, ttl?: number) => Promise<number | undefined>;
};
export declare const getCache: () => Cache;
declare const _default: Cache;
export default _default;
//# sourceMappingURL=index.d.ts.map