import { type ChildProcess } from "node:child_process"; export interface SubprocessApp { readonly baseUrl: string; close(): Promise; [Symbol.asyncDispose](): Promise; } export interface TerminationTimings { readonly graceMs: number; readonly forceMs: number; readonly probeIntervalMs: number; readonly probeTimeoutMs: number; } interface TerminationDependencies { readonly platform: NodeJS.Platform; readonly taskkillProcessTree: (pid: number, timeoutMs: number) => Promise; } export declare function terminateSubprocess(child: ChildProcess, groupPid: number, closed: Promise, baseUrl: string, timings?: TerminationTimings, injectedDependencies?: Partial): Promise; export declare function createSubprocessApp(opts: { readonly appRoot: string; readonly env?: Record; readonly port?: number; readonly readyTimeoutMs?: number; }): Promise; export {}; //# sourceMappingURL=subprocess.d.ts.map