import { ServiceStatus, ServiceStatusEnum } from './ServiceStatus.js'; /** * Process monitoring metrics */ export interface ProcessMetrics { memory: number; cpu: number; } /** * Process information data interface */ export interface ProcessInfoData { pmId: number; name: string; status: ServiceStatusEnum; pid?: number; cpu?: number; memory?: number; uptime?: number; restarts?: number; createdAt?: Date; interpreter?: string; scriptPath?: string; } /** * ProcessInfo Value Object * Represents information about a managed service process */ export declare class ProcessInfo { private readonly _data; private constructor(); get pmId(): number; get name(): string; get status(): ServiceStatus; get statusValue(): ServiceStatusEnum; get pid(): number | undefined; get cpu(): number | undefined; get memory(): number | undefined; get uptime(): number | undefined; get restarts(): number | undefined; get createdAt(): Date | undefined; get interpreter(): string | undefined; get scriptPath(): string | undefined; /** * Check if process is online */ get isOnline(): boolean; /** * Check if process is stopped */ get isStopped(): boolean; /** * Check if process has errored */ get isErrored(): boolean; /** * Get formatted memory usage string */ get memoryFormatted(): string; /** * Get formatted uptime string */ get uptimeFormatted(): string; /** * Get metrics object */ get metrics(): ProcessMetrics | null; /** * Create a ProcessInfo from data */ static create(data: ProcessInfoData): ProcessInfo; /** * Create from PM2 process description */ static fromPm2(pm2Process: { pm_id?: number; name?: string; pm2_env?: { status?: string; pm_uptime?: number; restart_time?: number; created_at?: number; exec_interpreter?: string; pm_exec_path?: string; }; pid?: number; monit?: { cpu?: number; memory?: number; }; }): ProcessInfo; /** * Convert to plain object */ toJSON(): ProcessInfoData; equals(other: ProcessInfo): boolean; toString(): string; } //# sourceMappingURL=ProcessInfo.d.ts.map