///
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;
}