import { SemanticVersion } from "./SemanticVersion.js";
import { Version } from "./Version.js";
/**
 * Parser for a superset of the semantic version format described at <a href="https://semver.org">semver.org</a>.
 *
 * <p>This superset allows additionally
 * <ul><li>Arbitrary number of {@code <version core>} components, but at least 1
 * <li>{@code x}, {@code X} or {@code *} for the last {@code <version core>} component with {@code storeX} if not the first
 * <li>Arbitrary {@code <build>} contents
 * </ul>
 */
export declare class SemanticVersionImpl extends SemanticVersion {
    private static readonly DOT_SEPARATED_ID;
    private static readonly UNSIGNED_INTEGER;
    private readonly components;
    private readonly prerelease;
    private readonly build;
    private friendlyName;
    static of(version: string, storeX: boolean): SemanticVersionImpl;
    constructor(components: number[], prerelease: string | null, build: string | null);
    private buildFriendlyName;
    getVersionComponentCount(): number;
    getVersionComponent(pos: number): number;
    getVersionComponents(): number[];
    getPrereleaseKey(): string | null;
    getBuildKey(): string | null;
    getFriendlyString(): string;
    equals(o: unknown): boolean;
    toString(): string;
    hasWildcard(): boolean;
    equalsComponentsExactly(other: SemanticVersionImpl): boolean;
    compareTo(other: Version): number;
}
