using System;
using System.Runtime.CompilerServices;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x0200056F RID: 1391
	[Token(Token = "0x200056F")]
	public abstract class PostProcessingComponent<T> : PostProcessingComponentBase where T : PostProcessingModel
	{
		// Token: 0x17000367 RID: 871
		// (get) Token: 0x06002DF9 RID: 11769 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06002DFA RID: 11770 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000367")]
		public T model
		{
			[Token(Token = "0x6002DF9")]
			[Address(RVA = "0x2B4380", Offset = "0x2B3180", VA = "0x1802B4380")]
			[CompilerGenerated]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002DFA")]
			[Address(RVA = "0x413D20", Offset = "0x412B20", VA = "0x180413D20")]
			[CompilerGenerated]
			internal set
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x06002DFB RID: 11771 RVA: 0x00062488 File Offset: 0x00060688
		[Token(Token = "0x6002DFB")]
		[Address(RVA = "0x6474B0", Offset = "0x6462B0", VA = "0x1806474B0", Slot = "9")]
		public virtual void Init(PostProcessingContext pcontext, T pmodel)
		{
			this.<model>k__BackingField = pcontext;
			bool active = base.active;
		}

		// Token: 0x06002DFC RID: 11772 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DFC")]
		[Address(RVA = "0x2A2F90", Offset = "0x2A1D90", VA = "0x1802A2F90", Slot = "8")]
		public override PostProcessingModel GetModel()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DFD RID: 11773 RVA: 0x000624A4 File Offset: 0x000606A4
		[Token(Token = "0x6002DFD")]
		[Address(RVA = "0x36FDD0", Offset = "0x36EBD0", VA = "0x18036FDD0")]
		protected PostProcessingComponent()
		{
			int num = 0;
			base..ctor(num != 0);
		}
	}
}
