export interface SpawnTarget { command: string; args: string[]; } export interface SpawnTargetDeps { platform?: NodeJS.Platform; env?: NodeJS.ProcessEnv; fileExists?: (p: string) => boolean; readText?: (p: string) => string; /** List a directory's entry names; used only to diagnose a broken shim target. */ listDir?: (dir: string) => string[]; } /** * Find `command` on PATH accepting only a real executable image (`.exe`/`.com`) * — never a `.cmd`/`.bat`/sh shim. For consumers that need a path they can hand * to `CreateProcess` directly, or embed in a command line that may be parsed by * either `cmd.exe` or Git Bash (e.g. the generated Claude Code hook command, * where a `.cmd` would resolve under one shell and not the other). * * Same PATH semantics as the spawn resolution above (";" splitting, quoted * entries), but the candidate set is `.exe`/`.com` only — deliberately NOT a * filter over `findOnPath`'s result, which returns the first hit of any kind * and would let a `.cmd` in an early PATH dir mask a real `node.exe` in a * later one. */ export declare function findWindowsExecutableOnPath(command: string, deps?: Pick): string | null; export declare function resolveSpawnTarget(command: string, args: readonly string[], deps?: SpawnTargetDeps): SpawnTarget; //# sourceMappingURL=spawn-target.d.ts.map