export type Newable = new (...args: TArgs) => T; export type ServiceIdentifier = string | symbol | Newable | Function; export interface IocContainer { get(controller: ServiceIdentifier): T; get(controller: ServiceIdentifier): Promise; } export type IocContainerFactory = (request: T) => IocContainer;