/** Ceiling on one CLI execution. Generous for a read, far short of "forever". */ export declare const DEFAULT_EXECUTION_TIMEOUT_MS = 15000; /** How to start this tree's own CLI. */ export interface CliLaunch { readonly command: string; readonly argsPrefix: readonly string[]; } /** * Resolve the platform-neutral launch shape. Uses the shared daemon-supervisor * resolvers rather than a second copy of them: the entry path and the * TypeScript-loader flags have to agree with every other self-spawn in this * tree, and the file that owns them says so in as many words. */ export declare function resolveCliLaunch(): CliLaunch; export interface CliExecution { /** The concrete argv that was handed to the CLI, without the launch prefix. */ readonly argv: readonly string[]; /** Exit status, or `null` when the process died on a signal or was killed. */ readonly exitCode: number | null; readonly stdout: string; readonly stderr: string; /** True when the deadline fired and the child was killed. */ readonly timedOut: boolean; /** Set ONLY when the process could not be started at all. Never set on timeout. */ readonly launchError?: string; } export interface ExecuteOptions { readonly launch?: CliLaunch; readonly timeoutMs?: number; readonly cwd?: string; } /** * Run one argv. Always resolves: a failure is a described outcome, never a * rejection, because the caller has to report it to the harness either way. */ export declare function executeCliArgv(argv: readonly string[], options?: ExecuteOptions): Promise;