export declare type DeepPartial = { [P in keyof T]?: T[P] extends Array ? Array> : T[P] extends ReadonlyArray ? ReadonlyArray> : DeepPartial; }; export declare type KeysOfType = { [P in keyof T]: T[P] extends TProp ? P : never; }[keyof T]; export declare type FunctionPropertyNames = { [K in keyof T]: T[K] extends Function ? K : never; }[keyof T]; export declare type FunctionProperties = Pick>; export declare type NonFunctionPropertyNames = { [K in keyof T]: T[K] extends Function ? never : K; }[keyof T]; export declare type NonFunctionProperties = Pick>; export declare type DeepWriteable = { -readonly [P in keyof T]: DeepWriteable; };