import { RedisClientOptions, RedisClientType, RedisClusterOptions, RedisClusterType } from 'redis'; import '@redis/client'; import '@redis/bloom'; import '@redis/graph'; import '@redis/json'; import '@redis/search'; import '@redis/time-series'; import type { Cache, Store, Config } from 'cache-manager'; declare type Clients = RedisClientType | RedisClusterType; export declare type RedisCache = Cache>; declare type Name = T extends RedisClientType ? 'redis' : T extends RedisClusterType ? 'redis-cluster' : never; export interface RedisStore extends Store { name: Name; isCacheable: (value: unknown) => boolean; get client(): T; } export declare function redisStore(options?: RedisClientOptions & Config): Promise, Record>>>; /** * redisCache should be connected */ export declare function redisInsStore(redisCache: RedisClientType, options?: Config): RedisStore, Record>>; export declare function redisClusterStore(options: RedisClusterOptions & Config): Promise, Record>>>; /** * redisCache should be connected */ export declare function redisClusterInsStore(redisCache: RedisClusterType, options: RedisClusterOptions & Config): RedisStore, Record>>; export {};