import { Mesh2D } from '@turbox3d/renderer-pixi';
import { SceneEvent, ViewEntity } from '@turbox3d/event-manager';
import * as PIXI from 'pixi.js';
import { Vec2 } from '@turbox3d/shared';
interface IXY {
    x: number;
    y: number;
}
interface IDimensionData {
    bbox: IXY[];
    innerVX: number[];
    innerHY: number[];
}
interface IDimensionProps {
    data: IDimensionData[];
    editableTextPs?: IXY[];
    clickCallback?: Function;
    rotation?: number;
    scale?: Vec2;
}
/**
 * 根据两个端点生成尺寸线数据
 */
export declare function generateDimData(x0: number, y0: number, x1: number, y1: number): {
    data: {
        x: number;
        y: number;
    }[];
    length: number;
    angle: number;
};
export default class Dimension extends Mesh2D<IDimensionProps> {
    protected view: PIXI.Container<PIXI.DisplayObject>;
    private _interactContainer;
    private graphic2endPsMap;
    draw(): void;
    protected onClickable(): boolean;
    protected onClick: (v: Partial<ViewEntity>, e: SceneEvent<any>) => void;
    private _distance2;
    /**
     * @description: 矩形交错网格构件上获取标注端点坐标数组
     *
     *       3-------------A------------2
     *       |             |            |
     *       |             |            |
     *       |             |            |
     *       C-------------B------------D
     *       |                          |
     *       |                          |
     *       |                          |
     *       0--------------------------1
     *
     *      bbox是整个构件的包围盒四个点
     *      AB是内插的竖直构件，上方的标注需要体现其水平X位置，
     *      CD是内插的水平构件，右方标注需要体现其竖直Y位置
     */
    private processData;
}
export {};
