text: // Autogenerated from CppHeaderCreator
  // Created by Sc2ad
  // =========================================================================
  #pragma once
  // Begin includes
  #include <stdint.h>
  #include "beatsaber-hook/shared/utils/byref.hpp"
  #include "beatsaber-hook/shared/utils/typedefs-array.hpp"
  // Completed includes
  // Begin forward declares
  // Forward declaring namespace: Org::BouncyCastle::Crypto
  namespace Org::BouncyCastle::Crypto {
    // Forward declaring type: ICipherParameters
    class ICipherParameters;
  }
  // Completed forward declares
  // Type namespace: Org.BouncyCastle.Crypto
  namespace Org::BouncyCastle::Crypto {
    // Forward declaring type: ISigner
    class ISigner;
  }
  #include "beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
  NEED_NO_BOX(::Org::BouncyCastle::Crypto::ISigner);
  DEFINE_IL2CPP_ARG_TYPE(::Org::BouncyCastle::Crypto::ISigner*, "Org.BouncyCastle.Crypto", "ISigner");
  // Type namespace: Org.BouncyCastle.Crypto
  namespace Org::BouncyCastle::Crypto {
    // Size: 0x10
    #pragma pack(push, 1)
    // Autogenerated type: Org.BouncyCastle.Crypto.ISigner
    // [TokenAttribute] Offset: FFFFFFFF
    class ISigner {
      public:
      // public System.Void Init(System.Boolean forSigning, Org.BouncyCastle.Crypto.ICipherParameters parameters)
      // Offset: 0xFFFFFFFFFFFFFFFF
      void Init(bool forSigning, ::Org::BouncyCastle::Crypto::ICipherParameters* parameters);
      // public System.Void BlockUpdate(System.Byte[] input, System.Int32 inOff, System.Int32 length)
      // Offset: 0xFFFFFFFFFFFFFFFF
      void BlockUpdate(::ArrayW<uint8_t> input, int inOff, int length);
      // public System.Byte[] GenerateSignature()
      // Offset: 0xFFFFFFFFFFFFFFFF
      ::ArrayW<uint8_t> GenerateSignature();
      // public System.Void Reset()
      // Offset: 0xFFFFFFFFFFFFFFFF
      void Reset();
    }; // Org.BouncyCastle.Crypto.ISigner
    #pragma pack(pop)
  }
  #include "beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
  // Writing MetadataGetter for method: Org::BouncyCastle::Crypto::ISigner::Init
  // Il2CppName: Init
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (Org::BouncyCastle::Crypto::ISigner::*)(bool, ::Org::BouncyCastle::Crypto::ICipherParameters*)>(&Org::BouncyCastle::Crypto::ISigner::Init)> {
    static const MethodInfo* get() {
      static auto* forSigning = &::il2cpp_utils::GetClassFromName("System", "Boolean")->byval_arg;
      static auto* parameters = &::il2cpp_utils::GetClassFromName("Org.BouncyCastle.Crypto", "ICipherParameters")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(Org::BouncyCastle::Crypto::ISigner*), "Init", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{forSigning, parameters});
    }
  };
  // Writing MetadataGetter for method: Org::BouncyCastle::Crypto::ISigner::BlockUpdate
  // Il2CppName: BlockUpdate
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (Org::BouncyCastle::Crypto::ISigner::*)(::ArrayW<uint8_t>, int, int)>(&Org::BouncyCastle::Crypto::ISigner::BlockUpdate)> {
    static const MethodInfo* get() {
      static auto* input = &il2cpp_functions::array_class_get(::il2cpp_utils::GetClassFromName("System", "Byte"), 1)->byval_arg;
      static auto* inOff = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      static auto* length = &::il2cpp_utils::GetClassFromName("System", "Int32")->byval_arg;
      return ::il2cpp_utils::FindMethod(classof(Org::BouncyCastle::Crypto::ISigner*), "BlockUpdate", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{input, inOff, length});
    }
  };
  // Writing MetadataGetter for method: Org::BouncyCastle::Crypto::ISigner::GenerateSignature
  // Il2CppName: GenerateSignature
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<::ArrayW<uint8_t> (Org::BouncyCastle::Crypto::ISigner::*)()>(&Org::BouncyCastle::Crypto::ISigner::GenerateSignature)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(Org::BouncyCastle::Crypto::ISigner*), "GenerateSignature", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  // Writing MetadataGetter for method: Org::BouncyCastle::Crypto::ISigner::Reset
  // Il2CppName: Reset
  template<>
  struct ::il2cpp_utils::il2cpp_type_check::MetadataGetter<static_cast<void (Org::BouncyCastle::Crypto::ISigner::*)()>(&Org::BouncyCastle::Crypto::ISigner::Reset)> {
    static const MethodInfo* get() {
      return ::il2cpp_utils::FindMethod(classof(Org::BouncyCastle::Crypto::ISigner*), "Reset", std::vector<Il2CppClass*>(), ::std::vector<const Il2CppType*>{});
    }
  };
  