import { Material, Box3, BufferAttribute, Points, BufferGeometry } from 'three'; import { NodeRenderView } from '../tree/NodeRenderView.js'; import { type BatchUpdateRange, type DrawGroup, GeometryType } from './Batch.js'; import { PrimitiveBatch } from './PrimitiveBatch.js'; import { DrawRanges } from './DrawRanges.js'; export declare class PointBatch extends PrimitiveBatch { protected primitive: Points; protected drawRanges: DrawRanges; get geometryType(): GeometryType; get bounds(): Box3; get minDrawCalls(): number; get triCount(): number; get pointCount(): number; get lineCount(): number; constructor(id: string, subtreeId: string, renderViews: NodeRenderView[]); setDrawRanges(ranges: BatchUpdateRange[]): void; resetDrawRanges(): void; protected getCurrentIndexBuffer(): BufferAttribute; protected getNextIndexBuffer(): BufferAttribute; protected shuffleMaterialOrder(a: DrawGroup, b: DrawGroup): number; protected updateGradientIndexBufferData(start: number, end: number, value: number): { minIndex: number; maxIndex: number; }; buildBatch(): Promise; protected makePointGeometry(index: Uint32Array | Uint16Array, position: Float64Array | Float32Array, color: Float32Array): BufferGeometry; getRenderView(index: number): NodeRenderView | null; getMaterialAtIndex(index: number): Material | null; }