import { Matrix4, Quaternion, Vector3 } from 'three';
import { SpeckleMeshBVH } from '../objects/SpeckleMeshBVH';
import { NodeRenderView } from '../tree/NodeRenderView';
type VectorLike = {
    x: number;
    y: number;
    z?: number;
    w?: number;
};
export declare class BatchObject {
    private _renderView;
    private _bvh;
    private _batchIndex;
    private _localOrigin;
    transform: Matrix4;
    transformInv: Matrix4;
    tasVertIndexStart: number;
    tasVertIndexEnd: number;
    quaternion: Quaternion;
    pivot_High: Vector3;
    pivot_Low: Vector3;
    translation: Vector3;
    scale: Vector3;
    private static matBuff0;
    private static matBuff1;
    private static matBuff2;
    private static eulerBuff;
    private static translationBuff;
    private static scaleBuff;
    private static pivotBuff;
    get renderView(): NodeRenderView;
    get bvh(): SpeckleMeshBVH;
    get batchIndex(): number;
    get speckleId(): string;
    constructor(renderView: NodeRenderView, batchIndex: number);
    buildBVH(): void;
    transformTRS(translation: VectorLike, euler: VectorLike, scale: VectorLike, pivot: VectorLike): void;
}
export {};
