import * as plugins from './smartdata.plugins'; import { Objectmap } from 'lik'; import { DbTable } from './smartdata.classes.dbcollection'; import { ConnectionOptions } from 'rethinkdb'; /** * interface - indicates the connection status of the db */ export declare type TConnectionStatus = 'initial' | 'disconnected' | 'connected' | 'failed'; export declare class Db { dbName: string; connectionOptions: plugins.rethinkDb.ConnectionOptions; dbConnection: plugins.rethinkDb.Connection; status: TConnectionStatus; dbTablesMap: Objectmap>; constructor(connectionOptionsArg: ConnectionOptions); /** * supply additional SSl options */ setSsl(certificateStringArg: string, formatArg: 'base64' | 'clearText'): void; /** * connects to the database that was specified during instance creation */ connect(): Promise; /** * closes the connection to the databse */ close(): Promise; /** * Gets a table's name and returns smartdata's DbTable class * @param nameArg * @returns DbTable */ getDbTableByName(nameArg: string): Promise>; addTable(dbCollectionArg: DbTable): void; }