import { BoxBufferGeometry, Matrix3, Matrix4, Object3D, Vector3 } from "three";
import { ObjectSnapMode } from "../../Editor/ObjectSnapMode";
import { SweepGeometry } from '../../Geometry/SweepGeometry';
import { RenderType } from "../../GraphicsSystem/RenderType";
import { CADFiler } from '../CADFiler';
import { Curve } from "../Entity/Curve";
import { Entity } from "../Entity/Entity";
import { Polyline } from '../Entity/Polyline';
import { OBB } from './../../Geometry/OBB/obb';
export declare class SweepSolid extends Entity {
    static UseRectFakerContour: boolean;
    private _Contour;
    private _PathCurve;
    constructor(contour?: Polyline, pathCurve?: Curve);
    Explode(): (Curve | Polyline)[];
    get Contour(): Polyline;
    get Path(): Curve;
    Reverse(): void;
    /**保持路径左下角在0点 */
    private PathTo0;
    /**
     * 将轮廓变换到wcs空间,当用户选定某个与扫描线起点相切的轮廓时.
     */
    private TransfromPathToWCS;
    private _MeshGeometry;
    private _lineGeo;
    get MeshGeometry(): BoxBufferGeometry | SweepGeometry;
    getLineGeo(pts: number[]): void;
    private _EdgeGeometry;
    private get EdgeGeometry();
    InitDrawObject(renderType: RenderType): Object3D;
    UpdateDrawGeometry(): void;
    UpdateDrawObject(renderType: RenderType, obj: Object3D): Object3D;
    /**
     * 当实体需要被更新时,更新实体材质
     */
    UpdateDrawObjectMaterial(type: RenderType, obj: Object3D): void;
    get BoundingBox(): import("three").Box3;
    get OBB(): OBB;
    GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform?: Matrix3): Vector3[];
    GetGripPoints(): Vector3[];
    GetStretchPoints(): Vector3[];
    private UpdateEndMtx;
    private GetEndPoint;
    private GetMidPoints;
    MoveGripPoints(indexList: number[], vec: Vector3): void;
    private IfPathIsLineThenZ0Vector;
    MoveStretchPoints(indexList: number[], vec: Vector3): void;
    ApplyMatrix(m: Matrix4): this;
    protected ApplyMirrorMatrix(m: Matrix4): this;
    protected _ReadFile(file: CADFiler): void;
    WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=SweepSolid.d.ts.map