import { Integr8Config } from '../types'; import { Logger } from '../utils/logger'; export interface IServiceManager { start(fast: boolean): Promise; stop(): Promise; isServiceReady(serviceName: string): Promise; getServiceStatus(serviceName: string): ServiceStatus; } export declare enum ServiceStatus { PENDING = "pending", STARTING = "starting", RUNNING = "running", FAILED = "failed", STOPPING = "stopping", STOPPED = "stopped" } export declare class ServiceManager implements IServiceManager { private config; private logger; private workerId; private orchestrators; private serviceStatus; private serviceDependencies; private eventBus; constructor(config: Integr8Config, logger: Logger, workerId: string); private initializeOrchestrators; private buildDependencyGraph; private setupEventListeners; start(fast?: boolean): Promise; stop(): Promise; private startService; private stopService; private getOrchestratorForService; private getTopologicallySortedServices; isServiceReady(serviceName: string): Promise; getServiceStatus(serviceName: string): ServiceStatus; private startInfrastructureServices; private startApplicationServices; } //# sourceMappingURL=service-manager.d.ts.map