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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class FeatureToggles {

#define AFTER_EXTRA

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

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_FEATURETOGGLES
#endif
    MCAPI bool isEnabled(enum FeatureOptionID) const;
    MCAPI ~FeatureToggles();

//private:
    MCAPI void _initialize(class AppPlatform &);
    MCAPI void _registerFeature(enum FeatureOptionID, std::string const &, std::string const &, bool, enum FeatureOptionID, class std::function<void (class Option &)>, class std::function<bool (void)>);
    MCAPI void _registerFeatures();

private:
    MCAPI static std::unique_ptr<class FeatureToggles> mFeatureToggles;

};