text: // Autogenerated from CppHeaderCreator
  // Created by Sc2ad
  // =========================================================================
  #pragma once
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  #include "extern/beatsaber-hook/shared/utils/byref.hpp"
  // Including type: Zenject.Installer`2
  #include "Zenject/Installer_2.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-properties.hpp"
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-fields.hpp"
  #include "extern/beatsaber-hook/shared/utils/utils.h"
  // Completed includes
  // Begin forward declares
  // Forward declaring namespace: Zenject
  namespace Zenject {
  }
  // Completed forward declares
  // Type namespace: Zenject
  namespace Zenject {
    // Forward declaring type: DefaultGameObjectParentInstaller
    class DefaultGameObjectParentInstaller;
  }
  #include "extern/beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
  NEED_NO_BOX(Zenject::DefaultGameObjectParentInstaller);
  DEFINE_IL2CPP_ARG_TYPE(Zenject::DefaultGameObjectParentInstaller*, "Zenject", "DefaultGameObjectParentInstaller");
  // Type namespace: Zenject
  namespace Zenject {
    // WARNING Size may be invalid!
    // Autogenerated type: Zenject.DefaultGameObjectParentInstaller
    // [TokenAttribute] Offset: FFFFFFFF
    class DefaultGameObjectParentInstaller : public Zenject::Installer_2<::Il2CppString*, Zenject::DefaultGameObjectParentInstaller*> {
      public:
      // Nested type: Zenject::DefaultGameObjectParentInstaller::DefaultParentObjectDestroyer
      class DefaultParentObjectDestroyer;
      #ifdef USE_CODEGEN_FIELDS
      public:
      #else
      protected:
      #endif
      // private readonly System.String _name
      // Size: 0x8
      // Offset: 0x18
      ::Il2CppString* name;
      // Field size check
      static_assert(sizeof(::Il2CppString*) == 0x8);
      public:
      // Deleting conversion operator: operator Zenject::DiContainer*
      constexpr operator Zenject::DiContainer*() const noexcept = delete;
      // Get instance field reference: private readonly System.String _name
      ::Il2CppString*& dyn__name();
      // public System.Void .ctor(System.String name)
      // Offset: 0x14E2B08
      template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
      static DefaultGameObjectParentInstaller* New_ctor(::Il2CppString* name) {
        static auto ___internal__logger = ::Logger::get().WithContext("Zenject::DefaultGameObjectParentInstaller::.ctor");
        return THROW_UNLESS((::il2cpp_utils::New<DefaultGameObjectParentInstaller*, creationType>(name)));
      }
      // public override System.Void InstallBindings()
      // Offset: 0x14E2B6C
      // Implemented from: Zenject.InstallerBase
      // Base method: System.Void InstallerBase::InstallBindings()
      void InstallBindings();
    }; // Zenject.DefaultGameObjectParentInstaller
    // WARNING Not writing size check since size may be invalid!
  }
  #include "extern/beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  // Writing MetadataGetter for method: Zenject::DefaultGameObjectParentInstaller::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: Zenject::DefaultGameObjectParentInstaller::InstallBindings
  // Il2CppName: InstallBindings
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (Zenject::DefaultGameObjectParentInstaller::*)()>(&Zenject::DefaultGameObjectParentInstaller::InstallBindings)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(Zenject::DefaultGameObjectParentInstaller*), "InstallBindings", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  