/** * Use to Omit props from types that include unions. * * Example: * type A = { * prop?: string; * otherProp?: false; * } | { * prop: string; * otherProp: true; * }; * type B = A & { thirdProp: boolean; }; * type C = DistributiveOmit; */ export type DistributiveOmit = T extends any ? Omit : never;