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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class NameableDefinition {

#define AFTER_EXTRA

#undef AFTER_EXTRA
#ifndef DISABLE_CONSTRUCTOR_PREVENTION_NAMEABLEDEFINITION
public:
    class NameableDefinition& operator=(class NameableDefinition const &) = delete;
    NameableDefinition(class NameableDefinition const &) = delete;
    NameableDefinition() = delete;
#endif

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_NAMEABLEDEFINITION
#endif
    MCAPI void addNameAction(struct NameAction const &);
    MCAPI void deserializeData(class Json::Value &);
    MCAPI void initialize(class EntityContext &, class NameableComponent &) const;
    MCAPI void serializeData(class Json::Value &) const;
    MCAPI ~NameableDefinition();
    MCAPI static void buildSchema(class std::shared_ptr<class JsonUtil::JsonSchemaObjectNode<class JsonUtil::EmptyClass, class NameableDefinition>> &);

//private:
    MCAPI void parseNameActions(class Json::Value &);

private:

};