export type Omit = Pick>; // Turns T, making all props K required export type RequireProps = Omit & Required>; export type MaybePromise = T | Promise; type SubsetKeyOf = Ks; export type Replace]: unknown }> = Omit & { [K in keyof KV]: KV[K] }; export type Mutable = { -readonly [K in keyof T]: T[K] }