import { Box3, Camera, Plane, Raycaster, Vector2, Vector3, type Intersection } from 'three'; import { Measurement } from './Measurement.js'; import { TextLabel } from '../../objects/TextLabel.js'; import { MeasurementPointGizmo } from './MeasurementPointGizmo.js'; import { MeasurementType } from '@speckle/shared/viewer/state'; export declare class PointMeasurement extends Measurement { protected gizmo: MeasurementPointGizmo; protected xLabel: TextLabel; protected yLabel: TextLabel; protected zLabel: TextLabel; protected xLabelPosition: Vector3; protected yLabelPosition: Vector3; protected zLabelPosition: Vector3; protected readonly pixelsOffX: number; protected readonly pixelsOffY: number; set isVisible(value: boolean); get measurementType(): MeasurementType; constructor(); frameUpdate(camera: Camera, size: Vector2, bounds: Box3): void; locationUpdated(point: Vector3, normal: Vector3): void; locationSelected(): void; protected updateLabelPositions(): void; update(): Promise; raycast(raycaster: Raycaster, intersects: Array): void; highlight(value: boolean): void; updateClippingPlanes(planes: Plane[]): void; }