text: // Autogenerated from CppHeaderCreator
  // Created by Sc2ad
  // =========================================================================
  #pragma once
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/byref.hpp"
  // Completed includes
  // Begin forward declares
  // Forward declaring namespace: System::Collections::Generic
  namespace System::Collections::Generic {
    // Forward declaring type: Dictionary`2<TKey, TValue>
    template<typename TKey, typename TValue>
    class Dictionary_2;
  }
  // Completed forward declares
  // Begin il2cpp-utils forward declares
  struct Il2CppString;
  // Completed il2cpp-utils forward declares
  // Type namespace: 
  namespace GlobalNamespace {
    // Forward declaring type: IAnalyticsModel
    class IAnalyticsModel;
  }
  #include "extern/beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
  NEED_NO_BOX(GlobalNamespace::IAnalyticsModel);
  DEFINE_IL2CPP_ARG_TYPE(GlobalNamespace::IAnalyticsModel*, "", "IAnalyticsModel");
  // Type namespace: 
  namespace GlobalNamespace {
    // Size: 0x10
    #pragma pack(push, 1)
    // Autogenerated type: IAnalyticsModel
    // [TokenAttribute] Offset: FFFFFFFF
    class IAnalyticsModel {
      public:
      // public System.Boolean get_supportsOpenDataPrivacyPage()
      // Offset: 0xFFFFFFFF
      bool get_supportsOpenDataPrivacyPage();
      // public System.Void OpenDataPrivacyPage()
      // Offset: 0xFFFFFFFF
      void OpenDataPrivacyPage();
      // public System.Void LogEvent(System.String eventType, System.Collections.Generic.Dictionary`2<System.String,System.String> eventData)
      // Offset: 0xFFFFFFFF
      void LogEvent(::Il2CppString* eventType, System::Collections::Generic::Dictionary_2<::Il2CppString*, ::Il2CppString*>* eventData);
      // public System.Void LogClick(System.String clickType, System.Collections.Generic.Dictionary`2<System.String,System.String> clickData)
      // Offset: 0xFFFFFFFF
      void LogClick(::Il2CppString* clickType, System::Collections::Generic::Dictionary_2<::Il2CppString*, ::Il2CppString*>* clickData);
      // public System.Void LogImpression(System.String impressionType, System.Collections.Generic.Dictionary`2<System.String,System.String> impressionData)
      // Offset: 0xFFFFFFFF
      void LogImpression(::Il2CppString* impressionType, System::Collections::Generic::Dictionary_2<::Il2CppString*, ::Il2CppString*>* impressionData);
      // public System.Void LogExposure(System.String exposureType, System.Collections.Generic.Dictionary`2<System.String,System.String> exposureData)
      // Offset: 0xFFFFFFFF
      void LogExposure(::Il2CppString* exposureType, System::Collections::Generic::Dictionary_2<::Il2CppString*, ::Il2CppString*>* exposureData);
    }; // IAnalyticsModel
    #pragma pack(pop)
  }
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  // Writing MetadataGetter for method: GlobalNamespace::IAnalyticsModel::get_supportsOpenDataPrivacyPage
  // Il2CppName: get_supportsOpenDataPrivacyPage
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (GlobalNamespace::IAnalyticsModel::*)()>(&GlobalNamespace::IAnalyticsModel::get_supportsOpenDataPrivacyPage)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::IAnalyticsModel*), "get_supportsOpenDataPrivacyPage", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::IAnalyticsModel::OpenDataPrivacyPage
  // Il2CppName: OpenDataPrivacyPage
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::IAnalyticsModel::*)()>(&GlobalNamespace::IAnalyticsModel::OpenDataPrivacyPage)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::IAnalyticsModel*), "OpenDataPrivacyPage", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::IAnalyticsModel::LogEvent
  // Il2CppName: LogEvent
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::IAnalyticsModel::*)(::Il2CppString*, System::Collections::Generic::Dictionary_2<::Il2CppString*, ::Il2CppString*>*)>(&GlobalNamespace::IAnalyticsModel::LogEvent)> {
    static const MethodInfo* get() {
      static auto* eventType = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* eventData = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System.Collections.Generic", "Dictionary`2"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System", "String"), ::il2cpp_utils::GetClassFromName("System", "String")})->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::IAnalyticsModel*), "LogEvent", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{eventType, eventData});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::IAnalyticsModel::LogClick
  // Il2CppName: LogClick
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::IAnalyticsModel::*)(::Il2CppString*, System::Collections::Generic::Dictionary_2<::Il2CppString*, ::Il2CppString*>*)>(&GlobalNamespace::IAnalyticsModel::LogClick)> {
    static const MethodInfo* get() {
      static auto* clickType = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* clickData = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System.Collections.Generic", "Dictionary`2"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System", "String"), ::il2cpp_utils::GetClassFromName("System", "String")})->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::IAnalyticsModel*), "LogClick", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{clickType, clickData});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::IAnalyticsModel::LogImpression
  // Il2CppName: LogImpression
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::IAnalyticsModel::*)(::Il2CppString*, System::Collections::Generic::Dictionary_2<::Il2CppString*, ::Il2CppString*>*)>(&GlobalNamespace::IAnalyticsModel::LogImpression)> {
    static const MethodInfo* get() {
      static auto* impressionType = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* impressionData = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System.Collections.Generic", "Dictionary`2"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System", "String"), ::il2cpp_utils::GetClassFromName("System", "String")})->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::IAnalyticsModel*), "LogImpression", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{impressionType, impressionData});
    }
  };
  // Writing MetadataGetter for method: GlobalNamespace::IAnalyticsModel::LogExposure
  // Il2CppName: LogExposure
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (GlobalNamespace::IAnalyticsModel::*)(::Il2CppString*, System::Collections::Generic::Dictionary_2<::Il2CppString*, ::Il2CppString*>*)>(&GlobalNamespace::IAnalyticsModel::LogExposure)> {
    static const MethodInfo* get() {
      static auto* exposureType = &::il2cpp_utils::GetClassFromName("System", "String")->byval_arg;
      static auto* exposureData = &::il2cpp_utils::MakeGeneric(::il2cpp_utils::GetClassFromName("System.Collections.Generic", "Dictionary`2"), ::std::vector<const Il2CppClass*>{::il2cpp_utils::GetClassFromName("System", "String"), ::il2cpp_utils::GetClassFromName("System", "String")})->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(GlobalNamespace::IAnalyticsModel*), "LogExposure", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{exposureType, exposureData});
    }
  };
  