type Outcome = { readonly status: "present"; } | { readonly status: "installed"; } | { readonly status: "updated"; } | { readonly status: "no-npm"; } | { readonly status: "failed"; readonly permission: boolean; readonly hadExisting: boolean; }; /** * Make sure a current, PERSISTENT `glen` binary is reachable on PATH, * installing or updating it globally via npm when it isn't. `npx * @tryglen/cli install` runs this CLI from npx's transient cache without ever * linking a global binary — without this step the plugins' hooks would have * no `glen` to call and silently do nothing. We deliberately ignore npx's own * ephemeral shim (see persistentGlenPath) so a fresh machine always gets a * real global install. * * `onInstallStart(hadExisting)` fires just before the (slow) npm install so * the caller can print a progress line first. */ declare const ensureGlobalCli: (onInstallStart?: (hadExisting: boolean) => void) => Outcome; export { ensureGlobalCli };