// This Header is auto generated by BDSLiteLoader Toolchain
#pragma once
#define AUTO_GENERATED
#include "llapi/Global.h"
#include "Json.hpp"

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class SemVersion {

    struct  any_version_constructor {
        char gap0;
    };
    enum MatchType : char
    {
        Full = 0x0,
        Partial = 0x1,
        None_4 = 0x2,
    };
    enum ParseOption : int
    {
        AllowAnyVersion = 0x0,
        NoAnyVersion = 0x1,
    };

#define AFTER_EXTRA

#undef AFTER_EXTRA
public:
    unsigned short mMajor;
    unsigned short mMinor;
    unsigned short mPatch;
    std::string mPreRelease;
    std::string mBuildMeta;
    std::string mFullVersionString;
    bool mValidVersion;
    bool mAnyVersion;
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_SEMVERSION
#endif
    MCAPI SemVersion(class SemVersion const &);
    MCAPI SemVersion();
    MCAPI SemVersion(struct SemVersion::any_version_constructor);
    MCAPI bool operator<(class SemVersion const &) const;
    MCAPI class SemVersion & operator=(class SemVersion const &);
    MCAPI bool operator==(class SemVersion const &) const;
    MCAPI ~SemVersion();
    MCAPI static enum SemVersion::MatchType fromJson(class Json::Value const &, class SemVersion &, enum SemVersion::ParseOption);
    MCAPI static enum SemVersion::MatchType fromJsonArray(class Json::Value const &, class SemVersion &);
    MCAPI static enum SemVersion::MatchType fromString(std::string const &, class SemVersion &, enum SemVersion::ParseOption);

//private:
    MCAPI void _parseVersionToString();

private:

};