import type { Constructor } from '../utils/mixins'; import type { Module } from './Module'; import type { DependencyContainer } from 'tsyringe'; import { InjectionToken } from 'tsyringe'; export { InjectionToken }; export declare class DependencyManager { readonly container: DependencyContainer; constructor(container?: DependencyContainer); registerModules(...modules: Module[]): void; registerSingleton(from: InjectionToken, to: InjectionToken): void; registerSingleton(token: Constructor): void; resolve(token: InjectionToken): T; registerInstance(token: InjectionToken, instance: T): void; isRegistered(token: InjectionToken): boolean; registerContextScoped(token: Constructor): void; registerContextScoped(token: InjectionToken, provider: Constructor): void; createChild(): DependencyManager; }