import { WasmSorter } from '../cpp-sorter/worker';
import { Remote } from 'comlink';
import { Camera, IGeometry, InstancedBufferGeometry, IObject3D, Matrix4, PerspectiveCamera, Vector3 } from 'threepipe';
export declare class GaussianSplatGeometry extends InstancedBufferGeometry implements IGeometry {
    private _worker;
    private _vertexCount;
    private _maxSplats;
    private _onLoad?;
    constructor(_worker: Remote<WasmSorter>, _vertexCount: number, _maxSplats: number, _onLoad?: ((geometry: GaussianSplatGeometry) => void) | undefined);
    readonly isGaussianSplatGeometry = true;
    assetType: 'geometry';
    center2: (this: IGeometry, offset?: Vector3, keepWorldPosition?: boolean, setDirty?: boolean) => () => void;
    setDirty: (this: IGeometry, options?: import('threepipe').IGeometrySetDirtyOptions) => void;
    refreshUi: (this: IGeometry) => void;
    appliedMeshes: Set<IObject3D<import('threepipe').IObject3DEvent<import('threepipe').IObject3DEventTypes>, import('threepipe').IObject3DEventTypes>>;
    private _viewProj;
    private _sortRunning;
    private _initialized;
    private _centersBuffer;
    update(camera: PerspectiveCamera | Camera, meshMatrixWorld: Matrix4): Promise<void>;
    initAttributes(): Promise<void>;
    private _extractViews;
    computeBoundingBox(): void;
    computeBoundingSphere(): void;
}
//# sourceMappingURL=GaussianSplatGeometry.d.ts.map