export interface ShellConfig { shell: string; args: string[]; env: Record; prefix: string | undefined; } /** * Strip disabled macOS malloc-stack-logging vars from `process.env` in place. * * macOS leaves `MallocStackLogging=0` (or similar) inherited by debug-attached * shells. Bun's libc init then prints `MallocStackLogging: can't turn off * malloc stack logging because it was not enabled.` to stderr for every * subprocess. Scrubbing once at startup means every child we spawn — bash, * bun subagents, plugin installs, ptree commands — inherits a clean env. */ export declare function scrubProcessEnv(): void; /** * 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; /** * Clear the memoized shell configuration so the next {@link getShellConfig} * call re-resolves the shell and re-reads the environment (shell selection and * the bash CI/login flags). Primarily for tests that vary those inputs. */ export declare function resetShellConfigCache(): void;