export type addQuestionMarksToNullableProperties = { [K in OptionalKeys]?: T[K]; } & Pick>; export type OptionalKeys = { [K in keyof T]-?: undefined extends T[K] ? K : never; }[keyof T]; export type RequiredKeys = Exclude>;