/** * Deep readonly type. Currently only handles arrays, objects, and primitives (not sets or maps). */ export type DeepReadonly = T extends (infer U)[] ? ReadonlyArray> : T extends object ? { readonly [K in keyof T]: DeepReadonly; } : T; /** * Deep `Object.freeze()` a JSON-like object in place. * Returns the original object (now frozen) for convenience and typing. * * (This can be moved to a common location if anything else needs it in the future.) */ export declare function deepFreeze(obj: T): DeepReadonly; //# sourceMappingURL=deepFreeze.d.ts.map