import { ILogger } from './ILogger'; import { IService } from './IService'; /** * Constructur arguments for Service implementations * @see {@link Service} */ export interface ServiceArgs { /** * Name of the service. */ name: string; /** * A list of services that is owned and managed by this service. */ services: IService[]; /** * Logger instance */ logger?: ILogger; } /** * Base class for services to extend from. */ export declare class Service implements IService { /** * Name of the service. */ readonly name: string; /** * A list of services that is owned and managed by this service. */ readonly services: IService[]; /** * Logger instance */ readonly logger?: ILogger; /** * Constructor */ constructor(args: ServiceArgs); /** * Function to start the service. * Sub-services are launched before the onStart lifecycle function is called. */ start(): Promise; /** * Function to stop the service. * Sub-services are stopped after the onStop lifecycle function has been called. */ stop(): Promise; /** * Lifecycle function implementation called after the service have completely started up. */ onStart(): Promise; /** * Lifecycle function implementation called immediately when the service is instructed to stop. */ onStop(): Promise; } //# sourceMappingURL=Service.d.ts.map