export interface NodeRuntimeRef { nodePath: string; nodeVersion: string; nodeAbi: string; } export type ReleaseRef = { storage: "shared"; artifactId: string; node: NodeRuntimeRef; } | { storage: "legacy"; runtimePath: string; node: NodeRuntimeRef; }; export interface ReleaseSlots { current?: ReleaseRef; previous?: ReleaseRef; lastKnownGood?: ReleaseRef; } export declare function currentNodeRuntimeRef(): NodeRuntimeRef; export declare function probeNodeRuntimeRef(nodePath: string): NodeRuntimeRef; export declare function isReleaseRef(value: unknown): value is ReleaseRef; export declare function isNodeRuntimeRef(value: unknown): value is NodeRuntimeRef; export declare function isSafeIdentifier(value: unknown): value is string; export declare function sameReleaseRef(left: ReleaseRef | undefined, right: ReleaseRef | undefined): boolean;