export = iceBarrage; /** * @author Frazer Smith * @description Iteratively freezes an object and its data properties. * Accessor properties are skipped to avoid side effects. * * ArrayBuffer views that hold or can concurrently gain elements are not * frozen, but their property values are frozen. * * This mutates the original object. * @template {object} T * @param {T} obj - The object, array, or function to be frozen. * @returns {Readonly} The frozen object, array, or function. * @throws {TypeError} If the argument is not an object, array, or function. */ declare function iceBarrage(obj: T): Readonly; declare namespace iceBarrage { export { iceBarrage as default, iceBarrage }; }