Type alias DeepPartial<T, POLYMORPHIC_KEY_REQUIREMENT>
DeepPartial<T, POLYMORPHIC_KEY_REQUIREMENT>:POLYMORPHIC_KEY_REQUIREMENT extends "UNKNOWN" ? IsUnion<T> extends true ? DeepPartial<T, "REQUIRED"> : DeepPartial<T, "NOT_REQUIRED"> : T extends (infer I)[] ? DeepPartial<I>[] : T extends object ? T extends NonPartiallyConstructibleTrait ? T : T extends Function ? T : POLYMORPHIC_KEY_REQUIREMENT extends "REQUIRED" ? { [P in keyof T as IsPolymorphicKey<P> extends true ? never : P]?: DeepPartial<T[P]> } & { [P in keyof T as IsPolymorphicKey<P> extends true ? P : never]: T[P] } : { [P in keyof T]?: DeepPartial<T[P]> } : T