import { spawnSync, type SpawnSyncOptions, type SpawnSyncReturns } from "node:child_process";
export type OpenCodeSpawnSync = typeof spawnSync;
export type OpenCodeRunResult = SpawnSyncReturns<string> & {
    command: string;
};
export type OpenCodeCommandOptions = {
    env?: NodeJS.ProcessEnv;
    platform?: NodeJS.Platform;
};
export declare function openCodeCommandCandidates(options?: OpenCodeCommandOptions): string[];
export declare function shouldUseShellForOpenCodeCommand(command: string, platform?: NodeJS.Platform): boolean;
export declare function runOpenCodeSync(spawn: OpenCodeSpawnSync, args: string[], options: SpawnSyncOptions, commandOptions?: OpenCodeCommandOptions): OpenCodeRunResult;
export declare function isMissingExecutable(result: SpawnSyncReturns<string>): boolean;
