import { PBMGaussianSplattingObject } from "../../model/objects/pbmGaussianSplattingObject"; declare class RenderData { dataChanged: boolean; transformsChanged: boolean; readonly generation: number; splatIndices: Map; offsets: Map; data: Uint32Array; /** 全精度(float32)物体坐标系中心位置,RGB 布局(每 texel 3 个 float = xyz),用于规避 fp16 量化锯齿 */ positionData: Float32Array; width: number; height: number; transforms: Float32Array; transformsWidth: number; transformsHeight: number; transformIndices: Uint32Array; transformIndicesWidth: number; transformIndicesHeight: number; layerIndices: Uint32Array; layerIndicesWidth: number; layerIndicesHeight: number; layerKeys: string[]; layerKeyToIndex: Map; objectLayerIndices: Map; positions: Float32Array; rotations: Float32Array; scales: Float32Array; numPoints: number; worker: Worker; sh1?: Float32Array; sh2?: Float32Array; sh3?: Float32Array; maxShDegree: number; initialBuildComplete: boolean; pendingInitialBuildCount: number; readonly readyPromise: Promise; sortDataReleased: boolean; aggregatedDataReleased: boolean; shDataReleased: boolean; indexDataReleased: boolean; disposed: boolean; private resolveReadyPromise; private objectsInOrder; static warmupWasm(): void; constructor(pbmGSObjects: PBMGaussianSplattingObject[], generation?: number); updateTransform(pbmGSObject: PBMGaussianSplattingObject): void; /** 释放仅用于排序的 CPU 端冗余数组(positions/rotations/scales),降低内存占用 */ releaseSortData(): void; /** 释放 CPU 端聚合数组(data/transformIndices/layerIndices/SH),纹理已持有 GPU 端数据 */ releaseAggregatedData(): void; /** 释放 SH CPU 端数据(createSHTexture 完成后调用,GPU 纹理已持有数据) */ releaseSHData(): void; /** 释放 transformIndices/layerIndices CPU 端数据(纹理已创建且 sortData 已上传后调用) */ releaseIndexData(): void; /** 从各 PBMGaussianSplattingObject 重新聚合世界坐标排序数据(当排序数据已释放但需要重新上传时调用) */ rebuildSortData(): Promise; getObjectsInOrder(): readonly PBMGaussianSplattingObject[]; canIncrementalAppend(nextObjects: PBMGaussianSplattingObject[]): boolean; appendObjects(objectsToAppend: PBMGaussianSplattingObject[]): Promise; buildImmediate(wasmModule: any, splat: PBMGaussianSplattingObject): void; private expandFloat32Array; private expandUint32Array; getSplat(index: number): PBMGaussianSplattingObject | null; getLocalIndex(splat: PBMGaussianSplattingObject, index: number): number; dispose(): void; private completeInitialBuild; } export { RenderData };