import * as THREE from 'three';
declare class PBMGaussianSplattingRenderMesh extends THREE.Mesh<THREE.InstancedBufferGeometry, THREE.ShaderMaterial> {
    needsRender: boolean;
    private sortWorker;
    private splatIndexCapacity;
    private sortDataUploaded;
    private usedSHDegree;
    private transformStore;
    private objectParamsStore;
    private transformsDirty;
    private layerRegistry;
    private shStore;
    private orderTexture;
    private assembler;
    private reorderPass;
    private orderTarget;
    /** 当前 source order 所基于的布局快照（object→start/count） */
    private orderBaseSnapshot;
    /** 每次上传排序数据打一个 generation，记录该次排序所基于的布局快照；返回的 order 按 generation 取回，避免异步错配 */
    private sortGeneration;
    private snapshotByGen;
    private orderCount;
    private orderDirty;
    private layoutDirty;
    private lastObjectsHash;
    private lastClipperHash;
    /** 上次触发排序时的相机 matrixWorld 快照 */
    private prevSortCameraMatrix;
    /** 平移增量阈值（世界单位）：超过才重排 */
    sortCameraDistance: number;
    /** 姿态相似度阈值（|quat 点积|）：低于才重排（0.99 ≈ 相机绕轴约 16° 内不重排） */
    sortCameraCoorient: number;
    /** 最小重排间隔（ms）：即使脏也不超过此频率，0=不限 */
    sortMinIntervalMs: number;
    private sortLastTime;
    constructor();
    private createGeometry;
    private ensureSplatIndexCapacity;
    private createMaterial;
    private rebuildTransformsTexture;
    /**
     * 每对象渲染参数纹理。必须紧随 rebuildTransformsTexture：槽位复用 TransformStore
     * 分配的 transformIndex（该索引同时被烘进 SplatAssembler 的大纹理）。
     */
    private rebuildObjectParamsTexture;
    /** P4：SplatAssembler 增量同步（per-tile 纹理缓存）+ GPU 组装。布局按对象顺序连续。 */
    private rebuildAssembled;
    /** 重建 SH 纹理（数据源按对象顺序连续 offset 读 obj.sh1/2/3）并同步 uniform。 */
    private updateSH;
    private applyDepthIndex;
    private snapshotLayout;
    /** 用「旧 order 布局快照 → 当前布局」的位移/剔除段表，把 source order 修正到当前布局。 */
    private buildSegments;
    /** 每帧（order 或布局变化时）把 source order 经 ReorderPass 修正到当前布局，主 shader 采样 orderTarget。 */
    private runReorder;
    private postSortData;
    /**
     * 是否需要重排（对齐 aholo isSortDirty）：
     * - 数据/布局变化（transformsDirty || 首次未上传）强制重排（≈ aholo isSceneDirty/packQueue）；
     * - 否则比较相机相对「上次排序时快照」的平移/姿态增量，均小于阈值则跳过（小角度节流）。
     */
    private shouldSort;
    private requestSort;
    private collectObjects;
    private isSceneChanged;
    private rebuild;
    private updateClipperUniforms;
    private updateClipperCounts;
    private updateInitAnimationDefine;
    onBeforeRender: (renderer: THREE.WebGLRenderer, scene: THREE.Scene, camera: THREE.Camera) => void;
    dispose(): void;
}
export { PBMGaussianSplattingRenderMesh };
