export type DistributiveOmit = Type extends unknown ? Omit : never; export type ExcludeOtherKeys = MemberType & { [Key in keyof UnionType]?: never; }; export type ExclusiveUnion = UnionType extends any ? ExcludeOtherKeys : never;