export declare const CACHE_TTL_MS: number; export interface UpdateCheckOptions { notify(message: string, level: "info" | "warning" | "error"): void; currentCliVersion: string; currentBundledForgeVersion: string; now?: () => number; fetchImpl?: typeof fetch; cacheDir?: string; } export interface UpdateBannerCache { lastProbeAt: number; latestNpmVersion: string | null; latestForgeVersion: string | null; dismissedNpmVersions: string[]; dismissedForgeVersions: string[]; } declare function cachePath(cacheDir: string): string; declare function readCache(cacheDir: string): Promise; declare function writeCache(cacheDir: string, cache: UpdateBannerCache): Promise; declare function semverGt(a: string, b: string): boolean; declare function composeBanner(npm: { current: string; latest: string; } | null, forge: { current: string; latest: string; } | null): string | null; export declare function triggerUpdateCheck(opts: UpdateCheckOptions): Promise; export declare const __test__: { CACHE_TTL_MS: number; cachePath: typeof cachePath; readCache: typeof readCache; writeCache: typeof writeCache; semverGt: typeof semverGt; composeBanner: typeof composeBanner; }; export {};