import { Db, MongoClient } from 'mongodb'; import { ClassType } from 'mongodb-typescript'; import { IDocument } from './ADocument'; import Repository from './Repository'; import CryptManager from '../../Crypt/CryptManager'; import { ApplicationInstall } from '../../Application/Database/ApplicationInstall'; import ApplicationInstallRepository from '../../Application/Database/ApplicationInstallRepository'; import DIContainer from '../../DIContainer/Container'; export default class MongoDbClient { private _dsn; private _cryptManager; private _container; private readonly _client; constructor(_dsn: string, _cryptManager: CryptManager, _container: DIContainer); get client(): MongoClient; down(): Promise; reconnect(): Promise; db(name?: string): Promise; getRepository(className: ClassType): Promise>; getApplicationRepository(): Promise>; }