text: // Autogenerated from CppHeaderCreator
  // Created by Sc2ad
  // =========================================================================
  #pragma once
  // Begin includes
  #include "beatsaber-hook/shared/utils/typedefs.h"
  #include "beatsaber-hook/shared/utils/byref.hpp"
  // Including type: NatSuite.Devices.MediaDeviceQuery/NatSuite.Devices.Criteria
  #include "NatSuite/Devices/MediaDeviceQuery_Criteria.hpp"
  #include "beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  #include "beatsaber-hook/shared/utils/il2cpp-utils-properties.hpp"
  #include "beatsaber-hook/shared/utils/il2cpp-utils-fields.hpp"
  #include "beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Begin forward declares
  // Forward declaring namespace: NatSuite::Devices
  namespace NatSuite::Devices {
    // Forward declaring type: IMediaDevice
    class IMediaDevice;
  }
  // Completed forward declares
  #include "beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
  NEED_NO_BOX(::NatSuite::Devices::MediaDeviceQuery::Criteria::$$c);
  DEFINE_IL2CPP_ARG_TYPE(::NatSuite::Devices::MediaDeviceQuery::Criteria::$$c*, "NatSuite.Devices", "MediaDeviceQuery/Criteria/<>c");
  // Type namespace: NatSuite.Devices
  namespace NatSuite::Devices {
    // Size: 0x10
    #pragma pack(push, 1)
    // Autogenerated type: NatSuite.Devices.MediaDeviceQuery/NatSuite.Devices.Criteria/NatSuite.Devices.<>c
    // [TokenAttribute] Offset: FFFFFFFF
    // [CompilerGeneratedAttribute] Offset: FFFFFFFF
    class MediaDeviceQuery::Criteria::$$c : public ::Il2CppObject {
      public:
      // Get static field: static public readonly NatSuite.Devices.MediaDeviceQuery/NatSuite.Devices.Criteria/NatSuite.Devices.<>c <>9
      static ::NatSuite::Devices::MediaDeviceQuery::Criteria::$$c* _get_$$9();
      // Set static field: static public readonly NatSuite.Devices.MediaDeviceQuery/NatSuite.Devices.Criteria/NatSuite.Devices.<>c <>9
      static void _set_$$9(::NatSuite::Devices::MediaDeviceQuery::Criteria::$$c* value);
      // static private System.Void .cctor()
      // Offset: 0xE8B8B4
      static void _cctor();
      // public System.Void .ctor()
      // Offset: 0xE8B914
      template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
      static MediaDeviceQuery::Criteria::$$c* New_ctor() {
        static auto ___internal__logger = ::Logger::get().WithContext("::NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::.ctor");
        return THROW_UNLESS((::il2cpp_utils::New<MediaDeviceQuery::Criteria::$$c*, creationType>()));
      }
      // System.Boolean <.cctor>b__7_0(NatSuite.Devices.IMediaDevice device)
      // Offset: 0xE8B91C
      bool $_cctor$b__7_0(::NatSuite::Devices::IMediaDevice* device);
      // System.Boolean <.cctor>b__7_1(NatSuite.Devices.IMediaDevice device)
      // Offset: 0xE8B998
      bool $_cctor$b__7_1(::NatSuite::Devices::IMediaDevice* device);
      // System.Boolean <.cctor>b__7_2(NatSuite.Devices.IMediaDevice device)
      // Offset: 0xE8BA14
      bool $_cctor$b__7_2(::NatSuite::Devices::IMediaDevice* device);
      // System.Boolean <.cctor>b__7_3(NatSuite.Devices.IMediaDevice device)
      // Offset: 0xE8BA6C
      bool $_cctor$b__7_3(::NatSuite::Devices::IMediaDevice* device);
      // System.Boolean <.cctor>b__7_4(NatSuite.Devices.IMediaDevice device)
      // Offset: 0xE8BB34
      bool $_cctor$b__7_4(::NatSuite::Devices::IMediaDevice* device);
      // System.Boolean <.cctor>b__7_5(NatSuite.Devices.IMediaDevice device)
      // Offset: 0xE8BBF4
      bool $_cctor$b__7_5(::NatSuite::Devices::IMediaDevice* device);
      // System.Boolean <.cctor>b__7_6(NatSuite.Devices.IMediaDevice device)
      // Offset: 0xE8BC90
      bool $_cctor$b__7_6(::NatSuite::Devices::IMediaDevice* device);
    }; // NatSuite.Devices.MediaDeviceQuery/NatSuite.Devices.Criteria/NatSuite.Devices.<>c
    #pragma pack(pop)
  }
  #include "beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  // Writing MetadataGetter for method: NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::_cctor
  // Il2CppName: .cctor
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (*)()>(&NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::_cctor)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(NatSuite::Devices::MediaDeviceQuery::Criteria::$$c*), ".cctor", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::New_ctor
  // Il2CppName: .ctor
  // Cannot get method pointer of value based method overload from template for constructor!
  // Try using FindMethod instead!
  // Writing MetadataGetter for method: NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_0
  // Il2CppName: <.cctor>b__7_0
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::*)(::NatSuite::Devices::IMediaDevice*)>(&NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_0)> {
    static const MethodInfo* get() {
      static auto* device = &::il2cpp_utils::GetClassFromName("NatSuite.Devices", "IMediaDevice")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(NatSuite::Devices::MediaDeviceQuery::Criteria::$$c*), "<.cctor>b__7_0", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{device});
    }
  };
  // Writing MetadataGetter for method: NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_1
  // Il2CppName: <.cctor>b__7_1
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::*)(::NatSuite::Devices::IMediaDevice*)>(&NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_1)> {
    static const MethodInfo* get() {
      static auto* device = &::il2cpp_utils::GetClassFromName("NatSuite.Devices", "IMediaDevice")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(NatSuite::Devices::MediaDeviceQuery::Criteria::$$c*), "<.cctor>b__7_1", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{device});
    }
  };
  // Writing MetadataGetter for method: NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_2
  // Il2CppName: <.cctor>b__7_2
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::*)(::NatSuite::Devices::IMediaDevice*)>(&NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_2)> {
    static const MethodInfo* get() {
      static auto* device = &::il2cpp_utils::GetClassFromName("NatSuite.Devices", "IMediaDevice")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(NatSuite::Devices::MediaDeviceQuery::Criteria::$$c*), "<.cctor>b__7_2", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{device});
    }
  };
  // Writing MetadataGetter for method: NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_3
  // Il2CppName: <.cctor>b__7_3
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::*)(::NatSuite::Devices::IMediaDevice*)>(&NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_3)> {
    static const MethodInfo* get() {
      static auto* device = &::il2cpp_utils::GetClassFromName("NatSuite.Devices", "IMediaDevice")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(NatSuite::Devices::MediaDeviceQuery::Criteria::$$c*), "<.cctor>b__7_3", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{device});
    }
  };
  // Writing MetadataGetter for method: NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_4
  // Il2CppName: <.cctor>b__7_4
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::*)(::NatSuite::Devices::IMediaDevice*)>(&NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_4)> {
    static const MethodInfo* get() {
      static auto* device = &::il2cpp_utils::GetClassFromName("NatSuite.Devices", "IMediaDevice")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(NatSuite::Devices::MediaDeviceQuery::Criteria::$$c*), "<.cctor>b__7_4", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{device});
    }
  };
  // Writing MetadataGetter for method: NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_5
  // Il2CppName: <.cctor>b__7_5
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::*)(::NatSuite::Devices::IMediaDevice*)>(&NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_5)> {
    static const MethodInfo* get() {
      static auto* device = &::il2cpp_utils::GetClassFromName("NatSuite.Devices", "IMediaDevice")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(NatSuite::Devices::MediaDeviceQuery::Criteria::$$c*), "<.cctor>b__7_5", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{device});
    }
  };
  // Writing MetadataGetter for method: NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_6
  // Il2CppName: <.cctor>b__7_6
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<bool (NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::*)(::NatSuite::Devices::IMediaDevice*)>(&NatSuite::Devices::MediaDeviceQuery::Criteria::$$c::$_cctor$b__7_6)> {
    static const MethodInfo* get() {
      static auto* device = &::il2cpp_utils::GetClassFromName("NatSuite.Devices", "IMediaDevice")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(NatSuite::Devices::MediaDeviceQuery::Criteria::$$c*), "<.cctor>b__7_6", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{device});
    }
  };
  