export type Release = { readonly major: number; readonly minor: number; readonly patch: number; }; /** The grammar a declared floor must match, shared with the configuration schema. */ export declare const RELEASE_PATTERN: RegExp; export declare function parseRelease(value: string): Release | null; /** * The running version, which unlike a floor carries a prerelease or a build * suffix. Both are dropped: a candidate of X emits what X emits. */ export declare function parseRunning(value: string): Release | null; export declare function isPrerelease(value: string): boolean; export declare function compareReleases(left: Release, right: Release): number; /** * The floor a run raises the repository to, or null where it raises nothing. * A patch carries the format of its minor, so raising to the running patch * would let one invocation lock a team out over a difference no emission * reflects. */ export declare function raisedFloorFor(running: Release, declared: Release): string | null;