/** True when the version carries a prerelease identifier (1.2.0-beta.2). */ export declare function isPrereleaseVersion(version: string): boolean; /** The npm dist-tag a version belongs to: `latest` for X.Y.Z, else its channel. */ export declare function distTagForVersion(version: string): string; export declare function isNewer(latest: string, current: string): boolean; /** * The version an install should move to, or null when it is already there. * * Only ever moves forward, and never crosses from the stable line onto a * prerelease. Comparing installed against latest for plain inequality treats * "ahead of the stable line" as "out of date", which rolls a prerelease tester * back onto an older stable on their next update, and it would install a * prerelease on every stable user the moment `latest` pointed at one. */ export declare function resolveUpdateTarget(installed: string, latest: string): string | null; /** * Kick off the version check. Returns immediately; on a positive result it * stashes a notice that the next tool response will pick up. Never throws. * * Set `UE_MCP_DISABLE_UPDATE_CHECK=1` to suppress entirely (offline use, * locked-down environments, tests). */ export declare function startVersionCheck(currentVersion: string): void; /** * Returns the upgrade notice once if one is pending, then clears it. * Tool dispatchers call this on every response and prepend the result * to the response content blocks when non-null. */ export declare function consumeUpgradeNotice(): string | null; /** Test hook. */ export declare function _resetForTests(): void; /** Test hook. */ export declare function _setNoticeForTests(notice: string | null): void;