import { a as LaunchCommandSpec } from "../types-lRv_6IzV.js";

//#region src/utils/runner.d.ts
interface SpawnOptions {
  cwd?: string;
  env?: Record<string, string>;
  args?: string[];
}
interface SpawnResult {
  pid: number;
  command: string;
}
/**
* Launch a child process
* @param spec Launch command specification
* @param options Additional spawn options
* @returns Process ID and the full command string
*/
declare function spawnProcess(spec: LaunchCommandSpec, options?: SpawnOptions): Promise<SpawnResult>;
/**
* Check whether an executable exists on the PATH
* @param name Executable name to look up
*/
declare function checkExecutable(name: string): Promise<boolean>;
/**
* Retrieve the version string from an executable
* @param executable Program name
* @param versionArgs Arguments passed to print the version (defaults to --version)
*/
declare function getExecutableVersion(executable: string, versionArgs?: string[]): Promise<string>;
interface RunCommandOptions {
  cwd?: string;
  env?: Record<string, string>;
  silent?: boolean;
  throwOnError?: boolean;
}
interface RunCommandResult {
  stdout: string;
  stderr: string;
  exitCode: number;
  success: boolean;
}
/**
* Run a command and capture its output
* Lightweight wrapper for git commands that don't need full LaunchCommandSpec
* @param command Executable to run
* @param args Command arguments
* @param options Run options
*/
declare function runCommand(command: string, args: string[], options?: RunCommandOptions): Promise<RunCommandResult>;
//#endregion
export { RunCommandOptions, RunCommandResult, SpawnOptions, SpawnResult, checkExecutable, getExecutableVersion, runCommand, spawnProcess };