import { Logger } from '@nestjs/common/services/logger.service'; import { RedisEvents, RedisStatus } from '../events/redis.events'; import { ReadPacket, RedisOptions, WritePacket } from '../interfaces'; import { ClientProxy } from './client-proxy'; type Redis = any; /** * @publicApi */ export declare class ClientRedis extends ClientProxy { protected readonly options: Required['options']; protected readonly logger: Logger; protected readonly subscriptionsCount: Map; protected pubClient: Redis; protected subClient: Redis; protected connectionPromise: Promise; protected isManuallyClosed: boolean; protected wasInitialConnectionSuccessful: boolean; protected pendingEventListeners: Array<{ event: keyof RedisEvents; callback: RedisEvents[keyof RedisEvents]; }>; constructor(options: Required['options']); getRequestPattern(pattern: string): string; getReplyPattern(pattern: string): string; close(): Promise; connect(): Promise; createClient(): Redis; registerErrorListener(client: Redis): void; registerReconnectListener(client: { on: (event: string, fn: () => void) => void; }): void; registerReadyListener(client: { on: (event: string, fn: () => void) => void; }): void; registerEndListener(client: { on: (event: string, fn: () => void) => void; }): void; getClientOptions(): Partial; on(event: EventKey, callback: EventCallback): void; unwrap(): T; createRetryStrategy(times: number): undefined | number; createResponseCallback(): (channel: string, buffer: string) => Promise; protected publish(partialPacket: ReadPacket, callback: (packet: WritePacket) => any): () => void; protected dispatchEvent(packet: ReadPacket): Promise; protected unsubscribeFromChannel(channel: string): void; } export {};