interface NunDbOptions { url: string; db: string; user?: string; pwd?: string; token?: string; } interface SetValueResult { _id: number; value: T; } interface GetValueResult { value: T; version: number; } type WatchCallback = (result: { name: string; value: T; version: number; pedding?: boolean }) => void; declare class NunDb { constructor(options: NunDbOptions); constructor(url: string, user: string, pwd: string, db?: string, token?: string); connect(): Promise; goOffline(): void; goOnline(): void; setValue(key: string, value: T): Promise>; set(key: string, value: T): Promise>; setValueSafe(key: string, value: T, version?: number, basicType?: boolean): Promise>; increment(key: string, value?: number | string): Promise; remove(key: string): Promise; createDb(name: string, token: string): Promise; useDb(db: string, token: string, user?: string): Promise; auth(user: string, pwd: string): void; get(key: string): Promise>; getValue(key: string): Promise; getValueSafe(key: string): Promise>; keys(prefix?: string): Promise; watch( key: string, callback: WatchCallback, currentValue?: boolean, useLocalValue?: boolean ): Promise; becameArbiter( resolveCallback: (conflict: { opp_id: string; db: string; version: number; key: string; values: any[]; }) => Promise | any ): Promise; _setLoggers(logger: { log: Function; error: Function }): void; } export = NunDb;