type Without = { [P in Exclude]?: never }; export type XOR = T | U extends object ? Without & U | Without & T : T | U; export {};