import { Group, Vector3, Plane, Scene } from 'three'; export declare class AreaTool3d { group: Group; private pointsGizmo; private contourLines; private areaMesh; private helpersScene; /** Confirmed 3D vertices of the polygon. */ points: Vector3[]; projectionPlane: Plane; /** Computed area in m² (for the UI label). */ areaText: number; /** Perimeter in mm (for the UI label). */ perimeterText: number; /** Screen position of the UI label (centroid of the polygon). */ labelX: number; labelY: number; private centerOfMass; constructor(helpersScene: Scene); setProjectionPlane(plane: Plane): void; reset(): void; addPoint(point: Vector3): void; private removeMesh; private renderArea; private getLocal2DPoints; private alignMeshToPlane; private calculate2DArea; private calculateCenterOfMass; updateLabel(viewerElement: any, camera: any): void; dispose(): void; }