import { ServiceConfig } from '../../schemas/services';
import { IEventBus, IHealthChecker, IProcessManager, IServiceOrchestrator, IServiceRegistry, ServiceEvent, ServiceInfo, ServiceStatus } from '../../types/services';
/**
 * Enterprise Service Manager
 * Main orchestrator implementing dependency injection and enterprise patterns
 */
export declare class EnterpriseServiceManager implements IServiceOrchestrator {
    private eventBus;
    private serviceRegistry;
    private healthChecker;
    private processManager;
    private logger;
    private isRunning;
    private config;
    constructor(config?: Partial<any>);
    private setupEventListeners;
    private handleUnhealthyService;
    private handleFailedService;
    private handleProcessExit;
    start(): Promise<void>;
    stop(): Promise<void>;
    startService(serviceName: string): Promise<void>;
    stopService(serviceName: string): Promise<void>;
    private waitForServiceReady;
    private startHealthMonitoring;
    private stopHealthMonitoring;
    getStatus(): {
        [serviceName: string]: ServiceStatus;
    };
    getServiceInfo(): ServiceInfo[];
    getEventHistory(): ServiceEvent[];
    getEventBus(): IEventBus;
    getServiceRegistry(): IServiceRegistry;
    getHealthChecker(): IHealthChecker;
    getProcessManager(): IProcessManager;
    getConfig(): ServiceConfig;
}
export default EnterpriseServiceManager;
