import * as THREE from 'three';
import { PBMGaussianSplattingObject } from '../model/objects/pbmGaussianSplattingObject';
/**
 * 统计 Geometry 的存储占用 单位 bytes
 * @param geometry
 * @returns
 */
export declare function getGeometryMemoryUsed(geometry: THREE.BufferGeometry | THREE.Geometry): number;
export declare function getPBMGSObjectMemoryUsed(object: PBMGaussianSplattingObject): number;
/**
 * 统计 Texture 的存储占用 单位 bytes
 * Textures are often the part of a three.js app that use the most memory.
 * It's important to understand that in general, textures take width * height * 4 * 1.33 bytes of memory.
 * @param texture
 * @returns
 */
export declare function getTextureMemoryUsed(texture: THREE.Texture): number;
/**
 * 统计 Material 的存储占用 单位 bytes
 * @param material
 * @returns
 */
export declare function getMaterialMemoryUsed(material: THREE.Material): number;
/**
 * 统计内部使用到的 Geometry Material 的内存占用 单位bytes
 * @param scene
 * @returns
 */
export declare function getMemoryUsage(scene: THREE.Object3D): number;
