import { MongoClientOptions } from 'mongodb'; import { Database, SeederDatabaseConfig } from '.'; import { LogFn } from '../common'; /** * Provides functionality to manage connection to a MongoDB database. */ export declare class DatabaseConnector { /** * Masked URI credentials token. */ static MASKED_URI_CREDENTIALS: string; static DEFAULT_CLIENT_OPTIONS: MongoClientOptions; /** * MongoDB Client options */ clientOptions: MongoClientOptions; /** * Logger instance */ log: LogFn; /** * Constructs the `DatabaseConnector` object. * * @param reconnectTimeoutMillis Reconnect timeout in milliseconds. Ignored when custom MongoClientOptions are passed. * @param mongoClientOptions Optional Mongo Client options * @param log Optional logger */ constructor(reconnectTimeoutMillis?: number, mongoClientOptions?: MongoClientOptions, log?: LogFn); /** * Connects to database. * * @param config Database configuration */ connect(config: SeederDatabaseConfig): Promise; /** * Gets MongoDB Connection URI from config. * * @param config Database configuration */ private getUri; /** * Constructs database connection URI from database configuration object. * * @param param0 Database connection object */ private getDbConnectionUri; /** * Detects database connection credentials and masks them, replacing with masked URI credentials token. * * @param uri Database connection URI */ private maskUriCredentials; }