export type Basic = null | undefined | string | number | boolean | symbol | bigint; export type DateInstanceType = Date; export type MarkReadOnlyDeep = T extends Basic | ((...args: any[]) => unknown) ? T : T extends ReadonlyMap ? ReadOnlyMapDeep : T extends ReadonlySet ? ReadOnlySetDeep : T extends {} ? ReadOnlyObjectDeep : unknown; /** Same as `ReadonlyDeep`, but accepts only `ReadonlyMap`s as inputs. Internal helper for `ReadonlyDeep`. */ type ReadOnlyMapDeep = ReadonlyMap, MarkReadOnlyDeep>; /** Same as `ReadonlyDeep`, but accepts only `ReadonlySet`s as inputs. Internal helper for `ReadonlyDeep`. */ type ReadOnlySetDeep = ReadonlySet>; /** Same as `ReadonlyDeep`, but accepts only `object`s as inputs. Internal helper for `ReadonlyDeep`. */ type ReadOnlyObjectDeep = { readonly [KeyType in keyof ObjectType]: MarkReadOnlyDeep; }; export {};