import { TypedEvent } from '@node-projects/base-custom-webcomponent'; import { IService } from './IService.js'; export declare class BaseServiceContainer { protected _services: Map; servicesChanged: TypedEvent<{ serviceName: keyof NameMap; }>; getLastService(service: K): NameMap[K]; getServices(service: K): NameMap[K][]; register(name: K, service: NameMap[K]): void; registerLast(name: K, service: NameMap[K]): void; registerMultiple(names: K[], service: NameMap[K]): void; forSomeServicesTillResult(service: K, callback: (service: NameMap[K]) => Y): Y; getLastServiceWhere(service: K, callback: (service: NameMap[K]) => Y): NameMap[K]; getLastServiceResult(service: K, callback: (service: NameMap[K]) => Y): Y; getLastServiceWhereAsync(service: K, callback: (service: NameMap[K]) => Promise): Promise; }