import { EventEmitter } from '@omnitron-dev/eventemitter'; import type { ILogger } from '@omnitron-dev/titan/module/logger'; import type { ISupervisorOptions, ISupervisorConfig, IProcessManager, IProcessMetrics, IHealthStatus } from './types.js'; export declare class ProcessSupervisor extends EventEmitter { private readonly manager; private readonly SupervisorClass; private readonly options; private readonly logger; private children; private readonly processIdToName; private restartCounts; private restartTimestamps; private isStarted; private startPromise; private isStopping; private crashHandler; private configChildren; private configCrashHandler; private pendingBackoffSleeps; constructor(manager: IProcessManager, SupervisorClass: new () => any, options: ISupervisorOptions, logger: ILogger); static fromConfig(manager: IProcessManager, config: ISupervisorConfig, logger: ILogger): ProcessSupervisor; start(): Promise; private doStart; stop(): Promise; private sleepCancellableOnStop; restartChild(name: string): Promise; getChildProxy(name: string): any | null; getChildNames(): string[]; getChildProcessId(name: string): string | null; getAllProcessIds(): string[]; getRestartCount(name: string): number; scaleChild(name: string, size: number): Promise; getChildMetrics(name: string): Promise; getChildHealth(name: string): Promise; get running(): boolean; private startChild; private stopChild; private setupMonitoring; private handleChildCrash; private getRestartDecision; private performRestart; private computeBackoffDelay; private restartAll; private restartRestForOne; private escalateFailure; private shutdownAll; private getDecoratorChildren; } //# sourceMappingURL=process-supervisor.d.ts.map