import { type TargetExit } from '../automation-process.js'; /** * A caller-supplied argument the builtin rejects before spawning anything. * Distinguishes an input fault from a runtime one so the caller can classify * the failure instead of assuming every throw came from validation. */ export declare class ShellInputError extends Error { constructor(message: string); } export interface ShellRunOutput { stdout: string; stderr: string; exit_code: number; exit_signal?: NodeJS.Signals; process_error?: string; process_error_code?: string; process_stage?: TargetExit['stage'] | 'timeout' | 'shutdown' | 'descendants_reaped'; /** * Set when the command exited while background work it started was still * running inside the owned process group, and that work was therefore killed * during cleanup. Absent -- never `false` -- on the ordinary path, so the * field only ever appears when there is something to report. * * Scoped to a run that ended by its own exit. A timeout or a shutdown kills * the group while the command is still IN it, so the group cannot be told * apart from the work it backgrounded there; those paths already fail with * `timeout`/`shutdown` as the named cause. */ reaped_descendants?: boolean; success: boolean; timed_out: boolean; duration_ms: number; } export declare function runShellBuiltin(input: Record, shutdownSignal?: AbortSignal): Promise; //# sourceMappingURL=os-shell.d.ts.map