export const semverRegEx: RegExp; export const shortSemverRegEx: RegExp; export class Semver { constructor(version: string); readonly major: number | undefined; readonly minor: number | undefined; readonly patch: number | undefined; readonly pre: string[] | undefined; readonly build: string | undefined; readonly tag: string | undefined; gt(version: Semver | string): boolean; lt(version: Semver | string): boolean; eq(version: Semver | string): boolean; matches(range: SemverRange | string, unstable?: boolean): boolean; toString(): string; toJSON(): string; static isValid(version: string): boolean; static compare(v1: Semver | string, v2: Semver | string): -1 | 0 | 1; } export type SemverRangeType = | 'wildcard' | 'major' | 'stable' | 'exact' | 'lower_bound' | 'upper_bound' | 'intersection' | 'union'; export class SemverRange { constructor(versionRange: string); readonly isExact: boolean; readonly isExactSemver: boolean; readonly isExactTag: boolean; readonly isStable: boolean; readonly isMajor: boolean; readonly isWildcard: boolean; readonly isLowerBound: boolean; readonly isUpperBound: boolean; readonly isIntersection: boolean; readonly isUnion: boolean; readonly type: SemverRangeType; readonly version: Semver | undefined; readonly rangeSet: SemverRange[] | undefined; readonly boundInclusive: boolean | undefined; gt(range: SemverRange | string): boolean; lt(range: SemverRange | string): boolean; eq(range: SemverRange | string): boolean; has(version: Semver | string, unstable?: boolean): boolean; contains(range: SemverRange | string): boolean; intersect(range: SemverRange | string): SemverRange | undefined; bestMatch(versions: (Semver | string)[], unstable?: boolean): Semver | undefined; toString(): string; toJSON(): string; static match(range: SemverRange | string, version: Semver | string, unstable?: boolean): boolean; static isValid(range: string): boolean; static compare(r1: SemverRange | string, r2: SemverRange | string): -1 | 0 | 1; }