declare type Modify = Omit & R; declare type Only = { [P in keyof T]: T[P]; } & Omit<{ [P in keyof U]?: never; }, keyof T>; declare type Either = Only | Only; export { Modify, Only, Either };