using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000237 RID: 567
[Token(Token = "0x2000237")]
[Serializable]
public abstract class UnitySerializedDictionary<TKey, TValue> : Dictionary<TKey, TValue>, ISerializationCallbackReceiver
{
	// Token: 0x060015D3 RID: 5587 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015D3")]
	[Address(RVA = "0x789E10", Offset = "0x788E10", VA = "0x180789E10", Slot = "36")]
	void ISerializationCallbackReceiver.OnAfterDeserialize()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015D4 RID: 5588 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015D4")]
	[Address(RVA = "0x78A050", Offset = "0x789050", VA = "0x18078A050", Slot = "35")]
	void ISerializationCallbackReceiver.OnBeforeSerialize()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015D5 RID: 5589 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015D5")]
	[Address(RVA = "0x78A490", Offset = "0x789490", VA = "0x18078A490")]
	protected UnitySerializedDictionary()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0400210C RID: 8460
	[FieldOffset(Offset = "0x0")]
	[Token(Token = "0x400210C")]
	[SerializeField]
	private List<TKey> keyData;

	// Token: 0x0400210D RID: 8461
	[FieldOffset(Offset = "0x0")]
	[Token(Token = "0x400210D")]
	[SerializeField]
	private List<TValue> valueData;
}
