import { Logger } from "./Logger.js"; export type BeanLoader = () => Promise; export default class Beans { private static instance; private _types; protected logger: Logger; private constructor(); /** * Gets the singleton instance of Beans. * @static * @returns Beans singleton instance. */ static getInstance(): Beans; /** * Registers a Bean type with its dynamic loader function. * @param name - The name of the Bean. * @param loader - The loader function returning a Promise. */ register(name: string, loader: BeanLoader): void; /** * Loads all registered Bean types into BeanFactory. * @returns Promise resolving when loading completes. */ load(): Promise; }