import { ReleaseCalculationOptions } from "./types"; import * as t from "io-ts"; export declare type VersionLabel = SEMVER.major | SEMVER.minor | SEMVER.patch | "skip" | "release"; declare enum SEMVER { major = "major", premajor = "premajor", minor = "minor", preminor = "preminor", patch = "patch", prepatch = "prepatch", noVersion = "" } export declare const preVersionMap: Map; export declare type IVersionLabels = Map; export default SEMVER; export declare const releaseLabels: VersionLabel[]; /** Determine if a label is a label used for versioning */ export declare const isVersionLabel: (label: string) => label is VersionLabel; export declare const labelDefinition: t.IntersectionC<[t.PartialC<{ /** A title to put in the changelog for the label */ changelogTitle: t.StringC; /** The color of the label */ color: t.StringC; /** The description of the label */ description: t.StringC; /** What type of release this label signifies */ releaseType: t.UnionC<[t.LiteralC<"none">, t.LiteralC<"skip">, ...t.LiteralC[]]>; /** Whether to overwrite the base label */ overwrite: t.BooleanC; /** Marks this label as the default label for unlabelled PRs */ default: t.BooleanC; }>, t.TypeC<{ /** The label text */ name: t.StringC; }>]>; export declare type ILabelDefinition = t.TypeOf; export declare const defaultLabels: ILabelDefinition[]; /** Given two labels determine the next SEMVER bump. */ export declare function getHigherSemverTag(left: SEMVER, right: SEMVER): SEMVER; /** Get the semver bump for a release type */ export declare const getReleaseType: (releaseType?: VersionLabel | "none" | undefined) => SEMVER.major | SEMVER.minor | SEMVER.patch | SEMVER.noVersion; /** * Determine the version bump from the labels on merged PRs. * Respects skip-release labels and the "onlyPublishWithReleaseLabel" * strategy. */ export declare function calculateSemVerBump(prLabels: string[][], labelMap: IVersionLabels, { onlyPublishWithReleaseLabel, labels, }?: ReleaseCalculationOptions & { /** The project's labels */ labels?: ILabelDefinition[]; }): SEMVER; //# sourceMappingURL=semver.d.ts.map