Типовой типов условного типа
SomeType extends OtherType ? TrueType : FalseType;
MitchAloha
SomeType extends OtherType ? TrueType : FalseType;