import * as semverlib from "semver";
/**
 * Wrap `semver` with support for understanding "latest"
 * - "latest" is both a version and a range
 * - "latest" range will match any valid version number
 * - "latest" version will only match "latest" version range
 **/
export type Version = semverlib.SemVer | "latest";
export declare const latestTag = "latest";
export declare const isLatest: (v: string) => v is "latest";
export declare const valid: (v: string) => string | null;
export declare const inc: (v: string, release: semverlib.ReleaseType) => string | null;
export declare const prerelease: (v: string) => readonly (string | number)[] | null;
export declare const major: (v: string) => number | "latest";
export declare const minor: (v: string) => number | "latest";
export declare const patch: (v: string) => number | "latest";
export declare const eq: (v1: string, v2: string) => boolean;
export declare const gt: (v1: string, v2: string) => boolean;
export declare const lt: (v1: string, v2: string) => boolean;
export declare const validRange: (range: string) => string | null;
export declare const satisfies: (v: string, range: string) => boolean;
export declare const toTildeRange: (v: string) => string | null;
export declare const toCaretRange: (v: string) => string | null;
export declare const gte: (v1: string, v2: string) => boolean;
export declare const lte: (v1: string, v2: string) => boolean;
export declare const neq: (v1: string, v2: string) => boolean;
export declare const sortAsc: (versions: string[]) => string[];
export declare const sortDesc: (versions: string[]) => string[];
export declare const minSatisfying: (versions: string[], range: string) => string | null;
export declare const maxSatisfying: (versions: string[], range: string) => string | null;
export declare const coerce: (v: string) => string | undefined;
export declare const gtr: (version: string, range: string) => boolean;
export declare const ltr: (version: string, range: string) => boolean;
export declare const outside: (version: string, range: string, hilo?: ">" | "<") => boolean;
