/** The oldest node that runs a bundle: --experimental-vfs with --vfs-load. */ export declare const FLOOR = "26.11.1"; /** * Whether `version` is at least `minimum`, as the launcher decides it: a * missing part is 0, and a pre-release comes before its release. A version * that is not one is never enough. */ export declare function atLeast(version: string, minimum: string): boolean; /** * The lowest node version an `engines.node` range accepts, for a launcher to * check — never below `FLOOR`. Only the lower bound is checked: `upper` says * whether the range also has an upper one, which the launcher does not hold * to. Throws for a range it cannot read, rather than guess at a minimum. * * ">=27.1.0" → 27.1.0 "^27" → 27.0.0 (upper) "27.x || 28" → 27.0.0 * ">27.1.0" → 27.1.1 ">27" → 28.0.0 "27.1 - 28" → 27.1.0 (upper) */ export declare function minimumNode(range: string | undefined): { minimum: string; upper: boolean; }; /** The minimum an app's launcher checks: its package.json's `engines.node`, if it says. */ export declare function appMinimum(base: string): { minimum: string; upper: boolean; range?: string | undefined; }; /** The launcher, as it is shipped, with `minimum` as what it checks for. */ export declare function launcherText(minimum?: string): string; /** * The launcher for an app at `base`, written into a new temporary directory * as `shell-base`: what `bundle create --launcher` puts in front of it. The * caller removes `dir` once the archive is made. */ export declare function writeLauncher(base: string): { path: string; dir: string; minimum: string; upper: boolean; range?: string | undefined; }; /** A node, and its version. */ export interface FoundNode { path: string; version: string; /** Where it was found: `PATH`, `this process`, or a version manager. */ from: string; } /** * The node a `.nzip` should open with on Windows, at least `minimum`: the one * on PATH when it is new enough, else the one running this, else the newest * a version manager has installed — nvm-windows, fnm, volta, mise — or bundle * has downloaded into its own directory (`nodesDir()` in nodes.ts). Undefined * when there is none. `env`, `execPath` and `run` are for tests. */ export declare function windowsNode({ minimum, env, execPath, run }?: { minimum?: string | undefined; env?: NodeJS.ProcessEnv | undefined; execPath?: string | undefined; run?: ((node: string) => string | undefined) | undefined; }): FoundNode | undefined; //# sourceMappingURL=runtime.d.ts.map