import { type ReleaseRef } from "./release-ref.js"; import { SharedReleaseStore } from "./shared-release-store.js"; export declare const RECOMMENDED_RELEASE_SCHEMA_VERSION = 1; export interface RecommendedReleaseState { schemaVersion: typeof RECOMMENDED_RELEASE_SCHEMA_VERSION; generation: number; release: ReleaseRef & { storage: "shared"; }; updatedAt: string; } export interface PromoteRecommendedReleaseOptions { expectedGeneration?: number; allowSameVersionReplacement?: boolean; } /** Automatic adoption is upgrade-only. Rebinding the same immutable artifact * to a repaired Node runtime is also safe and does not change package content. */ export declare function shouldAdoptRecommendedRelease(current: ReleaseRef | undefined, currentVersion: string | undefined, recommended: ReleaseRef & { storage: "shared"; }, recommendedVersion: string): boolean; /** User-wide production recommendation. It is a restart hint, never a live-process pointer. */ export declare class RecommendedReleaseStore { readonly sharedStore: SharedReleaseStore; readonly stateFile: string; constructor(sharedStore: SharedReleaseStore); read(): RecommendedReleaseState | undefined; readStrict(): RecommendedReleaseState; stateExistsRecovering(): boolean; promote(release: ReleaseRef & { storage: "shared"; }, options?: PromoteRecommendedReleaseOptions): RecommendedReleaseState; private assertEligible; } export declare function isRecommendedReleaseState(value: unknown): value is RecommendedReleaseState;