/**
 * DeepPartial
 * Here's a utility type that makes all nested objects and arrays within a type partial as well. Usage:
 * type PartialYamlModel = DeepPartial<YamlModel>;
 */
export type DeepPartial<T> = {
    [P in keyof T]?: T[P] extends (infer U)[] ? DeepPartial<U>[] : T[P] extends object ? DeepPartial<T[P]> : T[P];
};
/**
 * DeepPartialAndNullable
 * Here's a utility type that makes all nested objects and arrays within a type partial as well, and allows null values. Usage:
 * type PartialNullableYamlModel = DeepPartialNullable<YamlModel>;
 */
export type DeepPartialNullable<T> = {
    [P in keyof T]?: T[P] extends (infer U)[] ? DeepPartial<U>[] | null : T[P] extends object ? DeepPartial<T[P]> | null : T[P] | null;
};
//# sourceMappingURL=deepPartial.d.ts.map