/** * Get the type of the elements in an array */ export type ArrayElement = A extends readonly (infer T)[] ? T : never; export type RequireAtLeastOne = Pick< T, Exclude > & { [K in Keys]-?: Required> & Partial>>; }[Keys];