/** * Centralized shutdown management for OATS * * Handles graceful shutdown of all services and cleanup operations * * @module @oatsjs/utils/shutdown-manager */ import type { BaseService } from '../core/services/base-service.js'; import type { DevSyncEngine } from '../core/dev-sync-optimized.js'; import type { ProcessManager } from './process-manager.js'; import type { FSWatcher } from 'chokidar'; export interface ShutdownOptions { keepConfigWatcher?: boolean; exitProcess?: boolean; } export declare class ShutdownManager { private static instance; private logger; private isShuttingDown; private shutdownHandlers; private signalHandlersSetup; private constructor(); /** * Get singleton instance */ static getInstance(): ShutdownManager; /** * Register a custom shutdown handler */ registerHandler(handler: () => Promise): void; /** * Perform graceful shutdown of all services */ shutdown(services: { syncEngine?: DevSyncEngine; services: Map; processManager: ProcessManager; configWatcher?: FSWatcher; unlinkPackages?: () => Promise; }, options?: ShutdownOptions): Promise; /** * Setup signal handlers for graceful shutdown */ setupSignalHandlers(shutdownCallback: () => Promise): void; /** * Check if shutdown is in progress */ isShutdownInProgress(): boolean; } //# sourceMappingURL=shutdown-manager.d.ts.map