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

#define BEFORE_EXTRA

#undef BEFORE_EXTRA

class EconomyTradeableComponent {

#define AFTER_EXTRA

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

public:
#ifdef ENABLE_VIRTUAL_FAKESYMBOL_ECONOMYTRADEABLECOMPONENT
#endif
    MCAPI void addAdditionalSaveData(class CompoundTag &);
    MCAPI class UpdateTradePacket createDataPacket(enum ContainerID);
    MCAPI void fixVillagerTierToMatchTradeList(class MerchantRecipeList *);
    MCAPI struct IntRange getCurrentCuredDiscount() const;
    MCAPI int getCurrentNearbyCuredDiscount() const;
    MCAPI bool getInteraction(class Player &, class ActorInteraction &);
    MCAPI class MerchantRecipeList * getOffers();
    MCAPI int getTradeTier() const;
    MCAPI void loadOffersFromTag(class CompoundTag const *);
    MCAPI void matchExpAndTier();
    MCAPI void newServerAiStep();
    MCAPI void notifyTrade(int);
    MCAPI void readAdditionalSaveData(class CompoundTag const &, class DataLoadHelper &);
    MCAPI void setCurrentTradeExp(int);
    MCAPI void setNearbyCuredDiscount(int);
    MCAPI void tryIncrementCuredDiscount();
    MCAPI void tryToTransferOldOffers(class MerchantRecipeList *);

//private:
    MCAPI bool _generateTrades();
    MCAPI struct TradeTable * _getTradeTable();
    MCAPI int _getTradeTierFromCurrentExp();
    MCAPI void _setMaxTradeTier(int);
    MCAPI void _setTradeTier(int);

private:

};