/**
 * Update Checker - Check for new CCS versions from npm registry or GitHub
 */
interface UpdateCache {
    last_check: number;
    latest_version: string | null;
    dev_version: string | null;
    dismissed_version: string | null;
}
export interface UpdateResult {
    status: 'update_available' | 'no_update' | 'check_failed';
    reason?: string;
    latest?: string;
    current?: string;
    message?: string;
}
/**
 * Compare semantic versions
 * @returns 1 if v1 > v2, -1 if v1 < v2, 0 if equal
 */
export declare function compareVersions(v1: string, v2: string): number;
/**
 * Compare versions with prerelease support
 *
 * Prerelease convention: X.Y.Z-dev.N is a development version AFTER X.Y.Z
 * For example: 6.7.1-dev.3 > 6.7.1 (dev version is work toward next release)
 *
 * @returns 1 if v1 > v2 (upgrade), -1 if v1 < v2 (downgrade), 0 if equal
 */
export declare function compareVersionsWithPrerelease(v1: string, v2: string): number;
/**
 * Read update check cache
 */
export declare function readCache(): UpdateCache;
/**
 * Write update check cache
 */
export declare function writeCache(cache: UpdateCache): void;
/**
 * Check for updates (async, non-blocking)
 * @param currentVersion - Current CCS version
 * @param force - Force check even if within interval
 * @param installMethod - Installation method ('npm' or 'direct')
 * @param targetTag - Target npm tag ('latest' or 'dev')
 */
export declare function checkForUpdates(currentVersion: string, force?: boolean, installMethod?: 'npm' | 'direct', targetTag?: 'latest' | 'dev'): Promise<UpdateResult>;
/**
 * Show update notification (async - initializes UI first)
 */
export declare function showUpdateNotification(updateInfo: {
    current: string;
    latest: string;
}): Promise<void>;
/**
 * Dismiss update notification for a specific version
 */
export declare function dismissUpdate(version: string): void;
/**
 * Check cached update result synchronously (no network call)
 * Returns update info if cached result indicates update available, null otherwise
 */
export declare function checkCachedUpdate(currentVersion: string): {
    current: string;
    latest: string;
} | null;
/**
 * Check if cache is stale (older than CHECK_INTERVAL)
 */
export declare function isCacheStale(): boolean;
export {};
//# sourceMappingURL=update-checker.d.ts.map