import type { ServiceConfig, ServiceState, ServiceStatus, StatusChangeHandler } from './types'; export interface SupervisorLog { timestamp: string; level: 'info' | 'warn' | 'error'; source: string; message: string; } export declare class Supervisor { private processes; private managedStops; private states; private configs; private logs; private onStatusChange?; private isShuttingDown; constructor(options?: { handleProcessSignals?: boolean; }); private shutdown; private killAll; setStatusChangeHandler(handler: StatusChangeHandler): void; register(config: ServiceConfig): void; registerManaged(name: string, stop?: () => Promise | void): void; setStatus(name: string, status: ServiceStatus, extra?: Partial): void; addLog(source: string, level: SupervisorLog['level'], message: string): void; getLogs(filters?: { level?: string; source?: string; limit?: number; }): SupervisorLog[]; startAll(): Promise; stopAll(): Promise; start(name: string): void; stop(name: string): Promise; restart(name: string): Promise; getStatus(name: string): ServiceState | undefined; getAllStatus(): ServiceState[]; private updateState; }