# System.Text.Json.Serialization

``` diff
 namespace System.Text.Json.Serialization {
-    [NullableAttribute((byte)0)]
-    [NullableContextAttribute((byte)1)]
-    public class JsonPolymorphicTypeConfiguration : ICollection<(Type, object?)>, IEnumerable, IEnumerable<(Type, object?)> {
-        public JsonPolymorphicTypeConfiguration(Type baseType);
-        public Type BaseType { get; }
-        public bool IgnoreUnrecognizedTypeDiscriminators { get; set; }
-        int ICollection<(Type, object?)>.Count { get; }
-        bool ICollection<(Type, object?)>.IsReadOnly { get; }
-        [NullableAttribute((byte)2)]
-        public string? TypeDiscriminatorPropertyName { [NullableContextAttribute((byte)2)] get; [NullableContextAttribute((byte)2)] set; }
-        public JsonUnknownDerivedTypeHandling UnknownDerivedTypeHandling { get; set; }
-        void ICollection<(Type, object?)>.Add((Type DerivedType, object TypeDiscriminator) item);
-        void ICollection<(Type, object?)>.Clear();
-        bool ICollection<(Type, object?)>.Contains((Type DerivedType, object TypeDiscriminator) item);
-        void ICollection<(Type, object?)>.CopyTo((Type DerivedType, object TypeDiscriminator)[] array, int arrayIndex);
-        bool ICollection<(Type, object?)>.Remove((Type DerivedType, object TypeDiscriminator) item);
-        IEnumerator<(Type DerivedType, object TypeDiscriminator)> IEnumerable<(Type, object?)>.GetEnumerator();
-        IEnumerator IEnumerable.GetEnumerator();
-        public JsonPolymorphicTypeConfiguration WithDerivedType(Type derivedType);
-        public JsonPolymorphicTypeConfiguration WithDerivedType(Type derivedType, int typeDiscriminator);
-        public JsonPolymorphicTypeConfiguration WithDerivedType(Type derivedType, string typeDiscriminator);
-    }
-    [NullableAttribute((byte)0)]
-    [NullableContextAttribute((byte)1)]
-    public class JsonPolymorphicTypeConfiguration<TBaseType> : JsonPolymorphicTypeConfiguration where TBaseType : class {
-        public JsonPolymorphicTypeConfiguration();
-        public JsonPolymorphicTypeConfiguration<TBaseType> WithDerivedType<TDerivedType>() where TDerivedType : TBaseType;
-        public JsonPolymorphicTypeConfiguration<TBaseType> WithDerivedType<TDerivedType>(int typeDiscriminator) where TDerivedType : TBaseType;
-        public JsonPolymorphicTypeConfiguration<TBaseType> WithDerivedType<TDerivedType>(string typeDiscriminator) where TDerivedType : TBaseType;
-    }
 }
```

