declare type Primitive = null | undefined | string | number | boolean | symbol | bigint; export declare type PartialDeep = T extends Primitive ? Partial : T extends Map ? PartialMapDeep : T extends Set ? PartialSetDeep : T extends ReadonlyMap ? PartialReadonlyMapDeep : T extends ReadonlySet ? PartialReadonlySetDeep : T extends (...args: any[]) => unknown ? T | undefined : T extends object ? PartialObjectDeep : unknown; /** Same as `PartialDeep`, but accepts only `Map`s and as inputs. Internal helper for `PartialDeep`. */ interface PartialMapDeep extends Map, PartialDeep> { } /** Same as `PartialDeep`, but accepts only `Set`s as inputs. Internal helper for `PartialDeep`. */ interface PartialSetDeep extends Set> { } /** Same as `PartialDeep`, but accepts only `ReadonlyMap`s as inputs. Internal helper for `PartialDeep`. */ interface PartialReadonlyMapDeep extends ReadonlyMap, PartialDeep> { } /** Same as `PartialDeep`, but accepts only `ReadonlySet`s as inputs. Internal helper for `PartialDeep`. */ interface PartialReadonlySetDeep extends ReadonlySet> { } /** Same as `PartialDeep`, but accepts only `object`s as inputs. Internal helper for `PartialDeep`. */ declare type PartialObjectDeep = { [KeyType in keyof SuppressObjectPrototypeOverrides]?: PartialDeep[KeyType]>; }; declare type SuppressObjectPrototypeOverrides = Pick> & Pick>; export {};