using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x0200044A RID: 1098
	[Token(Token = "0x200044A")]
	[Serializable]
	public abstract class Constraint
	{
		// Token: 0x17000232 RID: 562
		// (get) Token: 0x06002705 RID: 9989 RVA: 0x0005A100 File Offset: 0x00058300
		[Token(Token = "0x17000232")]
		public bool isValid
		{
			[Token(Token = "0x6002705")]
			[Address(RVA = "0x12EE8F0", Offset = "0x12ED8F0", VA = "0x1812EE8F0")]
			get
			{
				Transform transform = this.transform;
				int num = 0;
				return transform != num;
			}
		}

		// Token: 0x06002706 RID: 9990
		[Token(Token = "0x6002706")]
		[Address(Slot = "4")]
		public abstract void UpdateConstraint();

		// Token: 0x06002707 RID: 9991 RVA: 0x0005A120 File Offset: 0x00058320
		[Token(Token = "0x6002707")]
		[Address(RVA = "0x36ABD0", Offset = "0x369BD0", VA = "0x18036ABD0")]
		protected Constraint()
		{
		}

		// Token: 0x040030E7 RID: 12519
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x40030E7")]
		public Transform transform;

		// Token: 0x040030E8 RID: 12520
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40030E8")]
		public float weight;
	}
}
