import { Box3, Geometry, Matrix4, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from "../CADFiler";
import { CADObject } from "../CADObject";
import { Entity } from "../Entity/Entity";
import { Polyline } from "../Entity/Polyline";
export declare function AxisCS(n: Vector3): Matrix4;
export declare class RevolveSolid extends Entity {
    private _StartAngle;
    private _EndAngle;
    private _DisplayAccuracy;
    private _Contour;
    constructor(axisDirection?: Vector3, axisPos?: Vector3, contour?: Polyline, _StartAngle?: number, _EndAngle?: number);
    get DisplayAccuracy(): number;
    set DisplayAccuracy(v: number);
    get Contour(): Polyline;
    GetGripPoints(): Vector3[];
    GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3): Vector3[];
    MoveGripPoints(indexs: number[], vec: Vector3): void;
    private _MeshGeometry;
    get BoundingBox(): Box3;
    private _CacheContourPoints;
    private _CacheContourPoints3D;
    private _CacheContourPoints3DQ;
    private _CacheContourPoints3DQ2;
    private _CacheContourFaces;
    private _CacheIsRev;
    get MeshGeometry(): Geometry;
    InitDrawObject(renderType?: RenderType): Object3D;
    UpdateDrawGeometry(): void;
    ClearDraw(): this;
    private static MeshNromal;
    UpdateDrawObject(type: RenderType, obj: Object3D): Object3D;
    /**
    * 更新实体Jig状态时的材质
    */
    UpdateJigMaterial(color?: number): void;
    RestoreJigMaterial(): void;
    /**
    * 当实体需要被更新时,更新实体材质
    */
    UpdateDrawObjectMaterial(renderType: RenderType, obj: Object3D): void;
    protected _ReadFile(file: CADFiler): this;
    WriteFile(file: CADFiler): this;
    ApplyPartialUndo(undoData: CADObject): void;
}
//# sourceMappingURL=RevolveSolid.d.ts.map