import { z } from "zod"; /** * The Node major a generated project targets. It fixes `engines.node`, the * `@types/node` major, and the CI matrix together, because those three are one * decision wearing three hats: types that describe a newer runtime than * `engines.node` promises let a project typecheck against APIs it told its * users it can run without. * * Only even majors are offered. Odd lines (25, 27) reach end-of-life months * after release and never become LTS, while an `engines.node` floor is a * promise a published package keeps for far longer than that. */ export declare const nodeTargetSchema: z.ZodEnum<{ 24: "24"; 26: "26"; }>; export type NodeTarget = z.infer; export declare const defaultNodeTarget = "24"; /** * Ascending, and `ciNodeVersions` depends on that ordering. * `test/scaffold.test.ts` asserts it rather than leaving it to convention. */ export declare const nodeTargetOptions: ("24" | "26")[]; export declare const nodeEnginesRange: (nodeTarget: NodeTarget) => string; /** * Floor plus next major: a project is tested on the major it declares and on * the one after it, so it hears about the next LTS from its own CI rather than * from a user's bug report. A project already on the newest known target has no * next major, so its matrix is a single leg -- testing it on an older major * would contradict the `engines.node` it ships. */ export declare const ciNodeVersions: (nodeTarget: NodeTarget) => NodeTarget[]; //# sourceMappingURL=node-target.d.ts.map