import * as THREE from 'three'; import { RenderData } from '../../gaussian-splatting/util/renderData'; declare class PBMGaussianSplattingRenderMesh extends THREE.Mesh { private gsSceneState; renderData: RenderData | null; needsRender: boolean; private sortWorker; private depthIndex; private splatIndexCapacity; private activeSlot; private pendingSlot; private rebuildGeneration; private forceClipperUniformRefresh; private incrementalUpdateInFlight; private freeSlotPool; private dataTexture; private positionTexture; private transformsTexture; private transformIndicesTexture; private layerIndicesTexture; private shTexture; private usedSHDegree; constructor(); private ensureSplatIndexCapacity; private getExpandedCapacity; private createGeometry; private createMaterial; private createDefaultLayerClipperRanges; private createDefaultClipperMatrices; private createTextures; private createSHTexture; /** * 设置球谐阶数 * @param degree SH 阶数 (0, 1, 或 2),0 表示禁用 SH */ private setMaxShDegree; private bindSlotTextures; private disposeSlot; /** 回收 slot 到池中复用,而非直接销毁 */ private recycleSlot; private disposeTextures; private applyDepthIndex; private swapPendingToActive; private createSlot; private updateSlotTextures; private postSortData; private sortDataRebuilding; private requestSort; private syncTransformsForSlot; private collectObjects; private isSceneNeedsRebuild; private getClipperHash; private updateClipperCounts; private updateInitAnimationDefine; private updateClipperUniforms; private startPendingRebuild; private tryStartIncrementalUpdate; onBeforeRender: (renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera) => void; dispose(): void; } export { PBMGaussianSplattingRenderMesh };