import { Box3, Group, LineDashedMaterial, MeshBasicMaterial, Object3D, Plane, Vector3 } from "three";
import type { ClippingUtils } from "./ClippingUtils";
export declare function getClippingHelperBoundsOffset(box: Box3): number;
export declare class PlaneHelper extends Object3D {
    readonly helper: Group<import("three").Object3DEventMap>;
    readonly borderMaterial: LineDashedMaterial;
    readonly material: MeshBasicMaterial;
    readonly plane: Plane;
    private active;
    private readonly border;
    private readonly context;
    private readonly location;
    private readonly localHitPoint;
    private readonly normal;
    private readonly planeMesh;
    private readonly pointer;
    private layout;
    private polygon;
    private dragState;
    private hovered;
    private listenersActive;
    constructor(context: ClippingUtils, plane: Plane, location: Vector3, normal: Vector3);
    setVisible(visible: boolean): void;
    toggle(): void;
    clearHover(): void;
    dispose(): void;
    private addToView;
    private removeFromView;
    updateClipping(): void;
    private updateBorderDash;
    private addEventListeners;
    private removeEventListeners;
    private hasHelperPriority;
    private stopHelperPriorityEvent;
    private getPointerIntersection;
    private getNearestHelperIntersection;
    private hasModelIntersection;
    private isPointerHitNearEdge;
    private getEdgeInteractionWidth;
    private getDragDistanceEpsilon;
    private getPointToSegmentDistanceSquared;
    private getPointerPointOnPlane;
    private onPointerDown;
    private onPointerMove;
    private onPointerUp;
    private updateHoverState;
    private setHovered;
    private createPlaneMesh;
    private createBorder;
    private replaceGeometry;
    private createFillGeometry;
    private createBorderGeometry;
    private getClippedPolygon;
    private clipPolygonByPlane;
    private getLocalPointDistanceToPlane;
    private getPlaneIntersectionPoint;
    private getHelperLayout;
    private getPlaneBasis;
    private applyPlaneOrientation;
    private getModelWorldBox;
    private getBoxCorners;
}
