import { Box3, Euler, Matrix4, Quaternion, Vector3 } from 'three'; import { NodeRenderView } from '../tree/NodeRenderView.js'; import { AccelerationStructure } from '../objects/AccelerationStructure.js'; import { MeshBVH } from 'three-mesh-bvh'; export type VectorLike = { x: number; y: number; z?: number; w?: number; } | undefined | null; export type Vector3Like = VectorLike & { z: number; }; export type Vector4Like = Vector3Like & { w: number; }; export declare class BatchObject { protected _renderView: NodeRenderView; protected _accelerationStructure: AccelerationStructure; protected _batchIndex: number; protected _localOrigin: Vector3; transform: Matrix4; transformInv: Matrix4; tasVertIndexStart: number; tasVertIndexEnd: number; quaternion: Quaternion; eulerValue: Euler; pivot_High: Vector3; pivot_Low: Vector3; translation: Vector3; scaleValue: Vector3; pivotValue: Vector3; protected static matBuff0: Matrix4; protected static matBuff1: Matrix4; protected static matBuff2: Matrix4; protected static eulerBuff: Euler; protected static translationBuff: Vector3; protected static scaleBuff: Vector3; protected static pivotBuff: Vector3; transformDirty: boolean; get renderView(): NodeRenderView; get accelerationStructure(): AccelerationStructure; get batchIndex(): number; get aabb(): Box3; get localOrigin(): Vector3; set pivot(value: Vector3 | null); set position(value: Vector3); set euler(euler: Euler); set scale(scale: Vector3); constructor(renderView: NodeRenderView, batchIndex: number); buildAccelerationStructure(position: Float32Array | Float64Array, indices: Uint16Array | Uint32Array): void; buildAccelerationStructure(bvh: MeshBVH): void; transformTRS(translation: Vector3Like, euler?: Vector3Like, scale?: Vector3Like, pivot?: Vector3Like): void; }