/**
 * Update Notifier
 *
 * Checks for new versions and notifies users (mistral-vibe style).
 */
export interface UpdateInfo {
    /** Current installed version */
    currentVersion: string;
    /** Latest available version */
    latestVersion: string;
    /** Whether an update is available */
    updateAvailable: boolean;
    /** Release notes URL */
    releaseNotesUrl?: string;
    /** Install command */
    installCommand: string;
    /** Last check time */
    lastCheck: Date;
}
export interface UpdateNotifierConfig {
    /** Whether update checking is enabled */
    enabled: boolean;
    /** Check interval in hours */
    checkIntervalHours: number;
    /** Package name on npm */
    packageName: string;
    /** Registry URL */
    registryUrl: string;
}
/**
 * Compare semantic versions
 * Returns: -1 if a < b, 0 if a == b, 1 if a > b
 */
declare function compareVersions(a: string, b: string): number;
/**
 * Update Notifier class
 */
export declare class UpdateNotifier {
    private config;
    private updateInfo;
    constructor(config?: Partial<UpdateNotifierConfig>);
    /**
     * Check for updates (respects check interval)
     */
    check(): Promise<UpdateInfo | null>;
    /**
     * Force check (ignores interval)
     */
    forceCheck(): Promise<UpdateInfo | null>;
    /**
     * Get last check result
     */
    getUpdateInfo(): UpdateInfo | null;
    /**
     * Format update notification message
     */
    formatNotification(): string | null;
    /**
     * Check and notify if update available (call at startup)
     */
    checkAndNotify(output?: (msg: string) => void): Promise<void>;
}
export declare function getUpdateNotifier(): UpdateNotifier;
/**
 * Quick check at startup (non-blocking)
 */
export declare function checkForUpdatesInBackground(): void;
/**
 * Compare versions utility
 */
export { compareVersions };
