import COMMANDS from '../commands'; import { MULTI_REPLY, MultiReply, MultiReplyType } from '../multi-command'; import { ReplyWithTypeMapping, CommandReply, Command, CommandArguments, CommanderConfig, RedisFunctions, RedisModules, RedisScripts, RespVersions, TransformReply, TypeMapping } from '../RESP/types'; import { RedisSentinelType } from './types'; import { Tail } from '../commands/generic-transformers'; type CommandSignature, C extends Command, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = (...args: Tail>) => RedisSentinelMultiCommandType<[ ...REPLIES, ReplyWithTypeMapping, TYPE_MAPPING> ], M, F, S, RESP, TYPE_MAPPING>; type WithCommands, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { [P in keyof typeof COMMANDS]: CommandSignature; }; type WithModules, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { [P in keyof M]: { [C in keyof M[P]]: CommandSignature; }; }; type WithFunctions, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { [L in keyof F]: { [C in keyof F[L]]: CommandSignature; }; }; type WithScripts, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = { [P in keyof S]: CommandSignature; }; export type RedisSentinelMultiCommandType, M extends RedisModules, F extends RedisFunctions, S extends RedisScripts, RESP extends RespVersions, TYPE_MAPPING extends TypeMapping> = (RedisSentinelMultiCommand & WithCommands & WithModules & WithFunctions & WithScripts); export default class RedisSentinelMultiCommand { #private; private static _createCommand; private static _createModuleCommand; private static _createFunctionCommand; private static _createScriptCommand; static extend, F extends RedisFunctions = Record, S extends RedisScripts = Record, RESP extends RespVersions = 2>(config?: CommanderConfig): any; constructor(sentinel: RedisSentinelType, typeMapping: TypeMapping); addCommand(isReadonly: boolean | undefined, args: CommandArguments, transformReply?: TransformReply): this; exec(execAsPipeline?: boolean): Promise>; EXEC: (execAsPipeline?: boolean) => Promise>; execTyped(execAsPipeline?: boolean): Promise; execAsPipeline(): Promise>; execAsPipelineTyped(): Promise; } export {}; //# sourceMappingURL=multi-commands.d.ts.map