import { type ChildProcess, type SpawnOptions } from "node:child_process";
import { type ProcessEnvRecord } from "../server/paseo-env.js";
interface ExternalEnvOptions {
    baseEnv?: ProcessEnvRecord;
    envMode?: "external" | "internal";
    env?: ProcessEnvRecord;
    envOverlay?: ProcessEnvRecord;
}
export type SpawnProcessOptions = Omit<SpawnOptions, "env"> & ExternalEnvOptions;
interface ExecCommandOptions extends ExternalEnvOptions {
    cwd?: string;
    encoding?: BufferEncoding;
    killSignal?: NodeJS.Signals;
    timeout?: number;
    maxBuffer?: number;
    shell?: boolean | string;
}
interface ExecCommandResult {
    stdout: string;
    stderr: string;
}
export declare function spawnProcess(command: string, args: string[], options?: SpawnProcessOptions): ChildProcess;
export declare function execCommand(command: string, args: string[], options?: ExecCommandOptions): Promise<ExecCommandResult>;
export declare function platformShell(): {
    command: string;
    flag: string[];
};
export declare function platformBash(): {
    command: string;
    flag: string[];
};
export {};
//# sourceMappingURL=spawn.d.ts.map