export type Nullable = T | null | undefined; export type Shape = Pick; type ObjectKeyType = string | number | symbol; export type Diff = ({ [P in T]: P; } & { [P in U]: never } & { [x: string]: never })[T]; export type Override = Pick> & U; export type Entries = (o: { [k: string]: K }) => Array<[T, K]>;