/// import { MutationType, StreamingMode } from './opts.g'; export declare type KVList = { results: [Buffer, Buffer][]; more: boolean; }; export declare type NativeWatch = { cancel(): void; promise: Promise; }; export interface NativeTransaction { setOption(code: number, param: string | number | Buffer | null): void; commit(): Promise; reset(): void; cancel(): void; onError(code: number): Promise; get(key: Buffer, isSnapshot: boolean): Promise; getKey(key: Buffer, orEqual: boolean, offset: number, isSnapshot: boolean): Promise; set(key: Buffer, val: Buffer): void; clear(key: Buffer): void; atomicOp(opType: MutationType, key: Buffer, operand: Buffer): void; getRange(start: Buffer, beginOrEq: boolean, beginOffset: number, end: Buffer, endOrEq: boolean, endOffset: number, limit: number, targetBytes: number, mode: StreamingMode, iter: number, isSnapshot: boolean, reverse: boolean): Promise; clearRange(start: Buffer, end: Buffer): void; watch(key: Buffer, ignoreStandardErrs: boolean): NativeWatch; addReadConflictRange(start: Buffer, end: Buffer): void; addWriteConflictRange(start: Buffer, end: Buffer): void; setReadVersion(v: Buffer): void; getReadVersion(): Promise; getCommittedVersion(): Buffer; getVersionstamp(): Promise; getAddressesForKey(key: Buffer): string[]; } export interface NativeDatabase { createTransaction(): NativeTransaction; setOption(code: number, param: string | number | Buffer | null): void; close(): void; } export interface NativeCluster { openDatabase(dbName: 'DB'): Promise; openDatabaseSync(dbName: 'DB'): NativeDatabase; close(): void; } export declare enum ErrorPredicate { Retryable = 50000, MaybeCommitted = 50001, RetryableNotCommitted = 50002 } export interface NativeModule { setAPIVersion(v: number): void; setAPIVersionImpl(v: number, h: number): void; startNetwork(): void; stopNetwork(): void; createCluster(filename?: string): Promise; createClusterSync(filename?: string): NativeCluster; setNetworkOption(code: number, param: string | number | Buffer | null): void; errorPredicate(test: ErrorPredicate, code: number): boolean; } declare const _default: NativeModule; export default _default;