import DBConnection from "./DBConnection.js"; import DBFactory from "./DBFactory.js"; export default class DBManager { private static instance?; private static _logger; private static get logger(); private factory; private constructor(); /** * Initializes the database manager with a database factory. * @param factory - Database connection factory. * @returns DBManager singleton instance. */ static init(factory: DBFactory): DBManager; /** * Obtains the singleton instance of DBManager. * Throws an Error if init() has not been called. * @returns DBManager singleton instance. */ static getInstance(): DBManager; /** * Resets the singleton instance (primarily for testing). */ static resetInstance(): void; /** * Creates a new database connection. * @returns Promise resolving to a DBConnection instance. */ connect(): Promise; }