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

namespace UnityEngine.PostProcessing
{
	// Token: 0x020005C7 RID: 1479
	[Token(Token = "0x20005C7")]
	public abstract class PostProcessingComponent<T> : PostProcessingComponentBase where T : PostProcessingModel
	{
		// Token: 0x1700038C RID: 908
		// (get) Token: 0x060030C2 RID: 12482 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x060030C3 RID: 12483 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x1700038C")]
		public T model
		{
			[Token(Token = "0x60030C2")]
			[Address(RVA = "0x2EF530", Offset = "0x2EE530", VA = "0x1802EF530")]
			[CompilerGenerated]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x60030C3")]
			[Address(RVA = "0x475600", Offset = "0x474600", VA = "0x180475600")]
			[CompilerGenerated]
			internal set
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x060030C4 RID: 12484 RVA: 0x00069758 File Offset: 0x00067958
		[Token(Token = "0x60030C4")]
		[Address(RVA = "0xAB7BD0", Offset = "0xAB6BD0", VA = "0x180AB7BD0", Slot = "9")]
		public virtual void Init(PostProcessingContext pcontext, T pmodel)
		{
			this.<model>k__BackingField = pcontext;
			bool active = base.active;
		}

		// Token: 0x060030C5 RID: 12485 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60030C5")]
		[Address(RVA = "0x2AA0C0", Offset = "0x2A90C0", VA = "0x1802AA0C0", Slot = "8")]
		public override PostProcessingModel GetModel()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060030C6 RID: 12486 RVA: 0x00069774 File Offset: 0x00067974
		[Token(Token = "0x60030C6")]
		[Address(RVA = "0xA19940", Offset = "0xA18940", VA = "0x180A19940")]
		protected PostProcessingComponent()
		{
		}
	}
}
