import * as childProcess from "node:child_process";
import type { ExecFileOptions, ExecFileOptionsWithBufferEncoding, ExecFileOptionsWithStringEncoding, ExecFileResult, SpawnOptions, SpawnSyncOptions, SpawnSyncOptionsWithBufferEncoding, SpawnSyncOptionsWithStringEncoding } from "./types.js";
/**
 * Starts a process without using an ambient operating-system shell.
 *
 * @param command - The executable name or path.
 * @param args - Arguments passed to the executable.
 * @param options - Process options.
 * @returns The started child process.
 */
export declare function spawn(command: string, args?: readonly string[], options?: SpawnOptions): childProcess.ChildProcess;
/**
 * Starts a process synchronously without using an ambient operating-system shell.
 *
 * @param command - The executable name or path.
 * @param args - Arguments passed to the executable.
 * @param options - Process options.
 * @returns The synchronous process result.
 */
export declare function spawnSync(command: string, args: readonly string[] | undefined, options: SpawnSyncOptionsWithStringEncoding): childProcess.SpawnSyncReturns<string>;
/**
 * Starts a process synchronously without using an ambient operating-system shell.
 *
 * @param command - The executable name or path.
 * @param args - Arguments passed to the executable.
 * @param options - Process options.
 * @returns The synchronous process result.
 */
export declare function spawnSync(command: string, args?: readonly string[], options?: SpawnSyncOptionsWithBufferEncoding): childProcess.SpawnSyncReturns<Buffer>;
/**
 * Starts a process synchronously without using an ambient operating-system shell.
 *
 * @param command - The executable name or path.
 * @param args - Arguments passed to the executable.
 * @param options - Process options.
 * @returns The synchronous process result.
 */
export declare function spawnSync(command: string, args: readonly string[] | undefined, options: SpawnSyncOptions): childProcess.SpawnSyncReturns<string | Buffer>;
/**
 * Runs a process to completion and buffers its output.
 *
 * @param command - The executable name or path.
 * @param args - Arguments passed to the executable.
 * @returns Buffered standard output and standard error.
 */
export declare function execFile(command: string, args?: readonly string[]): Promise<ExecFileResult<string>>;
/**
 * Runs a process to completion and buffers its output.
 *
 * @param command - The executable name or path.
 * @param args - Arguments passed to the executable.
 * @param options - Process options.
 * @returns Buffered standard output and standard error.
 */
export declare function execFile(command: string, args: readonly string[] | undefined, options: ExecFileOptionsWithBufferEncoding): Promise<ExecFileResult<Buffer>>;
/**
 * Runs a process to completion and buffers its output.
 *
 * @param command - The executable name or path.
 * @param args - Arguments passed to the executable.
 * @param options - Process options.
 * @returns Buffered standard output and standard error.
 */
export declare function execFile(command: string, args: readonly string[] | undefined, options: ExecFileOptionsWithStringEncoding): Promise<ExecFileResult<string>>;
/**
 * Runs a process to completion and buffers its output.
 *
 * @param command - The executable name or path.
 * @param args - Arguments passed to the executable.
 * @param options - Process options.
 * @returns Buffered standard output and standard error.
 */
export declare function execFile(command: string, args?: readonly string[], options?: ExecFileOptions): Promise<ExecFileResult<string | Buffer>>;
//# sourceMappingURL=process.d.ts.map