export type DeepPartial = { [P in keyof T]?: DeepPartial; }; export type Replace = T extends any ? Omit & Readonly : never; export type NonEmptyArray = [T, ...T[]];