import { Material, Matrix3, Matrix4, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { Entity } from "../Entity/Entity";
import { Line } from "../Entity/Line";
import { Text } from "../Text/Text";
export declare class RadiusDimension extends Entity {
    protected startPt: Vector3;
    protected center: Vector3;
    protected endPt: Vector3;
    OnlyRenderType: boolean;
    protected _Text: Text;
    constructor(startPt?: Vector3, center?: Vector3, endPt?: Vector3);
    get StartPt(): Vector3;
    set StartPt(v: Vector3);
    get Center(): Vector3;
    set Center(v: Vector3);
    get EndPt(): Vector3;
    set EndPt(v: Vector3);
    Explode(): (Line | Text)[];
    Clone(): this;
    InitDrawObject(renderType?: RenderType): Object3D;
    UpdateDrawObject(renderType: RenderType, obj: Object3D): 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=RadiusDimension.d.ts.map