export type DeepPartial = { [K in keyof T]?: T[K] extends (infer U)[] ? DeepPartial[] : T[K] extends object ? DeepPartial : T[K]; };