export type ValueOf = T[keyof T]; export type Nullable = { [K in keyof T]: T[K] | null; }; export type DeepNullable = { [K in keyof T]: DeepNullable | null; }; export type RequireAtLeastOne = Pick> & { [K in Keys]-?: Required> & Partial>>; }[Keys]; export type Maybe = T | null | undefined;