import mongoose, { Collection } from "mongoose"; import { EConnectionType, IUseDBOptions, TClientSession } from "./interfaces.js"; import { TAckMessageCallback, TEventBaseData } from "../events/index.js"; import { EMicroServiceNames } from "../micro-services/index.js"; import { KubernetesApiWellness } from "../main.js"; import { GenericListener } from "mongodb"; export declare class MongooseConnect { protected _migration: boolean; private readonly _service; private static _instance; private _connections; private _allSchema; private constructor(); static getMultiConnect(): MongooseConnect; static startConnection(migration: boolean, serviceName: EMicroServiceNames, kubernetesWellness: KubernetesApiWellness, poolSize?: number, maxPoolSize?: number, testConnectionString?: string, command?: Record, options?: IUseDBOptions): Promise; private _classGetDbName; callCloseConnections(): Promise; callAddDbModel(modelName: string, schema: mongoose.Schema, collectionName: string, changeStreamFunction?: (tenant: string) => void, options?: IUseDBOptions): Promise; msgAddModelChangeStream(tenant: string, modelName: string, streamFunction: GenericListener, ackMessage?: TAckMessageCallback, options?: IUseDBOptions): void; private _classGetFastConnection; private _classGetSlowConnection; callGetMigrationModel(tenant: string, options?: IUseDBOptions): mongoose.PaginateModel; callGetMongoDBCollection(tenant: string, collection: string, connectionType: EConnectionType): mongoose.Collection; callAddGlobalDatabase(globalConfig: { databaseName: string; modelName: string; collectionName: string; schema: mongoose.Schema; }, options?: IUseDBOptions): Promise; callGetGlobalModel(globalConfig: { databaseName: string; modelName: string; }, connectionType: EConnectionType, options?: IUseDBOptions): Promise>; callListFastCollections(tenant: string): { [index: string]: Collection; }; callListSlowCollections(tenant: string): { [index: string]: Collection; }; msgCreateTenantDatabaseModels(data: TEventBaseData, ackMessage?: TAckMessageCallback, options?: IUseDBOptions): void; msgEnsureIndexes(data: TEventBaseData, ackMessage?: TAckMessageCallback, options?: IUseDBOptions): Promise; callGetSlowTenantModel(tenant: string, modelName: string, options?: IUseDBOptions): mongoose.PaginateModel; callGetFastTenantModel(tenant: string, modelName: string, options?: IUseDBOptions): mongoose.PaginateModel; callStartTransactionSession(tenant: string, options?: IUseDBOptions): Promise; } //# sourceMappingURL=mongoose-connect.d.ts.map