import { BufferGeometry, LineBasicMaterial, LineSegments, Plane } from "three";
import type { ClippingUtils } from "./ClippingUtils";
export type ClippingIntersectionSegment = {
    ax: number;
    ay: number;
    az: number;
    bx: number;
    by: number;
    bz: number;
    elementID: number;
    modelID: number;
};
export declare class ClippingEdges {
    active: boolean;
    readonly material: LineBasicMaterial;
    readonly plane: Plane;
    private readonly context;
    private readonly lines;
    private readonly inverseMatrix;
    private readonly localPlane;
    private readonly tempLine;
    private readonly tempVector;
    private readonly tempVector1;
    private readonly tempVector2;
    private readonly tempVector3;
    private readonly intersectionSegments;
    constructor(context: ClippingUtils, plane: Plane);
    create(): LineSegments<BufferGeometry<import("three").NormalBufferAttributes, import("three").BufferGeometryEventMap>, import("three").Material<import("three").MaterialEventMap> | import("three").Material<import("three").MaterialEventMap>[], import("three").Object3DEventMap>[];
    syncMeshes(): void;
    dispose(): void;
    setVisible(visible: boolean): void;
    toggle(): void;
    getIntersectionSegments(): ClippingIntersectionSegment[];
    update(): void;
    private getTriangleElementID;
}
