text: // Autogenerated from CppHeaderCreator
  // Created by Sc2ad
  // =========================================================================
  #pragma once
  // Begin includes
  #include "extern/beatsaber-hook/shared/utils/typedefs.h"
  // Including type: System.Text.Encoding
  #include "System/Text/Encoding.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: System::Text
  namespace System::Text {
    // Forward declaring type: EncoderNLS
    class EncoderNLS;
    // Forward declaring type: DecoderNLS
    class DecoderNLS;
    // Forward declaring type: Encoder
    class Encoder;
    // Forward declaring type: Decoder
    class Decoder;
  }
  // Forward declaring namespace: System::Runtime::Serialization
  namespace System::Runtime::Serialization {
    // Forward declaring type: StreamingContext
    struct StreamingContext;
  }
  // Completed forward declares
  // Type namespace: System.Text
  namespace System::Text {
    // Size: 0x3B
    #pragma pack(push, 1)
    // Autogenerated type: System.Text.UnicodeEncoding
    // [ComVisibleAttribute] Offset: D7B5C4
    class UnicodeEncoding : public System::Text::Encoding {
      public:
      // Nested type: System::Text::UnicodeEncoding::Decoder
      class Decoder;
      // [OptionalFieldAttribute] Offset: 0xD812F4
      // System.Boolean isThrowException
      // Size: 0x1
      // Offset: 0x38
      bool isThrowException;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // System.Boolean bigEndian
      // Size: 0x1
      // Offset: 0x39
      bool bigEndian;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // System.Boolean byteOrderMark
      // Size: 0x1
      // Offset: 0x3A
      bool byteOrderMark;
      // Field size check
      static_assert(sizeof(bool) == 0x1);
      // Creating value type constructor for type: UnicodeEncoding
      UnicodeEncoding(bool isThrowException_ = {}, bool bigEndian_ = {}, bool byteOrderMark_ = {}) noexcept : isThrowException{isThrowException_}, bigEndian{bigEndian_}, byteOrderMark{byteOrderMark_} {}
      // Get static field: static private readonly System.UInt64 highLowPatternMask
      static uint64_t _get_highLowPatternMask();
      // Set static field: static private readonly System.UInt64 highLowPatternMask
      static void _set_highLowPatternMask(uint64_t value);
      // public System.Void .ctor(System.Boolean bigEndian, System.Boolean byteOrderMark)
      // Offset: 0x188C2FC
      template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
      static UnicodeEncoding* New_ctor(bool bigEndian, bool byteOrderMark) {
        static auto ___internal__logger = ::Logger::get().WithContext("System::Text::UnicodeEncoding::.ctor");
        return THROW_UNLESS((::il2cpp_utils::New<UnicodeEncoding*, creationType>(bigEndian, byteOrderMark)));
      }
      // public System.Void .ctor(System.Boolean bigEndian, System.Boolean byteOrderMark, System.Boolean throwOnInvalidBytes)
      // Offset: 0x188C30C
      template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
      static UnicodeEncoding* New_ctor(bool bigEndian, bool byteOrderMark, bool throwOnInvalidBytes) {
        static auto ___internal__logger = ::Logger::get().WithContext("System::Text::UnicodeEncoding::.ctor");
        return THROW_UNLESS((::il2cpp_utils::New<UnicodeEncoding*, creationType>(bigEndian, byteOrderMark, throwOnInvalidBytes)));
      }
      // static private System.Void .cctor()
      // Offset: 0x188FBCC
      static void _cctor();
      // public System.Void .ctor()
      // Offset: 0x188C2EC
      // Implemented from: System.Text.Encoding
      // Base method: System.Void Encoding::.ctor()
      // Base method: System.Void Object::.ctor()
      template<::il2cpp_utils::CreationType creationType = ::il2cpp_utils::CreationType::Temporary>
      static UnicodeEncoding* New_ctor() {
        static auto ___internal__logger = ::Logger::get().WithContext("System::Text::UnicodeEncoding::.ctor");
        return THROW_UNLESS((::il2cpp_utils::New<UnicodeEncoding*, creationType>()));
      }
      // private System.Void OnDeserializing(System.Runtime.Serialization.StreamingContext ctx)
      // Offset: 0x188C398
      // Implemented from: System.Text.Encoding
      // Base method: System.Void Encoding::OnDeserializing(System.Runtime.Serialization.StreamingContext ctx)
      void OnDeserializing(System::Runtime::Serialization::StreamingContext ctx);
      // override System.Void SetDefaultFallbacks()
      // Offset: 0x188C3A0
      // Implemented from: System.Text.Encoding
      // Base method: System.Void Encoding::SetDefaultFallbacks()
      void SetDefaultFallbacks();
      // public override System.Int32 GetByteCount(System.Char[] chars, System.Int32 index, System.Int32 count)
      // Offset: 0x188C45C
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetByteCount(System.Char[] chars, System.Int32 index, System.Int32 count)
      int GetByteCount(::Array<::Il2CppChar>* chars, int index, int count);
      // public override System.Int32 GetByteCount(System.String s)
      // Offset: 0x188C630
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetByteCount(System.String s)
      int GetByteCount(::Il2CppString* s);
      // public override System.Int32 GetByteCount(System.Char* chars, System.Int32 count)
      // Offset: 0x188C6E0
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetByteCount(System.Char* chars, System.Int32 count)
      int GetByteCount(::Il2CppChar* chars, int count);
      // public override System.Int32 GetBytes(System.String s, System.Int32 charIndex, System.Int32 charCount, System.Byte[] bytes, System.Int32 byteIndex)
      // Offset: 0x188C7FC
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetBytes(System.String s, System.Int32 charIndex, System.Int32 charCount, System.Byte[] bytes, System.Int32 byteIndex)
      int GetBytes(::Il2CppString* s, int charIndex, int charCount, ::Array<uint8_t>* bytes, int byteIndex);
      // public override System.Int32 GetBytes(System.Char[] chars, System.Int32 charIndex, System.Int32 charCount, System.Byte[] bytes, System.Int32 byteIndex)
      // Offset: 0x188CA6C
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetBytes(System.Char[] chars, System.Int32 charIndex, System.Int32 charCount, System.Byte[] bytes, System.Int32 byteIndex)
      int GetBytes(::Array<::Il2CppChar>* chars, int charIndex, int charCount, ::Array<uint8_t>* bytes, int byteIndex);
      // public override System.Int32 GetBytes(System.Char* chars, System.Int32 charCount, System.Byte* bytes, System.Int32 byteCount)
      // Offset: 0x188CD0C
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetBytes(System.Char* chars, System.Int32 charCount, System.Byte* bytes, System.Int32 byteCount)
      int GetBytes(::Il2CppChar* chars, int charCount, uint8_t* bytes, int byteCount);
      // public override System.Int32 GetCharCount(System.Byte[] bytes, System.Int32 index, System.Int32 count)
      // Offset: 0x188CE70
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetCharCount(System.Byte[] bytes, System.Int32 index, System.Int32 count)
      int GetCharCount(::Array<uint8_t>* bytes, int index, int count);
      // public override System.Int32 GetCharCount(System.Byte* bytes, System.Int32 count)
      // Offset: 0x188D044
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetCharCount(System.Byte* bytes, System.Int32 count)
      int GetCharCount(uint8_t* bytes, int count);
      // public override System.Int32 GetChars(System.Byte[] bytes, System.Int32 byteIndex, System.Int32 byteCount, System.Char[] chars, System.Int32 charIndex)
      // Offset: 0x188D160
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetChars(System.Byte[] bytes, System.Int32 byteIndex, System.Int32 byteCount, System.Char[] chars, System.Int32 charIndex)
      int GetChars(::Array<uint8_t>* bytes, int byteIndex, int byteCount, ::Array<::Il2CppChar>* chars, int charIndex);
      // public override System.Int32 GetChars(System.Byte* bytes, System.Int32 byteCount, System.Char* chars, System.Int32 charCount)
      // Offset: 0x188D400
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetChars(System.Byte* bytes, System.Int32 byteCount, System.Char* chars, System.Int32 charCount)
      int GetChars(uint8_t* bytes, int byteCount, ::Il2CppChar* chars, int charCount);
      // public override System.String GetString(System.Byte[] bytes, System.Int32 index, System.Int32 count)
      // Offset: 0x188D564
      // Implemented from: System.Text.Encoding
      // Base method: System.String Encoding::GetString(System.Byte[] bytes, System.Int32 index, System.Int32 count)
      ::Il2CppString* GetString(::Array<uint8_t>* bytes, int index, int count);
      // override System.Int32 GetByteCount(System.Char* chars, System.Int32 count, System.Text.EncoderNLS encoder)
      // Offset: 0x188D73C
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetByteCount(System.Char* chars, System.Int32 count, System.Text.EncoderNLS encoder)
      int GetByteCount(::Il2CppChar* chars, int count, System::Text::EncoderNLS* encoder);
      // override System.Int32 GetBytes(System.Char* chars, System.Int32 charCount, System.Byte* bytes, System.Int32 byteCount, System.Text.EncoderNLS encoder)
      // Offset: 0x188DD38
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetBytes(System.Char* chars, System.Int32 charCount, System.Byte* bytes, System.Int32 byteCount, System.Text.EncoderNLS encoder)
      int GetBytes(::Il2CppChar* chars, int charCount, uint8_t* bytes, int byteCount, System::Text::EncoderNLS* encoder);
      // override System.Int32 GetCharCount(System.Byte* bytes, System.Int32 count, System.Text.DecoderNLS baseDecoder)
      // Offset: 0x188E538
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetCharCount(System.Byte* bytes, System.Int32 count, System.Text.DecoderNLS baseDecoder)
      int GetCharCount(uint8_t* bytes, int count, System::Text::DecoderNLS* baseDecoder);
      // override System.Int32 GetChars(System.Byte* bytes, System.Int32 byteCount, System.Char* chars, System.Int32 charCount, System.Text.DecoderNLS baseDecoder)
      // Offset: 0x188EC98
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetChars(System.Byte* bytes, System.Int32 byteCount, System.Char* chars, System.Int32 charCount, System.Text.DecoderNLS baseDecoder)
      int GetChars(uint8_t* bytes, int byteCount, ::Il2CppChar* chars, int charCount, System::Text::DecoderNLS* baseDecoder);
      // public override System.Text.Encoder GetEncoder()
      // Offset: 0x188F604
      // Implemented from: System.Text.Encoding
      // Base method: System.Text.Encoder Encoding::GetEncoder()
      System::Text::Encoder* GetEncoder();
      // public override System.Text.Decoder GetDecoder()
      // Offset: 0x188F668
      // Implemented from: System.Text.Encoding
      // Base method: System.Text.Decoder Encoding::GetDecoder()
      System::Text::Decoder* GetDecoder();
      // public override System.Byte[] GetPreamble()
      // Offset: 0x188F6E4
      // Implemented from: System.Text.Encoding
      // Base method: System.Byte[] Encoding::GetPreamble()
      ::Array<uint8_t>* GetPreamble();
      // public override System.Int32 GetMaxByteCount(System.Int32 charCount)
      // Offset: 0x188F7C8
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetMaxByteCount(System.Int32 charCount)
      int GetMaxByteCount(int charCount);
      // public override System.Int32 GetMaxCharCount(System.Int32 byteCount)
      // Offset: 0x188F8D4
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetMaxCharCount(System.Int32 byteCount)
      int GetMaxCharCount(int byteCount);
      // public override System.Boolean Equals(System.Object value)
      // Offset: 0x188F9E4
      // Implemented from: System.Text.Encoding
      // Base method: System.Boolean Encoding::Equals(System.Object value)
      bool Equals(::Il2CppObject* value);
      // public override System.Int32 GetHashCode()
      // Offset: 0x188FB2C
      // Implemented from: System.Text.Encoding
      // Base method: System.Int32 Encoding::GetHashCode()
      int GetHashCode();
    }; // System.Text.UnicodeEncoding
    #pragma pack(pop)
    static check_size<sizeof(UnicodeEncoding), 58 + sizeof(bool)> __System_Text_UnicodeEncodingSizeCheck;
    static_assert(sizeof(UnicodeEncoding) == 0x3B);
  }
  DEFINE_IL2CPP_ARG_TYPE(System::Text::UnicodeEncoding*, "System.Text", "UnicodeEncoding");
  