export type UpdateStatus = { state: "checking"; packageName: string; currentVersion: string; } | { state: "current"; packageName: string; currentVersion: string; latestVersion: string; checkedAt: string; } | { state: "available"; packageName: string; currentVersion: string; latestVersion: string; installCommand: string; checkedAt: string; } | { state: "installed"; packageName: string; currentVersion: string; latestVersion: string; checkedAt: string; } | { state: "disabled"; packageName: string; currentVersion: string; } | { state: "unavailable"; packageName: string; currentVersion: string; error: string; checkedAt: string; }; export type CheckForUpdateOptions = { packageName?: string; currentVersion?: string; registryUrl?: string; timeoutMs?: number; fetchImpl?: typeof fetch; disabled?: boolean; }; export type InstallUpdateOptions = { packageName?: string; registryUrl?: string; npmCommand?: string; }; export type InstallUpdateResult = { command: string; stdout: string; stderr: string; }; export declare function checkForUpdate(options?: CheckForUpdateOptions): Promise; export declare function installLatestUpdate(options?: InstallUpdateOptions): Promise; export declare function buildInstallCommand(packageName?: string): string; export declare function updateStatusLabel(status: UpdateStatus): string; export declare function compareSemver(left: string, right: string): -1 | 0 | 1;