import { ClientCommandOptions } from "./client"; import { CommandOptions } from "./command-options"; import { ValkeyCommand, ValkeyCommandArgument, ValkeyCommandArguments, ValkeyCommandReply, ValkeyFunction, ValkeyFunctions, ValkeyModules, ValkeyScript, ValkeyScripts } from "./commands"; type Instantiable = new (...args: Array) => T; type CommandsExecutor = (command: C, args: Array, name: string) => unknown; interface AttachCommandsConfig { BaseClass: Instantiable; commands: Record; executor: CommandsExecutor; } export declare function attachCommands({ BaseClass, commands, executor, }: AttachCommandsConfig): void; interface AttachExtensionsConfig { BaseClass: T; modulesExecutor: CommandsExecutor; modules?: ValkeyModules; functionsExecutor: CommandsExecutor; functions?: ValkeyFunctions; scriptsExecutor: CommandsExecutor; scripts?: ValkeyScripts; } export declare function attachExtensions(config: AttachExtensionsConfig): any; export declare function transformCommandArguments(command: ValkeyCommand, args: Array): { jsArgs: Array; args: ValkeyCommandArguments; options: CommandOptions | undefined; }; export declare function transformLegacyCommandArguments(args: Array): Array; export declare function transformCommandReply(command: C, rawReply: unknown, preserved: unknown): ValkeyCommandReply; export declare function fCallArguments(name: ValkeyCommandArgument, fn: ValkeyFunction, args: ValkeyCommandArguments): ValkeyCommandArguments; export {};