/// import { NativeWatch, NativeTransaction } from './native'; import { KeySelector } from './keySelector'; import { TransactionOptions, TransactionOptionCode, StreamingMode, MutationType } from './opts.g'; export interface RangeOptionsBatch { streamingMode?: StreamingMode; limit?: number; reverse?: boolean; } export interface RangeOptions extends RangeOptionsBatch { targetBytes?: number; } export declare type KVList = { results: [Buffer, Buffer][]; more: boolean; }; export { NativeWatch as Watch }; export declare type WatchOptions = { throwAllErrors?: boolean; }; export default class Transaction { private readonly _tn; readonly isSnapshot: boolean; constructor(tn: NativeTransaction, snapshot: boolean, opts?: TransactionOptions); setOption(opt: TransactionOptionCode, value?: number | string | Buffer): void; snapshot(): Transaction; rawCommit(): Promise; rawReset(): void; rawCancel(): void; rawOnError(code: number): Promise; get(key: Buffer): Promise; getKey(_sel: Buffer | KeySelector): Promise; set(key: Buffer, val: Buffer): void; clear(key: Buffer): void; /** * Range reads * @param start start key * @param end end key * @param opts options */ getRangeAll(start: Buffer | KeySelector, end: Buffer | KeySelector, opts?: RangeOptions): Promise<[Buffer, Buffer][]>; private getRangeNative; private getRangeBatch; clearRange(start: Buffer, end: Buffer): void; watch(key: Buffer, opts?: WatchOptions): NativeWatch; /** * Read conflict range * @param start * @param end */ addReadConflictRange(start: Buffer, end: Buffer): void; addWriteConflictRange(start: Buffer, end: Buffer): void; setReadVersion(v: Buffer): void; getReadVersion(): Promise; getCommittedVersion(): Buffer; getVersionstamp(): { promise: Promise; }; getAddressesForKey(key: Buffer): string[]; atomicOp(opType: MutationType, key: Buffer, oper: Buffer): void; add(key: Buffer, oper: Buffer): void; max(key: Buffer, oper: Buffer): void; min(key: Buffer, oper: Buffer): void; bitAnd(key: Buffer, oper: Buffer): void; bitOr(key: Buffer, oper: Buffer): void; bitXor(key: Buffer, oper: Buffer): void; byteMin(key: Buffer, val: Buffer): void; byteMax(key: Buffer, val: Buffer): void; }