/** * Version Freshness Checker * * Evaluates how current a plugin version is compared to the latest available. * * @since v1.66.0 */ import { type HealthCheckConfig, type HealthComponent } from './health-types.js'; /** * Version comparison result */ export interface VersionComparisonResult { /** Current version string */ current: string; /** Latest version string */ latest: string; /** Number of major versions behind */ majorsBehind: number; /** Number of minor versions behind */ minorsBehind: number; /** Number of patch versions behind */ patchesBehind: number; /** Whether the plugin is on the latest version */ isLatest: boolean; /** Whether an update is available */ updateAvailable: boolean; } /** * Compare two versions and determine how far behind the current is */ export declare function comparePluginVersions(current: string, latest: string): VersionComparisonResult; /** * Calculate version freshness score */ export declare function calculateVersionScore(current: string, latest: string | undefined, config?: HealthCheckConfig['versionScoring']): number; /** * Get version status description */ export declare function getVersionStatusDescription(current: string, latest: string | undefined): string; /** * Check version freshness and return health component */ export declare function checkVersionFreshness(currentVersion: string, latestVersion: string | undefined, config?: HealthCheckConfig['versionScoring'], weight?: number): HealthComponent; /** * Determine if a version update is a breaking change (major version bump) */ export declare function isBreakingUpdate(current: string, latest: string): boolean; /** * Get recommended update action based on version difference */ export declare function getUpdateRecommendation(current: string, latest: string): 'none' | 'patch' | 'minor' | 'major' | 'critical'; //# sourceMappingURL=version-checker.d.ts.map