import { HSetOptions, KVSQLProviderTransaction, SetOptions, ZAddOptions } from '../../../../types/provider';
import type { KVSQL } from './kvsql';
export declare class KVTransaction implements KVSQLProviderTransaction {
    private kvsql;
    [key: string]: any;
    private commands;
    constructor(kvsql: KVSQL);
    addCommand(sql: string, params: any[], returnType: string, transform?: (rows: any[]) => any): this;
    set(key: string, value: string, options?: SetOptions): this;
    setnx(key: string, value: string): this;
    setnxex(key: string, value: string, expireSeconds: number): this;
    get(key: string): this;
    del(key: string): this;
    expire(key: string, seconds: number): this;
    hset(key: string, fields: Record<string, string>, options?: HSetOptions): this;
    hget(key: string, field: string): this;
    hdel(key: string, fields: string[]): this;
    hmget(key: string, fields: string[]): this;
    hgetall(key: string): this;
    hincrbyfloat(key: string, field: string, increment: number): this;
    hscan(key: string, cursor: string, count?: number): this;
    lrange(key: string, start: number, end: number): this;
    rpush(key: string, value: string | string[]): this;
    lpush(key: string, value: string | string[]): this;
    lpop(key: string): this;
    lmove(source: string, destination: string, srcPosition: 'LEFT' | 'RIGHT', destPosition: 'LEFT' | 'RIGHT'): this;
    zadd(key: string, score: number, member: string, options?: ZAddOptions): this;
    zrange(key: string, start: number, stop: number): this;
    zrangebyscore(key: string, min: number, max: number): this;
    zrangebyscore_withscores(key: string, min: number, max: number): this;
    zrem(key: string, member: string): this;
    zrank(key: string, member: string): this;
    scan(cursor: number, count?: number): this;
    rename(oldKey: string, newKey: string): this;
    exec(): Promise<any[]>;
}
