export { resolveBundleProfileDirectory } from "./profile-directory.ts"; export interface BundleUpdaterConfig { registryUrl: string; packageManagerCommand: string; profileName: string; profileDirectory: string; installTimeoutMs: number; requestTimeoutMs: number; } export interface BundleUpdateState { supported: boolean; currentVersion: string; latestVersion?: string; updateAvailable: boolean; channel: "npm"; restartRequired: boolean; updated?: boolean; reason?: string; } interface BundleUpdaterDependencies { fetch: typeof fetch; run(command: string, args: string[], options: { cwd: string; timeout: number; }): Promise; readJson(filePath: string): Promise; exists(filePath: string): Promise; argv: readonly string[]; environment: NodeJS.ProcessEnv; userHome: string; } /** Compare two stable semantic versions without accepting executable package targets. */ export declare function compareStableVersions(left: string, right: string): number; /** Independent npm-backed updater owned by Croco Generation Bundle. */ export declare class CrocoBundleUpdater { #private; constructor(config: BundleUpdaterConfig, dependencies?: Partial); /** Query npm's latest dist-tag and compare it with the Profile installation. */ check(restartRequired?: boolean): Promise; /** Install the latest validated npm version in the active Profile and roll back on failure. */ update(): Promise; }