import { RedisClientOptions } from '@redis/client';
import { ICallback } from '../../../async/index.js';
import { RedisClientAbstract } from '../redis-client-abstract.js';
import { NodeRedisClientMulti } from './node-redis-client-multi.js';
export declare class NodeRedisClient extends RedisClientAbstract {
    protected client: import("@redis/client").RedisClientType<import("@redis/client").RedisModules, import("@redis/client").RedisFunctions, import("@redis/client").RedisScripts, import("@redis/client").RespVersions, import("@redis/client").TypeMapping>;
    constructor(config?: RedisClientOptions);
    exists(key: string, cb: ICallback<boolean>): void;
    set(key: string, value: string, options: {
        expire?: {
            mode: 'EX' | 'PX';
            value: number;
        };
        exists?: 'NX' | 'XX';
    }, cb: ICallback<string | null>): void;
    zadd(key: string, score: number, member: string, cb: ICallback<number | string>): void;
    multi(): NodeRedisClientMulti;
    watch(args: string[], cb: ICallback<string>): void;
    unwatch(cb: ICallback<string>): void;
    sismember(key: string, member: string, cb: ICallback<number>): void;
    zcard(key: string, cb: ICallback<number>): void;
    zrange(key: string, min: number, max: number, cb: ICallback<string[]>): void;
    zrevrange(key: string, min: number, max: number, cb: ICallback<string[]>): void;
    zrem(source: string, id: string, cb: ICallback<number>): void;
    psubscribe(pattern: string): void;
    punsubscribe(channel?: string): void;
    subscribe(channel: string): void;
    unsubscribe(channel?: string): void;
    zrangebyscore(key: string, min: number | string, max: number | string, offset: number, count: number, cb: ICallback<string[]>): void;
    smembers(key: string, cb: ICallback<string[]>): void;
    sscan(key: string, cursor: string, options: {
        MATCH?: string;
        COUNT?: number;
    }, cb: ICallback<{
        cursor: string;
        items: string[];
    }>): void;
    zscan(key: string, cursor: string, options: {
        MATCH?: string;
        COUNT?: number;
    }, cb: ICallback<{
        cursor: string;
        items: string[];
    }>): void;
    sadd(key: string, member: string, cb: ICallback<number>): void;
    srem(key: string, member: string, cb: ICallback<number>): void;
    hgetall(key: string, cb: ICallback<Record<string, string>>): void;
    scard(key: string, cb: ICallback<number>): void;
    hscan(key: string, cursor: string, options: {
        MATCH?: string;
        COUNT?: number;
    }, cb: ICallback<{
        cursor: string;
        result: Record<string, string>;
    }>): void;
    hget(key: string, field: string, cb: ICallback<string | null>): void;
    hset(key: string, field: string, value: string | number, cb: ICallback<number>): void;
    hdel(key: string, fields: string | string[], cb: ICallback<number>): void;
    lrange(key: string, start: number, stop: number, cb: ICallback<string[]>): void;
    hkeys(key: string, cb: ICallback<string[]>): void;
    hlen(key: string, cb: ICallback<number>): void;
    brpoplpush(source: string, destination: string, timeout: number, cb: ICallback<string | null>): void;
    rpoplpush(source: string, destination: string, cb: ICallback<string | null>): void;
    zrangebyscorewithscores(source: string, min: number, max: number, cb: ICallback<Record<string, string>>): void;
    rpop(key: string, cb: ICallback<string | null>): void;
    lrem(key: string, count: number, element: string, cb: ICallback<number>): void;
    lindex(key: string, index: number, cb: ICallback<string | null>): void;
    publish(channel: string, message: string, cb: ICallback<number>): void;
    flushall(cb: ICallback<string>): void;
    loadScript(script: string, cb: ICallback<string>): void;
    evalsha(hash: string, args: (string | number)[] | string | number, cb: (err?: Error | null, res?: unknown) => void): void;
    get(key: string, cb: ICallback<string | null>): void;
    del(key: string | string[], cb: ICallback<number>): void;
    llen(key: string, cb: ICallback<number>): void;
    lmove(source: string, destination: string, from: 'LEFT' | 'RIGHT', to: 'LEFT' | 'RIGHT', cb: ICallback<string | null>): void;
    zremrangebyscore(source: string, min: number | string, max: number | string, cb: ICallback<number>): void;
    hmget(source: string, keys: string[], cb: ICallback<(string | null)[]>): void;
    halt(cb: ICallback<void>): void;
    end(): void;
    shutdown(cb?: ICallback<void>): void;
    getInfo(cb: ICallback<string>): void;
    on(event: string, listener: (...args: unknown[]) => unknown): this;
    ping(cb: ICallback<string>): void;
    mget(keys: string[], cb: ICallback<(string | null)[]>): void;
    incr(key: string, cb: ICallback<number>): void;
    decr(key: string, cb: ICallback<number>): void;
    incrby(key: string, increment: number, cb: ICallback<number>): void;
    decrby(key: string, decrement: number, cb: ICallback<number>): void;
    expire(key: string, seconds: number, cb: ICallback<number>): void;
    pexpire(key: string, milliseconds: number, cb: ICallback<number>): void;
    ttl(key: string, cb: ICallback<number>): void;
    pttl(key: string, cb: ICallback<number>): void;
    lpush(key: string, elements: string | string[], cb: ICallback<number>): void;
    rpush(key: string, elements: string | string[], cb: ICallback<number>): void;
    lpop(key: string, cb: ICallback<string | null>): void;
    ltrim(key: string, start: number, stop: number, cb: ICallback<string>): void;
    zcount(key: string, min: string | number, max: string | number, cb: ICallback<number>): void;
    zscore(key: string, member: string, cb: ICallback<string | null>): void;
}
//# sourceMappingURL=node-redis-client.d.ts.map