import { ClassType, Type } from "./common"; export interface IResolveServiceOptions { optional?: boolean; } export interface IServiceLocator { register(name: string, service: Type): void; registerEntityService(serviceName: string, entityName: string, service: T): void; registerEntityServiceType(serviceType: Type, entityName: string, service: T): void; resolve(name: string, options?: IResolveServiceOptions): T; resolveEntityService(serviceName: string, entityName: string, options?: IResolveServiceOptions): T; resolveEntityServiceType(serviceType: Type, entityName: string, options?: IResolveServiceOptions): T; }