using System;
using Cpp2IlInjected;

namespace UnityEngine.PostProcessing
{
	// Token: 0x02000553 RID: 1363
	[Token(Token = "0x2000553")]
	[Serializable]
	public class DepthOfFieldModel : PostProcessingModel
	{
		// Token: 0x17000354 RID: 852
		// (get) Token: 0x06002DB5 RID: 11701 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06002DB6 RID: 11702 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000354")]
		public DepthOfFieldModel.Settings settings
		{
			[Token(Token = "0x6002DB5")]
			[Address(RVA = "0x13CD090", Offset = "0x13CBE90", VA = "0x1813CD090")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002DB6")]
			[Address(RVA = "0x13CD0B0", Offset = "0x13CBEB0", VA = "0x1813CD0B0")]
			set
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x06002DB7 RID: 11703 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DB7")]
		[Address(RVA = "0x13CD020", Offset = "0x13CBE20", VA = "0x1813CD020", Slot = "4")]
		public override void Reset()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DB8 RID: 11704 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DB8")]
		[Address(RVA = "0x13CD050", Offset = "0x13CBE50", VA = "0x1813CD050")]
		public DepthOfFieldModel()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0400367B RID: 13947
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x400367B")]
		[SerializeField]
		private DepthOfFieldModel.Settings m_Settings;

		// Token: 0x02000554 RID: 1364
		[Token(Token = "0x2000554")]
		public enum KernelSize
		{
			// Token: 0x0400367D RID: 13949
			[Token(Token = "0x400367D")]
			Small,
			// Token: 0x0400367E RID: 13950
			[Token(Token = "0x400367E")]
			Medium,
			// Token: 0x0400367F RID: 13951
			[Token(Token = "0x400367F")]
			Large,
			// Token: 0x04003680 RID: 13952
			[Token(Token = "0x4003680")]
			VeryLarge
		}

		// Token: 0x02000555 RID: 1365
		[Token(Token = "0x2000555")]
		[Serializable]
		public struct Settings
		{
			// Token: 0x17000355 RID: 853
			// (get) Token: 0x06002DB9 RID: 11705 RVA: 0x000020D3 File Offset: 0x000002D3
			[Token(Token = "0x17000355")]
			public static DepthOfFieldModel.Settings defaultSettings
			{
				[Token(Token = "0x6002DB9")]
				[Address(RVA = "0x5FD850", Offset = "0x5FC650", VA = "0x1805FD850")]
				get
				{
					throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
				}
			}

			// Token: 0x04003681 RID: 13953
			[FieldOffset(Offset = "0x0")]
			[Token(Token = "0x4003681")]
			[Tooltip("Distance to the point of focus.")]
			[Min(0.1f)]
			public float focusDistance;

			// Token: 0x04003682 RID: 13954
			[FieldOffset(Offset = "0x4")]
			[Token(Token = "0x4003682")]
			[Tooltip("Ratio of aperture (known as f-stop or f-number). The smaller the value is, the shallower the depth of field is.")]
			[Range(0.05f, 32f)]
			public float aperture;

			// Token: 0x04003683 RID: 13955
			[FieldOffset(Offset = "0x8")]
			[Token(Token = "0x4003683")]
			[Range(1f, 300f)]
			[Tooltip("Distance between the lens and the film. The larger the value is, the shallower the depth of field is.")]
			public float focalLength;

			// Token: 0x04003684 RID: 13956
			[FieldOffset(Offset = "0xC")]
			[Token(Token = "0x4003684")]
			[Tooltip("Calculate the focal length automatically from the field-of-view value set on the camera. Using this setting isn't recommended.")]
			public bool useCameraFov;

			// Token: 0x04003685 RID: 13957
			[FieldOffset(Offset = "0x10")]
			[Token(Token = "0x4003685")]
			[Tooltip("Convolution kernel size of the bokeh filter, which determines the maximum radius of bokeh. It also affects the performance (the larger the kernel is, the longer the GPU time is required).")]
			public DepthOfFieldModel.KernelSize kernelSize;
		}
	}
}
