import { Type } from "../abstractions/common"; import { IResolveServiceOptions, IServiceLocator } from "../abstractions/ioc"; export declare class ServiceLocator implements IServiceLocator { private services; private multipleServices; private logger; all(): { [key: string]: any; }; register(name: string, service: T): void; registerMultiple(serviceName: string, instanceName: string, service: T): void; registerEntityService(serviceName: string, entityName: string, service: T): void; registerEntityServiceType(serviceType: Type, entityName: string, service: T): void; resolve(name: string, options?: IResolveServiceOptions): T; resolveMultiple(serviceName: string, options?: IResolveServiceOptions): T[]; resolveMultipleNamed(serviceName: string, instanceName: string, options?: IResolveServiceOptions): T; resolveEntityService(serviceName: string, entityName: string, options?: IResolveServiceOptions): T; resolveEntityServiceType(serviceType: Type, entityName: string, options?: IResolveServiceOptions): T; private buildServiceTypeName; private buildServiceName; }