dts2hx icon indicating copy to clipboard operation
dts2hx copied to clipboard

Issues with redis

Open vladimirvelikov opened this issue 3 years ago • 1 comments

Hi @haxiomic, Could you point me to what might be wrong/missing for a successful conversion of the redis node module?

After runing dts2hx on the latest version I get the following:

From:

export declare type RedisClientType<M extends RedisModules = Record<string, never>, F extends RedisFunctions = Record<string, never>, S extends RedisScripts = Record<string, never>> = RedisClient<M, F, S> & WithCommands & WithModules<M> & WithFunctions<F> & WithScripts<S>;

which is found in .\node_modules@redis\client\dist\lib\client\index.d.ts

I get

typedef RedisClientType<M, F, S> = Dynamic;

in .haxelib\redis-client\1,2,0\redis\client\RedisClientType.hx

Tried downlevel-dts but it doesn't seem to change much of the code.

Will be happy to try and contribute a solution if one is needed/possible.

vladimirvelikov avatar Jul 20 '22 18:07 vladimirvelikov

Hey, there's a few secret options that are off by default because they bug out on some packages try adding --allowIntersectionRasterization

With that I get this big output, it has to convert the type intersection list into a single type of its own

typedef RedisClientType<M, F, S> = {
	@:native("private")
	var private_ : Dynamic;
	dynamic function commandOptions<T>(options:T):redis.client.dist.lib.command_options.CommandOptions<T>;
	final options : Null<RedisClientOptions<M, F, S>>;
	final isOpen : Bool;
	final isReady : Bool;
	final v4 : haxe.DynamicAccess<Dynamic>;
	function duplicate(?overrides:{ @:optional var url : String; @:optional var socket : Dynamic; @:optional var username : String; @:optional var password : String; @:optional var name : String; @:optional var database : Float; @:optional var commandsQueueMaxLength : Float; @:optional var disableOfflineQueue : Bool; @:optional var readonly : Bool; @:optional var legacyMode : Bool; @:optional var isolationPoolOptions : generic_pool.Options; @:optional var modules : M; @:optional var functions : F; @:optional var scripts : S; }):RedisClientType<M, F, S>;
	function connect():js.lib.Promise<ts.Undefined>;
	function commandsExecutor<C>(command:C, args:Array<Any>):js.lib.Promise<redis.client.dist.lib.commands.index.RedisCommandReply<C>>;
	function sendCommand<T>(args:redis.client.dist.lib.commands.index.RedisCommandArguments, ?options:redis.client.dist.lib.client.index.ClientCommandOptions):js.lib.Promise<T>;
	function functionsExecuter<F>(fn:F, args:Array<Any>, name:String):js.lib.Promise<redis.client.dist.lib.commands.index.RedisCommandReply<F>>;
	function executeFunction(name:String, fn:redis.client.dist.lib.commands.index.RedisFunction, args:redis.client.dist.lib.commands.index.RedisCommandArguments, ?options:redis.client.dist.lib.client.index.ClientCommandOptions):js.lib.Promise<Dynamic>;
	function scriptsExecuter<S>(script:S, args:Array<Any>):js.lib.Promise<redis.client.dist.lib.commands.index.RedisCommandReply<S>>;
	function executeScript(script:redis.client.dist.lib.lua_script.RedisScriptConfig & redis.client.dist.lib.lua_script.SHA1, args:redis.client.dist.lib.commands.index.RedisCommandArguments, ?options:redis.client.dist.lib.client.index.ClientCommandOptions):js.lib.Promise<Dynamic>;
	@:overload(function(options:redis.client.dist.lib.command_options.CommandOptions<redis.client.dist.lib.client.index.ClientCommandOptions>, db:Float):js.lib.Promise<ts.Undefined> { })
	function SELECT(db:Float):js.lib.Promise<ts.Undefined>;
	@:overload(function(options:redis.client.dist.lib.command_options.CommandOptions<redis.client.dist.lib.client.index.ClientCommandOptions>, db:Float):js.lib.Promise<ts.Undefined> { })
	dynamic function select(db:Float):js.lib.Promise<ts.Undefined>;
	function SUBSCRIBE<T>(channels:ts.AnyOf2<String, Array<String>>, listener:redis.client.dist.lib.client.commands_queue.PubSubListener<T, Dynamic>, ?bufferMode:T):js.lib.Promise<ts.Undefined>;
	dynamic function subscribe<T>(channels:ts.AnyOf2<String, Array<String>>, listener:redis.client.dist.lib.client.commands_queue.PubSubListener<T, Dynamic>, ?bufferMode:T):js.lib.Promise<ts.Undefined>;
	function PSUBSCRIBE<T>(patterns:ts.AnyOf2<String, Array<String>>, listener:redis.client.dist.lib.client.commands_queue.PubSubListener<T, Dynamic>, ?bufferMode:T):js.lib.Promise<ts.Undefined>;
	dynamic function pSubscribe<T>(patterns:ts.AnyOf2<String, Array<String>>, listener:redis.client.dist.lib.client.commands_queue.PubSubListener<T, Dynamic>, ?bufferMode:T):js.lib.Promise<ts.Undefined>;
	function UNSUBSCRIBE<T>(?channels:ts.AnyOf2<String, Array<String>>, ?listener:redis.client.dist.lib.client.commands_queue.PubSubListener<T, Dynamic>, ?bufferMode:T):js.lib.Promise<ts.Undefined>;
	dynamic function unsubscribe<T>(?channels:ts.AnyOf2<String, Array<String>>, ?listener:redis.client.dist.lib.client.commands_queue.PubSubListener<T, Dynamic>, ?bufferMode:T):js.lib.Promise<ts.Undefined>;
	function PUNSUBSCRIBE<T>(?patterns:ts.AnyOf2<String, Array<String>>, ?listener:redis.client.dist.lib.client.commands_queue.PubSubListener<T, Dynamic>, ?bufferMode:T):js.lib.Promise<ts.Undefined>;
	dynamic function pUnsubscribe<T>(?patterns:ts.AnyOf2<String, Array<String>>, ?listener:redis.client.dist.lib.client.commands_queue.PubSubListener<T, Dynamic>, ?bufferMode:T):js.lib.Promise<ts.Undefined>;
	function QUIT():js.lib.Promise<ts.Undefined>;
	dynamic function quit():js.lib.Promise<ts.Undefined>;
	function executeIsolated<T>(fn:(client:RedisClientType<M, F, S>) -> ts.AnyOf2<js.lib.Promise<T>, T>):js.lib.Promise<T>;
	function multi():redis.client.dist.lib.client.multi_command.RedisClientMultiCommandType<M, F, S>;
	function multiExecutor(commands:Array<redis.client.dist.lib.multi_command.RedisMultiQueuedCommand>, ?selectedDB:Float, ?chainId:js.lib.Symbol):js.lib.Promise<Array<Dynamic>>;
	function scanIterator(?options:redis.client.dist.lib.commands.scan.ScanCommandOptions):Dynamic;
	function hScanIterator(key:String, ?options:redis.client.dist.lib.commands.generic_transformers.ScanOptions):Dynamic;
	function sScanIterator(key:String, ?options:redis.client.dist.lib.commands.generic_transformers.ScanOptions):Dynamic;
	function zScanIterator(key:String, ?options:redis.client.dist.lib.commands.generic_transformers.ScanOptions):Dynamic;
	function disconnect():js.lib.Promise<ts.Undefined>;
	dynamic function ACL_CAT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclCat<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_DELUSER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclDelUser<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_DRYRUN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclDryRun<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_GENPASS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclGenPass<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_GETUSER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclGetUser<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_LIST<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclList<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_LOAD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclLoad<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_LOG_RESET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclLogReset<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_LOG<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclLog<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_SAVE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclSave<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_SETUSER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclSetUser<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_USERS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclUsers<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ACL_WHOAMI<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function aclWhoAmI<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ASKING<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function asking<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function AUTH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function auth<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BGREWRITEAOF<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function bgRewriteAof<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BGSAVE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function bgSave<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_CACHING<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientCaching<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_GETNAME<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientGetName<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_GETREDIR<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientGetRedir<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_ID<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientId<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_KILL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientKill<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	@:native("CLIENT_NO-EVICT")
	dynamic function CLIENT_NO_EVICT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientNoEvict<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_PAUSE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientPause<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_SETNAME<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientSetName<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_TRACKING<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientTracking<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_TRACKINGINFO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientTrackingInfo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_UNPAUSE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientUnpause<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLIENT_INFO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clientInfo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_ADDSLOTS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterAddSlots<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_ADDSLOTSRANGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterAddSlotsRange<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_BUMPEPOCH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterBumpEpoch<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_COUNT_FAILURE_REPORTS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterCountFailureReports<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_COUNTKEYSINSLOT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterCountKeysInSlot<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_DELSLOTS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterDelSlots<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_DELSLOTSRANGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterDelSlotsRange<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_FAILOVER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterFailover<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_FLUSHSLOTS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterFlushSlots<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_FORGET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterForget<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_GETKEYSINSLOT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterGetKeysInSlot<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_INFO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterInfo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_KEYSLOT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterKeySlot<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_LINKS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterLinks<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_MEET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterMeet<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_MYID<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterMyId<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_NODES<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterNodes<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_REPLICAS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterReplicas<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_REPLICATE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterReplicate<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_RESET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterReset<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_SAVECONFIG<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterSaveConfig<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_SET_CONFIG_EPOCH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterSetConfigEpoch<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_SETSLOT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterSetSlot<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CLUSTER_SLOTS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function clusterSlots<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function COMMAND_COUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function commandCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function COMMAND_GETKEYS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function commandGetKeys<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function COMMAND_GETKEYSANDFLAGS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function commandGetKeysAndFlags<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function COMMAND_INFO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function commandInfo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function COMMAND_LIST<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function commandList<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function COMMAND<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function command<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CONFIG_GET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function configGet<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CONFIG_RESETASTAT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function configResetStat<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CONFIG_REWRITE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function configRewrite<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function CONFIG_SET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function configSet<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function DBSIZE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function dbSize<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function DISCARD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function discard<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ECHO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function echo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FAILOVER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function failover<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FLUSHALL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function flushAll<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FLUSHDB<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function flushDb<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FUNCTION_DELETE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function functionDelete<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FUNCTION_DUMP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function functionDump<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FUNCTION_FLUSH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function functionFlush<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FUNCTION_KILL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function functionKill<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FUNCTION_LIST_WITHCODE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function functionListWithCode<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FUNCTION_LIST<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function functionList<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FUNCTION_LOAD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function functionLoad<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FUNCTION_RESTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function functionRestore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FUNCTION_STATS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function functionStats<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HELLO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hello<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function INFO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function info<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function KEYS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function keys<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LASTSAVE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lastSave<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LATENCY_DOCTOR<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function latencyDoctor<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LOLWUT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lolwut<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MEMORY_DOCTOR<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function memoryDoctor<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	@:native("MEMORY_MALLOC-STATS")
	dynamic function MEMORY_MALLOC_STATS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function memoryMallocStats<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MEMORY_PURGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function memoryPurge<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MEMORY_STATS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function memoryStats<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MEMORY_USAGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function memoryUsage<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MODULE_LIST<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function moduleList<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MODULE_LOAD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function moduleLoad<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MODULE_UNLOAD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function moduleUnload<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MOVE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function move<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PING<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ping<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PUBSUB_CHANNELS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pubSubChannels<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PUBSUB_NUMPAT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pubSubNumPat<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PUBSUB_NUMSUB<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pubSubNumSub<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function RANDOMKEY<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function randomKey<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function READONLY<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function readonly<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function READWRITE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function readwrite<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function REPLICAOF<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function replicaOf<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	@:native("RESTORE-ASKING")
	dynamic function RESTORE_ASKING<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function restoreAsking<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ROLE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function role<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SAVE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function save<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SCAN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function scan<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SCRIPT_DEBUG<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function scriptDebug<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SCRIPT_EXISTS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function scriptExists<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SCRIPT_FLUSH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function scriptFlush<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SCRIPT_KILL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function scriptKill<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SCRIPT_LOAD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function scriptLoad<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SHUTDOWN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function shutdown<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SWAPDB<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function swapDb<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function TIME<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function time<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function UNWATCH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function unwatch<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function WAIT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function wait<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function APPEND<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function append<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BITCOUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function bitCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BITFIELD_RO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function bitFieldRo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BITFIELD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function bitField<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BITOP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function bitOp<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BITPOS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function bitPos<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BLMOVE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function blMove<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BLMPOP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function blmPop<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BLPOP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function blPop<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BRPOP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function brPop<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BRPOPLPUSH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function brPopLPush<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BZMPOP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function bzmPop<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BZPOPMAX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function bzPopMax<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function BZPOPMIN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function bzPopMin<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function COPY<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function copy<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function DECR<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function decr<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function DECRBY<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function decrBy<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function DEL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function del<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function DUMP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function dump<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function EVAL_RO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function evalRo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function EVAL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function eval<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function EVALSHA<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function evalSha<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function EVALSHA_RO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function evalShaRo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function EXISTS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function exists<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function EXPIRE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function expire<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function EXPIREAT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function expireAt<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function EXPIRETIME<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function expireTime<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FCALL_RO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function fCallRo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function FCALL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function fCall<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEOADD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoAdd<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEODIST<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoDist<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEOHASH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoHash<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEOPOS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoPos<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEORADIUS_RO_WITH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoRadiusRoWith<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEORADIUS_RO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoRadiusRo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEORADIUS_WITH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoRadiusWith<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEORADIUS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoRadius<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEORADIUSBYMEMBER_RO_WITH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoRadiusByMemberRoWith<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEORADIUSBYMEMBER_RO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoRadiusByMemberRo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEORADIUSBYMEMBER_WITH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoRadiusByMemberWith<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEORADIUSBYMEMBER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoRadiusByMember<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEORADIUSBYMEMBERSTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoRadiusByMemberStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEORADIUSSTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoRadiusStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEOSEARCH_WITH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoSearchWith<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEOSEARCH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoSearch<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GEOSEARCHSTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function geoSearchStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function get<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GETBIT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function getBit<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GETDEL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function getDel<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GETEX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function getEx<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GETRANGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function getRange<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function GETSET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function getSet<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HDEL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hDel<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HEXISTS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hExists<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HGET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hGet<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HGETALL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hGetAll<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HINCRBY<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hIncrBy<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HINCRBYFLOAT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hIncrByFloat<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HKEYS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hKeys<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HLEN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hLen<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HMGET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hmGet<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HRANDFIELD_COUNT_WITHVALUES<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hRandFieldCountWithValues<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HRANDFIELD_COUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hRandFieldCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HRANDFIELD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hRandField<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HSCAN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hScan<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HSET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hSet<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HSETNX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hSetNX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HSTRLEN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hStrLen<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function HVALS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function hVals<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function INCR<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function incr<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function INCRBY<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function incrBy<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function INCRBYFLOAT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function incrByFloat<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LCS_IDX_WITHMATCHLEN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lcsIdxWithMatchLen<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LCS_IDX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lcsIdx<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LCS_LEN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lcsLen<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LCS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lcs<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LINDEX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lIndex<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LINSERT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lInsert<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LLEN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lLen<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LMOVE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lMove<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LMPOP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lmPop<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LPOP_COUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lPopCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LPOP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lPop<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LPOS_COUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lPosCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LPOS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lPos<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LPUSH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lPush<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LPUSHX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lPushX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LRANGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lRange<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LREM<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lRem<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LSET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lSet<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function LTRIM<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function lTrim<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MGET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function mGet<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MIGRATE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function migrate<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MSET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function mSet<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function MSETNX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function mSetNX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function OBJECT_ENCODING<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function objectEncoding<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function OBJECT_FREQ<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function objectFreq<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function OBJECT_IDLETIME<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function objectIdleTime<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function OBJECT_REFCOUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function objectRefCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PERSIST<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function persist<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PEXPIRE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pExpire<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PEXPIREAT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pExpireAt<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PEXPIRETIME<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pExpireTime<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PFADD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pfAdd<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PFCOUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pfCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PFMERGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pfMerge<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PSETEX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pSetEx<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PTTL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function pTTL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function PUBLISH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function publish<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function RENAME<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function rename<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function RENAMENX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function renameNX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function RPOP_COUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function rPopCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function RPOP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function rPop<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function RPOPLPUSH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function rPopLPush<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function RPUSH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function rPush<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function RPUSHX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function rPushX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SADD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sAdd<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SCARD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sCard<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SDIFF<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sDiff<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SDIFFSTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sDiffStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SINTER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sInter<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SINTERCARD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sInterCard<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SINTERSTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sInterStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SET<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function set<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SETBIT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function setBit<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SETEX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function setEx<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SETNX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function setNX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SETRANGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function setRange<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SISMEMBER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sIsMember<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SMEMBERS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sMembers<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SMISMEMBER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function smIsMember<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SMOVE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sMove<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SORT_RO<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sortRo<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SORT_STORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sortStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SORT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sort<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SPOP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sPop<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SRANDMEMBER_COUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sRandMemberCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SRANDMEMBER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sRandMember<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SREM<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sRem<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SSCAN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sScan<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function STRLEN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function strLen<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SUNION<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sUnion<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function SUNIONSTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function sUnionStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function TOUCH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function touch<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function TTL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ttl<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function TYPE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function type<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function UNLINK<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function unlink<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function WATCH<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function watch<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XACK<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xAck<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XADD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xAdd<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XAUTOCLAIM_JUSTID<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xAutoClaimJustId<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XAUTOCLAIM<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xAutoClaim<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XCLAIM<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xClaim<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XCLAIM_JUSTID<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xClaimJustId<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XDEL<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xDel<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XGROUP_CREATE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xGroupCreate<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XGROUP_CREATECONSUMER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xGroupCreateConsumer<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XGROUP_DELCONSUMER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xGroupDelConsumer<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XGROUP_DESTROY<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xGroupDestroy<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XGROUP_SETID<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xGroupSetId<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XINFO_CONSUMERS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xInfoConsumers<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XINFO_GROUPS<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xInfoGroups<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XINFO_STREAM<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xInfoStream<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XLEN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xLen<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XPENDING_RANGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xPendingRange<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XPENDING<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xPending<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XRANGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xRange<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XREAD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xRead<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XREADGROUP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xReadGroup<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XREVRANGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xRevRange<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XSETID<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xSetId<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function XTRIM<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function xTrim<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZADD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zAdd<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZCARD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zCard<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZCOUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZDIFF_WITHSCORES<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zDiffWithScores<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZDIFF<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zDiff<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZDIFFSTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zDiffStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZINCRBY<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zIncrBy<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZINTER_WITHSCORES<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zInterWithScores<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZINTER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zInter<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZINTERCARD<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zInterCard<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZINTERSTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zInterStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZLEXCOUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zLexCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZMPOP<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zmPop<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZMSCORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zmScore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZPOPMAX_COUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zPopMaxCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZPOPMAX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zPopMax<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZPOPMIN_COUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zPopMinCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZPOPMIN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zPopMin<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZRANDMEMBER_COUNT_WITHSCORES<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRandMemberCountWithScores<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZRANDMEMBER_COUNT<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRandMemberCount<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZRANDMEMBER<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRandMember<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZRANGE_WITHSCORES<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRangeWithScores<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZRANGE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRange<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZRANGEBYLEX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRangeByLex<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZRANGEBYSCORE_WITHSCORES<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRangeByScoreWithScores<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZRANGEBYSCORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRangeByScore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZRANGESTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRangeStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZRANK<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRank<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZREM<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRem<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZREMRANGEBYLEX<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRemRangeByLex<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZREMRANGEBYRANK<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRemRangeByRank<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZREMRANGEBYSCORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRemRangeByScore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZREVRANK<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zRevRank<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZSCAN<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zScan<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZSCORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zScore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZUNION_WITHSCORES<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zUnionWithScores<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZUNION<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zUnion<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function ZUNIONSTORE<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
	dynamic function zUnionStore<Options>(args:haxe.extern.Rest<Any>):js.lib.Promise<Dynamic>;
};

haxiomic avatar Jul 21 '22 14:07 haxiomic