/** * Recursively make all keys in an array type required * * @template T - Data type */ interface DeepRequiredArray extends Array> { } /** * Recursively make all keys in a type required * * @template T - Data type */ export declare type DeepRequired = T extends any[] ? DeepRequiredArray : T extends {} ? { [K in keyof T]-?: DeepRequired; } : T; /** * Recursively make all keys in a type optional * * @template T - Data type */ export declare type DeepPartial = { [P in keyof T]?: T[P] extends Array ? Array> : T[P] extends ReadonlyArray ? ReadonlyArray> : DeepPartial; }; export {};