import { Constructor } from "../decorators/interfaces/constructor"; import { Injector } from "./injector"; export declare enum InjectionMode { TRANSIENT = "transient", SINGLETON = "singleton" } interface InjectableInfo { constructorFn: Constructor; mode: InjectionMode; dependencies?: Constructor[]; singletonInstance?: T; alias?: any; } export declare class ServiceProvider { app: InjectableInfo[]; private injectableRegistry; constructor(); register(constructorFn: Constructor, mode?: InjectionMode, alias?: any): ServiceProvider; getInjector(): Injector; getInfo(constructorFn: Constructor): InjectableInfo; } export declare function getServiceProvider(): ServiceProvider; export {};