/**
 * 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']): 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