import Redis, { Cluster, ClusterNode, ClusterOptions, RedisOptions } from 'ioredis'; import type { Cache, Store, Config } from 'cache-manager'; export type RedisCache = Cache; export interface RedisStore extends Store { readonly isCacheable: (value: unknown) => boolean; get client(): Redis | Cluster; } export declare class NoCacheableError implements Error { message: string; name: string; constructor(message: string); } export declare const avoidNoCacheable: (p: Promise) => Promise; export interface RedisClusterConfig { nodes: ClusterNode[]; options?: ClusterOptions; } export declare function redisStore(options?: (RedisOptions | { clusterConfig: RedisClusterConfig; }) & Config): Promise; export declare function redisInsStore(redisCache: Redis | Cluster, options?: Config): RedisStore;