import { Command } from 'commander'; type ExitFn = (code: number) => never; interface MetricsAgentInfo { name: string; pid?: number; memory_bytes?: number; uptime_secs?: number; } interface MetricsResponse { agents: MetricsAgentInfo[]; } export interface MonitoringMetricsClient { getMetrics(agentName?: string): Promise; shutdown(): Promise; } interface MonitoringProfilerAgent { name: string; } export interface MonitoringProfilerRelay { spawn(options: { name: string; cli: string; args: string[]; channels: string[]; }): Promise; listAgents(): Promise; release(name: string, reason: string): Promise; shutdown(): Promise; } interface ProfileRelayOptions { cwd: string; env: NodeJS.ProcessEnv; } export interface MonitoringDependencies { getProjectRoot: () => string; createMetricsClient: (cwd: string) => MonitoringMetricsClient | Promise; createProfilerRelay: (options: ProfileRelayOptions) => MonitoringProfilerRelay | Promise; generateAgentName: () => string; fetch: (url: string) => Promise; pathExists: (target: string) => boolean; mkdir: (target: string, options: { recursive: true; }) => void; appendFile: (target: string, content: string) => void; memoryUsage: () => NodeJS.MemoryUsage; nowIso: () => string; onSignal: (signal: NodeJS.Signals, listener: () => void | Promise) => void; setRepeatingTimer: (listener: () => void, intervalMs: number) => NodeJS.Timeout; clearRepeatingTimer: (timer: NodeJS.Timeout) => void; log: (...args: unknown[]) => void; error: (...args: unknown[]) => void; clear: () => void; exit: ExitFn; } export declare function registerMonitoringCommands(program: Command, overrides?: Partial): void; export {}; //# sourceMappingURL=monitoring.d.ts.map