export type RequireOnlyOne = Pick> & { [K in Keys]-?: Required> & Partial, undefined>>; }[Keys]; export type RequireAtLeastOne = Pick> & { [K in Keys]-?: Required> & Partial>>; }[Keys]; type Enumerate = Acc['length'] extends N ? Acc[number] : Enumerate; export type Range = Exclude, Enumerate> | T; export type Without = { [P in Exclude]?: never; }; export type XOR = U & Record, never>; export type Include = T extends K ? T : never; export {};