import { Logger } from '@n8n/backend-common'; import { GlobalConfig } from '@n8n/config'; import ioRedis from 'ioredis'; import type { Cluster, RedisOptions } from 'ioredis'; import { TypedEmitter } from '../typed-emitter'; import type { RedisClientType } from '../scaling/redis/redis.types'; type RedisEventMap = { 'connection-lost': number; 'connection-recovered': never; }; type RedisClientCreateOptions = { type: RedisClientType; extraOptions?: RedisOptions; }; export declare class RedisClientService extends TypedEmitter { private readonly logger; private readonly globalConfig; private readonly clients; private readonly config; private lostConnection; constructor(logger: Logger, globalConfig: GlobalConfig); isConnected(): boolean; createClient(options: RedisClientCreateOptions): ioRedis | Cluster; toValidPrefix(prefix: string): string; private createRegularClient; private createClusterClient; private getOptions; private getClusterOptions; private makeRetryStrategy; private clusterNodes; emit(event: Event, ...args: Array): boolean; private registerListeners; private formatTimeout; } export {};