type Increment<A extends number[]> = [...A, 0];
type PrimitiveType = string | number | boolean | undefined | null | symbol | bigint;
export type DeepPartial<T, Depth extends number = 10, CurrentDepth extends number[] = []> = T extends PrimitiveType ? T : CurrentDepth["length"] extends Depth ? T : {
    [K in keyof T]?: DeepPartial<T[K], Depth, Increment<CurrentDepth>>;
};
export {};
