using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes;
using Il2CppSystem;

namespace Obi
{
	// Token: 0x02000540 RID: 1344
	public class IObiSolverClient : Il2CppObjectBase
	{
		// Token: 0x0600982E RID: 38958 RVA: 0x00272DC8 File Offset: 0x00270FC8
		[CallerCount(0)]
		public unsafe virtual bool AddToSolver(Object info)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(info);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IObiSolverClient.NativeMethodInfoPtr_AddToSolver_Public_Abstract_Virtual_New_Boolean_Object_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x0600982F RID: 38959 RVA: 0x00272E3C File Offset: 0x0027103C
		[CallerCount(0)]
		public unsafe virtual bool RemoveFromSolver(Object info)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(info);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IObiSolverClient.NativeMethodInfoPtr_RemoveFromSolver_Public_Abstract_Virtual_New_Boolean_Object_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06009830 RID: 38960 RVA: 0x00272EB0 File Offset: 0x002710B0
		[CallerCount(0)]
		public unsafe virtual void PushDataToSolver(ParticleData data = ParticleData.NONE)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref data;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IObiSolverClient.NativeMethodInfoPtr_PushDataToSolver_Public_Abstract_Virtual_New_Void_ParticleData_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06009831 RID: 38961 RVA: 0x00272F10 File Offset: 0x00271110
		[CallerCount(0)]
		public unsafe virtual void PullDataFromSolver(ParticleData data = ParticleData.NONE)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref data;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IObiSolverClient.NativeMethodInfoPtr_PullDataFromSolver_Public_Abstract_Virtual_New_Void_ParticleData_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06009832 RID: 38962 RVA: 0x00272F70 File Offset: 0x00271170
		// Note: this type is marked as 'beforefieldinit'.
		static IObiSolverClient()
		{
			Il2CppClassPointerStore<IObiSolverClient>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "IObiSolverClient");
			IObiSolverClient.NativeMethodInfoPtr_AddToSolver_Public_Abstract_Virtual_New_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IObiSolverClient>.NativeClassPtr, 100675154);
			IObiSolverClient.NativeMethodInfoPtr_RemoveFromSolver_Public_Abstract_Virtual_New_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IObiSolverClient>.NativeClassPtr, 100675155);
			IObiSolverClient.NativeMethodInfoPtr_PushDataToSolver_Public_Abstract_Virtual_New_Void_ParticleData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IObiSolverClient>.NativeClassPtr, 100675156);
			IObiSolverClient.NativeMethodInfoPtr_PullDataFromSolver_Public_Abstract_Virtual_New_Void_ParticleData_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IObiSolverClient>.NativeClassPtr, 100675157);
		}

		// Token: 0x06009833 RID: 38963 RVA: 0x000FB296 File Offset: 0x000F9496
		public IObiSolverClient(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x0400659A RID: 26010
		private static readonly IntPtr NativeMethodInfoPtr_AddToSolver_Public_Abstract_Virtual_New_Boolean_Object_0;

		// Token: 0x0400659B RID: 26011
		private static readonly IntPtr NativeMethodInfoPtr_RemoveFromSolver_Public_Abstract_Virtual_New_Boolean_Object_0;

		// Token: 0x0400659C RID: 26012
		private static readonly IntPtr NativeMethodInfoPtr_PushDataToSolver_Public_Abstract_Virtual_New_Void_ParticleData_0;

		// Token: 0x0400659D RID: 26013
		private static readonly IntPtr NativeMethodInfoPtr_PullDataFromSolver_Public_Abstract_Virtual_New_Void_ParticleData_0;
	}
}
