interface UpdateConfig { get(key: 'updateCheckLastAt'): string | undefined; set(key: 'updateCheckLastAt', value: string): void; } interface UpdateCommandLike { opts(): Record; parent?: UpdateCommandLike | null; } export interface UpdateNoticeOptions { command?: UpdateCommandLike; now?: Date; currentVersion?: string; fetchImpl?: typeof fetch; stdoutIsTTY?: boolean; } export declare function maybeShowUpdateNotice(config: UpdateConfig, options?: UpdateNoticeOptions): Promise; export declare function shouldCheckForUpdates(config: UpdateConfig, options?: UpdateNoticeOptions): boolean; export declare function commandRequestedJson(command: UpdateCommandLike | undefined): boolean; export declare function fetchLatestVersion(fetchImpl: typeof fetch): Promise; export declare function compareSemver(a: string, b: string): number; export {};