import * as plugins from "./smartdata.plugins"; import { Objectmap } from "lik"; import { DbTable } from "./smartdata.classes.dbtable"; import { ConnectionOptions as IConnectionOptions } from "rethinkdb"; export { IConnectionOptions }; /** * 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: IConnectionOptions); /** * supply additional SSl options needed to connect to certain Rethink DB servers (e.g. compose.io) */ 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; addTable(dbTableArg: DbTable): void; /** * Gets a table's name and returns smartdata's DbTable class * @param nameArg * @returns DbTable */ getDbTableByName(nameArg: string): Promise>; }