export declare enum ContainerTypes { TRANSIENT = "transient", SINGLETON = "singleton" } export interface ContainerService { name: string; type: ContainerTypes; object: any; } export declare type Class = { new (...args: any[]): any; }; export interface Container { transient(name: string, object: Class, force?: boolean): Container; singleton(name: string, object: any, force?: boolean): Container; setService(name: string, type: ContainerTypes, object: any, force?: boolean): Container; resolve(...serviceNames: string[]): any; getService(name: string): ContainerService; }