import { OptionalPropNames } from './OptionalPropNames'; import { SpreadProps } from '../object/SpreadProps'; /** * Type of `{ ...L, ...R }` / `Object.assign(L, R)`. */ export type Spread = /** properties in L that don't exist in R */ Pick> /** properties in R with types that exclude undefined */ & Pick>> /** properties in R, with types that include undefined, that don't exist in L */ & Pick, keyof L>> /** properties in R, with types that include undefined, that exist in L */ & SpreadProps & keyof L>;