import { type ChildProcess } from 'node:child_process'; import type { AllowedBinary, SafeExecResult, SafeExecOptions, SafeSpawnOptions } from './types.js'; /** * Synchronous shell-free execution. Replaces execSync with string interpolation. * Never throws on non-zero exit — returns structured result with .exitCode. */ export declare function safeExecSync(binary: AllowedBinary, args: readonly string[], opts?: SafeExecOptions): SafeExecResult; /** * Async shell-free execution. Replaces exec with string interpolation. * Never rejects on non-zero exit — resolves with structured result. */ export declare function safeExec(binary: AllowedBinary, args: readonly string[], opts?: SafeExecOptions): Promise; /** * Async shell-free execution with stdin piping. * Like safeExec but writes stdinData to the child process's stdin. * Useful when arguments would exceed OS ARG_MAX limits. */ export declare function safeExecWithStdin(binary: AllowedBinary, args: readonly string[], stdinData: string, opts?: SafeExecOptions): Promise; /** * Long-running shell-free spawn. Replaces spawn with shell:true. * Returns the ChildProcess directly for stdout/stderr event handling. */ export declare function safeSpawn(binary: AllowedBinary, args: readonly string[], opts?: SafeSpawnOptions): ChildProcess;