/**
 * run-command
 *
 * Tiny cross-platform subprocess helper used by `shep doctor` diagnostics
 * that need to invoke a CLI tool (e.g. `node --version`, `git --version`).
 * Wraps `node:child_process` so each diagnostic stays focused on its own
 * logic without re-implementing process spawning + timeout handling.
 *
 * Design rules (per `.claude/rules/code-quality.md`):
 *   - No shell — uses `execFile` to avoid Windows argument-escaping bugs.
 *   - `windowsHide: true` so no console window flashes on Windows.
 *   - Always resolves; never rejects. Diagnostics surface failures via
 *     `DiagnosticStatus.Fail`, never via thrown errors.
 */
export interface RunCommandResult {
    /** Process exit code; -1 when the binary was not found / spawn failed. */
    exitCode: number;
    /** Combined stdout, trimmed. */
    stdout: string;
    /** Combined stderr, trimmed. */
    stderr: string;
    /** Convenience flag — true when stderr / stdout suggests "command not found". */
    notFound: boolean;
}
export declare function runCommand(binary: string, args: readonly string[], options?: {
    cwd?: string;
    timeoutMs?: number;
}): Promise<RunCommandResult>;
//# sourceMappingURL=run-command.d.ts.map