/**
 * Mainly used for storing non-color data in GPU memory
 * Useful for things like simulation and running general purpose GPU compute inside fragment shaders
 */
export class TextureBackedMemoryRegion {
    /**
     *
     * @type {number}
     * @private
     */
    private __channel_count;
    size: number;
    /**
     *
     * @type {number}
     * @private
     */
    private __precision;
    /**
     *
     * @type {NumericType|number}
     */
    __type: NumericType | number;
    /**
     *
     * @type {DataTexture}
     * @private
     */
    private __texture;
    /**
     *
     * @type {boolean}
     */
    needsRebuild: boolean;
    /**
     *
     * @type {number}
     * @private
     */
    private __height;
    /**
     *
     * @type {BinaryDataType|string}
     * @private
     */
    private __data_type;
    get concrete_type(): string;
    /**
     *
     * @param {number} v
     */
    set channel_count(v: number);
    get channel_count(): number;
    update(): void;
    /**
     *
     * @param {NumericType} t
     */
    set type(t: NumericType);
    /**
     *
     * @return {NumericType|number}
     */
    get type(): NumericType | number;
    /**
     *
     * @param {number} bit_count
     */
    set precision(bit_count: number);
    /**
     *
     * @return {number}
     */
    get precision(): number;
    dispose(): void;
    /**
     *
     * @private
     */
    private __update_data_type;
    /**
     * @private
     * @param {boolean} keep_data
     */
    private build;
    /**
     *
     * @return {DataTexture}
     */
    getTexture(): DataTexture;
    /**
     *
     * @param {number} size
     * @returns {boolean} whether container was resized or not
     */
    resize(size: number): boolean;
    /**
     *
     * @return {number}
     */
    getTextureByteSize(): number;
}
import { NumericType } from "../../../core/math/NumericType.js";
import { DataTexture } from "three";
//# sourceMappingURL=TextureBackedMemoryRegion.d.ts.map