import { AbstractService } from './abstract-service'; import { ServiceCallType } from './definitions'; import { ServiceCallRunner } from './service-call-runner'; /** * This class will be augmented when importing specific service * For example: * ```typescript * const container: ServiceContainer; * expect(container.interface).to.be.undefined; * import '@iotize/tap/service/interface'; * expect(container.interface).to.be.not.undefined; * * ``` */ export declare class ServiceContainer { readonly serviceCallRunner: ServiceCallRunner; constructor(serviceCallRunner: ServiceCallRunner); /** * List loaded services */ services(): AbstractService[]; servicesMap(): Record; /** * List all loaded resources */ resources(): ServiceCallType[]; } export declare function extendServiceContainer(attrName: string, serviceConstructor: new (serviceCallRunner: ServiceCallRunner) => T): ServiceContainer;