import { ValkeyCommand, ValkeyCommandArguments, ValkeyCommandRawReply, ValkeyFunction, ValkeyScript } from "./commands";
import { ErrorReply } from "./errors";
export interface ValkeyMultiQueuedCommand {
    args: ValkeyCommandArguments;
    transformReply?: ValkeyCommand["transformReply"];
}
export default class ValkeyMultiCommand {
    static generateChainId(): symbol;
    readonly queue: Array<ValkeyMultiQueuedCommand>;
    readonly scriptsInUse: Set<string>;
    addCommand(args: ValkeyCommandArguments, transformReply?: ValkeyCommand["transformReply"]): void;
    addFunction(name: string, fn: ValkeyFunction, args: Array<unknown>): ValkeyCommandArguments;
    addScript(script: ValkeyScript, args: Array<unknown>): ValkeyCommandArguments;
    handleExecReplies(rawReplies: Array<ValkeyCommandRawReply | ErrorReply>): Array<ValkeyCommandRawReply>;
    transformReplies(rawReplies: Array<ValkeyCommandRawReply | ErrorReply>): Array<ValkeyCommandRawReply>;
}
