import { type ChildProcess, type ChildProcessByStdio, type SpawnOptions, type SpawnOptionsWithStdioTuple, type SpawnSyncOptionsWithStringEncoding, type SpawnSyncReturns, type StdioNull, type StdioPipe } from "node:child_process"; import type { Readable } from "node:stream"; export declare function spawnProcess(command: string, args: string[], options: SpawnOptionsWithStdioTuple): ChildProcessByStdio; export declare function spawnProcess(command: string, args: string[], options: SpawnOptions): ChildProcess; export declare function spawnProcessSync(command: string, args: string[], options: SpawnSyncOptionsWithStringEncoding): SpawnSyncReturns; export declare function waitForChildProcess(child: ChildProcess): Promise; export interface ChildProcessTerminationOptions { signal?: AbortSignal; timeoutMs?: number; killGraceMs?: number; } export interface ChildProcessTerminationResult { code: number | null; reason: "exited" | "aborted" | "timeout"; } /** * Wait for a child terminal event while converting abort/deadline events into a * tracked process-tree termination. No PID polling or detached killer process is used. */ export declare function waitForChildProcessWithTermination(child: ChildProcess, options?: ChildProcessTerminationOptions): Promise; //# sourceMappingURL=child-process.d.ts.map