/** * The upgrade nudge. * * Publishing is deliberately never gated on engine age — a floor there could only ever be "the * newest engine" (the deploy workflow writes no floor, the manifest parser defaults an absent one * to the current version, and that workflow runs nightly), and blocking at publish is the worst * moment to ask anyway: the creator is finished and wants to ship. * * So the prompt lives where acting on it is cheap — during development, before there is anything * to lose by rebuilding. */ /** Nothing to say: either the project is current, or we could not find out. */ export type EngineUpdateNotice = string | null; /** * Compare two `3.` engine versions. * * Returns null when either side is unparseable, which the caller treats as "say nothing" rather * than "out of date" — an unrecognised version is not evidence of anything, and a nudge that * fires on every run is a nudge people learn to ignore. */ export declare function isOlderEngine(projectVersion: string, currentVersion: string): boolean | null; /** * The line to print, or null to stay quiet. * * Quiet is the default for everything except a confirmed newer engine: unknown versions, equal * versions, and a project somehow ahead of the manifest all produce nothing. */ export declare function engineUpdateNotice(projectVersion: string, currentVersion: string | null | undefined): EngineUpdateNotice;