import { Record } from '@fable-org/fable-library-js/Types.js';
import { int32 } from '@fable-org/fable-library-js/Int32.js';
import { Option } from '@fable-org/fable-library-js/Option.js';
import { IComparable, IEquatable } from '@fable-org/fable-library-js/Util.js';
import { TypeInfo } from '@fable-org/fable-library-js/Reflection.js';
export declare const SemVerAux_Pattern = "^(?<major>\\d+)(\\.(?<minor>\\d+))?(\\.(?<patch>\\d+))?(-(?<pre>[0-9A-Za-z-\\.]+))?(\\+(?<build>[0-9A-Za-z-\\.]+))?$";
export declare class SemVer extends Record implements IEquatable<SemVer>, IComparable<SemVer> {
    readonly Major: int32;
    readonly Minor: int32;
    readonly Patch: int32;
    readonly PreRelease: Option<string>;
    readonly Metadata: Option<string>;
    constructor(Major: int32, Minor: int32, Patch: int32, PreRelease: Option<string>, Metadata: Option<string>);
}
export declare function SemVer_$reflection(): TypeInfo;
export declare function SemVer_make(major: int32, minor: int32, patch: int32, pre: Option<string>, meta: Option<string>): SemVer;
export declare function SemVer_create_Z55658624(major: int32, minor: int32, patch: int32, pre?: string, meta?: string): SemVer;
export declare function SemVer_tryOfString_Z721C83C5(str: string): Option<SemVer>;
export declare function SemVer__AsString(this$: SemVer): string;
//# sourceMappingURL=SemVer.fs.d.ts.map