import { Line as TLine, Matrix3, Matrix4, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { Arc } from "../Entity/Arc";
import { Entity } from "../Entity/Entity";
import { Line } from "../Entity/Line";
import { Text } from "../Text/Text";
/**
 * 两条直线的标注
 */
export declare class LineAngularDimension extends Entity {
    protected m_L1StartPoint: Vector3;
    protected m_L1EndPoint: Vector3;
    protected m_L2StartPoint: Vector3;
    protected m_L2EndPoint: Vector3;
    protected m_DimPoint: Vector3;
    OnlyRenderType: boolean;
    private _Text;
    private m_Arc;
    constructor(m_L1StartPoint?: Vector3, //第一条直线的起点
    m_L1EndPoint?: Vector3, //第一条直线的终点
    m_L2StartPoint?: Vector3, //第二条直线的起点
    m_L2EndPoint?: Vector3, m_DimPoint?: Vector3);
    UpdateDimData(l1sp: Vector3, l1ep: Vector3, l2sp: Vector3, l2ep: Vector3, dimp: Vector3): void;
    get Text(): Text;
    get L1StartPoint(): Vector3;
    get L2StartPoint(): Vector3;
    get L1EndPoint(): Vector3;
    get L2EndPoint(): Vector3;
    get DimPoint(): Vector3;
    get Arc(): Arc;
    GetGripPoints(): Array<Vector3>;
    MoveGripPoints(indexList: number[], vec: Vector3): void;
    GetStretchPoints(): Array<Vector3>;
    MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
    Clone(): this;
    Explode(): (Arc | Text)[];
    GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
    InitDrawObject(renderType?: RenderType): Object3D;
    Update2Line(l1: Line, l2: Line, intPt: Vector3, li1: TLine, li2: TLine): void;
    UpdateDrawObject(renderType: RenderType, obj: Object3D): void;
    protected ApplyMirrorMatrix(m: Matrix4): this;
    protected _ReadFile(file: CADFiler): void;
    WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=2LineAngularDimension.d.ts.map