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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class PermissionsFile {

#define AFTER_EXTRA

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

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_PERMISSIONSFILE
#endif
    MCAPI void applyPlayerPermissionsFromDisk(class Player &, enum CommandPermissionLevel);
    MCAPI std::vector<std::string> getXUIDsByPermission(enum PlayerPermissionLevel) const;
    MCAPI bool isPermissionsSet(std::string const &, enum PlayerPermissionLevel) const;
    MCAPI void persistPlayerPermissionsToDisk(class Player const &, enum PlayerPermissionLevel);
    MCAPI void persistPlayerPermissionsToDisk(std::string const &, enum PlayerPermissionLevel);
    MCAPI enum FileReadResult reload();

//private:
    MCAPI class std::tuple<enum FileReadResult, class Json::Value> readPermissionFile();
    MCAPI void setDefaultPlayerPermission(class Player &, enum CommandPermissionLevel);

private:

};