/** * Process Registry * * Central registry for tracking all spawned processes in the RevealUI system. * Maintains process lifecycle information and provides query capabilities. */ import type { ProcessMetadata, ProcessSource, ProcessStatus, RegistryStats, TrackedProcess } from './types.js'; /** * Global process registry instance */ declare class ProcessRegistry { private processes; private enabled; private maxHistorySize; /** * Register a new process */ register(pid: number, command: string, args: string[], source: ProcessSource, metadata?: ProcessMetadata, ppid?: number): void; /** * Update process status */ updateStatus(pid: number, status: ProcessStatus, exitCode?: number, signal?: string): void; /** * Mark process as zombie */ markZombie(pid: number): void; /** * Get process by PID */ get(pid: number): TrackedProcess | undefined; /** * Get all processes */ getAll(): TrackedProcess[]; /** * Get processes by status */ getByStatus(status: ProcessStatus): TrackedProcess[]; /** * Get processes by source */ getBySource(source: ProcessSource): TrackedProcess[]; /** * Get running processes */ getRunning(): TrackedProcess[]; /** * Get zombie processes */ getZombies(): TrackedProcess[]; /** * Get failed processes */ getFailed(): TrackedProcess[]; /** * Get registry statistics */ getStats(): RegistryStats; /** * Calculate spawn rate (processes per minute) */ getSpawnRate(): number; /** * Clear completed/failed processes older than retention period */ private trimHistory; /** * Clear all processes */ clear(): void; /** * Enable or disable tracking */ setEnabled(enabled: boolean): void; /** * Check if tracking is enabled */ isEnabled(): boolean; } /** * Singleton instance */ export declare const processRegistry: ProcessRegistry; /** * Convenience functions */ export declare function registerProcess(pid: number, command: string, args: string[], source: ProcessSource, metadata?: ProcessMetadata, ppid?: number): void; export declare function updateProcessStatus(pid: number, status: ProcessStatus, exitCode?: number, signal?: string): void; export declare function markProcessZombie(pid: number): void; export declare function getProcess(pid: number): TrackedProcess | undefined; export declare function getAllProcesses(): TrackedProcess[]; export declare function getRunningProcesses(): TrackedProcess[]; export declare function getZombieProcesses(): TrackedProcess[]; export declare function getProcessStats(): RegistryStats; export declare function getSpawnRate(): number; export {}; //# sourceMappingURL=process-registry.d.ts.map