/// import { RedisCommandArgument, RedisCommandArguments, RedisCommandRawReply } from '../commands'; export interface QueueCommandOptions { asap?: boolean; chainId?: symbol; signal?: AbortSignal; returnBuffers?: boolean; ignorePubSubMode?: boolean; } export declare enum PubSubSubscribeCommands { SUBSCRIBE = "SUBSCRIBE", PSUBSCRIBE = "PSUBSCRIBE" } export declare enum PubSubUnsubscribeCommands { UNSUBSCRIBE = "UNSUBSCRIBE", PUNSUBSCRIBE = "PUNSUBSCRIBE" } export declare type PubSubListener = (message: T, channel: T) => unknown; export default class RedisCommandsQueue { #private; constructor(maxLength: number | null | undefined); addCommand(args: RedisCommandArguments, options?: QueueCommandOptions): Promise; subscribe(command: PubSubSubscribeCommands, channels: RedisCommandArgument | Array, listener: PubSubListener, returnBuffers?: T): Promise; unsubscribe(command: PubSubUnsubscribeCommands, channels?: string | Array, listener?: PubSubListener, returnBuffers?: T): Promise; resubscribe(): Promise | undefined; getCommandToSend(): RedisCommandArguments | undefined; parseResponse(data: Buffer): void; flushWaitingForReply(err: Error): void; flushAll(err: Error): void; }