Type Alias MutuallyExclusive<T>
MutuallyExclusive<T>: T extends [infer Head, ...(infer Tail)] ? Head extends string ? Tail extends string[] ? AllDisjoint<Head, Tail> extends true ? MutuallyExclusive<Tail> : AllDisjoint<Head, Tail> : true : true : true
Returns
true
if there is no intersection between the elements ofT
.