///
import EventEmitter from 'node:events';
import { RedisClientOptions } from '../client';
import { PubSubListener } from '../client/pub-sub';
import { RedisNode } from './types';
type OnError = (err: unknown) => unknown;
export declare class PubSubProxy extends EventEmitter {
#private;
constructor(clientOptions: RedisClientOptions, onError: OnError);
changeNode(node: RedisNode): Promise;
subscribe(channels: string | Array, listener: PubSubListener, bufferMode?: T): Promise | Promise | undefined>;
unsubscribe(channels?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise;
pSubscribe(patterns: string | Array, listener: PubSubListener, bufferMode?: T): Promise;
pUnsubscribe(patterns?: string | Array, listener?: PubSubListener, bufferMode?: T): Promise;
destroy(): void;
}
export {};
//# sourceMappingURL=pub-sub-proxy.d.ts.map