export type DeepReadonlyArray = ReadonlyArray>; export type DeepReadonlyObject = { readonly [P in keyof T]: DeepReadonly; }; export type DeepReadonly = T extends Set ? ReadonlySet> : T extends Map ? ReadonlyMap> : T extends (infer R)[] ? DeepReadonlyArray : T extends Function ? T : T extends object ? DeepReadonlyObject : T; export declare const deepFreeze: (val: T) => DeepReadonly; export type NonFunction = object | string | number | boolean | null | undefined; //# sourceMappingURL=types.d.ts.map