import { type PathCtx } from '../config/paths.js'; /** * Default PowerShell profile path. On a real Windows machine we ask PowerShell * for its actual `$PROFILE`, because OneDrive commonly redirects the Documents * folder (so the profile lives under `%OneDrive%\Documents`, not * `%USERPROFILE%\Documents`) and the two must not be confused. Falls back to an * OneDrive-aware computed path. Users can always override with `--profile`. */ export interface ProfileDeps { /** The machine really being run on. Injected so the Windows path is testable anywhere. */ hostPlatform?: NodeJS.Platform; /** The `$PROFILE` lookup itself, so a test can prove when it is not used. */ queryProfile?: () => string | null; } /** * Should we ask the real PowerShell where its profile is? * * Only when nothing has been injected. Asking PowerShell means asking the real * machine, which cannot know about a context the caller made up: a run pointed * at a temporary home would be handed the developer's own profile and then * edit it. Injecting a platform OR an environment means "this is the machine", * so we stay inside what we were given. * * Exported as its own predicate so this rule is tested on every host, not only * on Windows. */ export declare function shouldAskPowerShell(c: PathCtx, host: NodeJS.Platform): boolean; export declare function defaultPowerShellProfile(c?: PathCtx, deps?: ProfileDeps): string; /** Default POSIX shell rc file: `.zshrc` when the shell is zsh, else `.bashrc`. */ export declare function defaultPosixProfile(c?: PathCtx): string;