import { Material, Matrix3, Matrix4, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { Line } from "../Entity/Line";
import { Dimension } from "./Dimension";
export declare class LeadRadiusDimension extends Dimension {
    private _Center;
    private _DiameterOrRadiusPoint;
    private _TextPoint;
    private _LeadLine;
    OnlyRenderType: boolean;
    protected _TextString: string;
    constructor(_Center?: Vector3, _DiameterOrRadiusPoint?: Vector3, _TextPoint?: Vector3);
    get Text(): import("../Text/Text").Text;
    protected GetPrimitiveString(): string;
    get Center(): Vector3;
    set Center(v: Vector3);
    get DiameterOrRadiusPoint(): Vector3;
    set DiameterOrRadiusPoint(v: Vector3);
    get TextPoint(): Vector3;
    set TextPoint(v: Vector3);
    Explode(): (import("../Text/Text").Text | Line)[];
    Clone(): this;
    InitDrawObject(renderType?: RenderType): Object3D;
    UpdateDrawObject(renderType: RenderType, obj: Object3D): void;
    /**
     * 更新引线
     */
    UpdateLeadLine(): void;
    UpdateDrawObjectMaterial(renderType: RenderType, obj: Object3D, material?: Material): void;
    UpdateText(): void;
    GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
    GetGripPoints(): Array<Vector3>;
    MoveGripPoints(indexList: number[], vec: Vector3): void;
    GetStretchPoints(): Array<Vector3>;
    MoveStretchPoints(indexList: Array<number>, vec: Vector3): void;
    protected ApplyMirrorMatrix(m: Matrix4): this;
    protected _ReadFile(file: CADFiler): void;
    WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=LeadRadiusDimension.d.ts.map