/** * Best-effort process-tree termination with graceful shutdown. * - Windows: use taskkill /T to include descendants. Sends SIGTERM-equivalent * first (without /F), then force-kills if process survives. * - Unix: send SIGTERM to process group first, wait grace period, then SIGKILL. * * This gives child processes a chance to clean up (close connections, remove * temp files, terminate their own children) before being hard-killed. * * When the child was spawned with `detached: false` (e.g. service-managed * runtime under launchd/systemd), pass `detached: false` to skip the Unix * `process.kill(-pid, ...)` group-kill — it would otherwise target the * gateway's own process group and SIGTERM the gateway itself. (#71662) */ export declare function killProcessTree(pid: number, opts?: { graceMs?: number; detached?: boolean; }): void;