// 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: Mono.Net.Security.MobileAuthenticatedStream
#include "Mono/Net/Security/MobileAuthenticatedStream.hpp"
// Including type: System.Enum
#include "System/Enum.hpp"
// Completed includes
#include "beatsaber-hook/shared/utils/il2cpp-type-check.hpp"
DEFINE_IL2CPP_ARG_TYPE(::Mono::Net::Security::MobileAuthenticatedStream::OperationType, "Mono.Net.Security", "MobileAuthenticatedStream/OperationType");
// Type namespace: Mono.Net.Security
namespace Mono::Net::Security {
  // Size: 0x4
  #pragma pack(push, 1)
  // Autogenerated type: Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType
  // [TokenAttribute] Offset: FFFFFFFF
  struct MobileAuthenticatedStream::OperationType/*, public ::System::Enum*/ {
    public:
    public:
    // public System.Int32 value__
    // Size: 0x4
    // Offset: 0x0
    int value;
    // Field size check
    static_assert(sizeof(int) == 0x4);
    public:
    // Creating value type constructor for type: OperationType
    constexpr OperationType(int value_ = {}) noexcept : value{value_} {}
    // Creating interface conversion operator: operator ::System::Enum
    operator ::System::Enum() noexcept {
      return *reinterpret_cast<::System::Enum*>(this);
    }
    // Creating conversion operator: operator int
    constexpr operator int() const noexcept {
      return value;
    }
    // static field const value: static public Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType Read
    static constexpr const int Read = 0;
    // Get static field: static public Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType Read
    static ::Mono::Net::Security::MobileAuthenticatedStream::OperationType _get_Read();
    // Set static field: static public Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType Read
    static void _set_Read(::Mono::Net::Security::MobileAuthenticatedStream::OperationType value);
    // static field const value: static public Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType Write
    static constexpr const int Write = 1;
    // Get static field: static public Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType Write
    static ::Mono::Net::Security::MobileAuthenticatedStream::OperationType _get_Write();
    // Set static field: static public Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType Write
    static void _set_Write(::Mono::Net::Security::MobileAuthenticatedStream::OperationType value);
    // static field const value: static public Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType Shutdown
    static constexpr const int Shutdown = 2;
    // Get static field: static public Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType Shutdown
    static ::Mono::Net::Security::MobileAuthenticatedStream::OperationType _get_Shutdown();
    // Set static field: static public Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType Shutdown
    static void _set_Shutdown(::Mono::Net::Security::MobileAuthenticatedStream::OperationType value);
    // Get instance field reference: public System.Int32 value__
    [[deprecated("Use field access instead!")]] int& dyn_value__();
  }; // Mono.Net.Security.MobileAuthenticatedStream/Mono.Net.Security.OperationType
  #pragma pack(pop)
  static check_size<sizeof(MobileAuthenticatedStream::OperationType), 0 + sizeof(int)> __Mono_Net_Security_MobileAuthenticatedStream_OperationTypeSizeCheck;
  static_assert(sizeof(MobileAuthenticatedStream::OperationType) == 0x4);
}
#include "beatsaber-hook/shared/utils/il2cpp-utils-methods.hpp"
