import type { Subprocess } from "bun"; export interface ShellConfig { shell: string; args: string[]; env: Record; prefix: string | undefined; } /** * Check if a shell binary is executable. */ export declare function isExecutable(path: string): boolean; /** * Resolve a basic shell (bash or sh) as fallback. */ export declare function resolveBasicShell(): string | undefined; /** * Get shell configuration based on platform. * Resolution order: * 1. User-specified shellPath in settings.json * 2. On Windows: Git Bash in known locations, then bash on PATH * 3. On Unix: $SHELL if bash/zsh, then fallback paths * 4. Fallback: sh */ export declare function getShellConfig(customShellPath?: string): ShellConfig; /** * Check if a process is running. */ export declare function isPidRunning(pid: number | Subprocess): boolean; export declare function onProcessExit(proc: Subprocess | number, abortSignal?: AbortSignal): Promise;