interface VersionInfo {
    currentVersion: string;
    latestVersion: string | null;
    updateAvailable: boolean;
    packageManager: "npm" | "pnpm" | "yarn" | null;
}
/**
 * Initialize a new telemetry session
 * Call this once at CLI startup
 */
export declare function initTelemetrySession(framework?: string): {
    sessionId: string;
    startTime: number;
};
/**
 * Get current session info (returns null if not initialized)
 */
export declare function getTelemetrySession(): {
    sessionId: string;
    startTime: number;
} | null;
/**
 * Send session end telemetry (fire-and-forget with short timeout)
 */
export declare function sendSessionEndTelemetry(): Promise<void>;
/**
 * Get the current installed version of dev3000
 */
export declare function getCurrentVersion(): string;
/**
 * Fetch the latest version from our API (with telemetry) or npm registry as fallback
 */
export declare function fetchLatestVersion(): Promise<string | null>;
/**
 * Detect how dev3000 was installed globally
 */
export declare function detectPackageManager(): "npm" | "pnpm" | "yarn" | null;
/**
 * Get the upgrade command for the detected package manager
 */
export declare function getUpgradeCommand(packageManager: "npm" | "pnpm" | "yarn" | null): string;
/**
 * Compare two semver versions
 * Returns true if version2 is greater than version1
 *
 * Pre-release versions (e.g., 0.0.125-canary) are considered older than
 * their corresponding stable versions (e.g., 0.0.125).
 */
export declare function isNewerVersion(current: string, latest: string): boolean;
/**
 * Check for updates (async, non-blocking)
 */
export declare function checkForUpdates(): Promise<VersionInfo>;
/**
 * Perform the upgrade (blocking, with stdio output)
 */
export declare function performUpgrade(): {
    success: boolean;
    error?: string;
};
/**
 * Perform the upgrade asynchronously (non-blocking, for background updates)
 * Returns the new version on success, or null on failure
 */
export declare function performUpgradeAsync(): Promise<{
    success: boolean;
    newVersion?: string;
    error?: string;
}>;
export {};
//# sourceMappingURL=version-check.d.ts.map