import { Box3, BufferGeometry, Object3D, Vector2, Vector3 } from "three";
import { Box3Ext } from "../../../../Geometry/Box";
import { RenderType } from "../../../../GraphicsSystem/RenderType";
import { CADFiler } from "../../../CADFiler";
import { Polyline } from "../../../Entity/Polyline";
import { ObjectId } from "../../../ObjectId";
import { RoomBase } from "../RoomBase";
export declare function UpdateTempPolyline(_ContourData: {
    pts: Vector2[];
    buls: number[];
}): Polyline;
/**
 * 平面实体基类
 * 子类:地板 天花
 */
export declare class RoomFlatBase extends RoomBase {
    protected _RegionId: ObjectId;
    protected _ContourData: {
        pts: Vector2[];
        buls: number[];
    };
    protected _HoleDatas: {
        pts: Vector2[];
        buls: number[];
    }[];
    constructor(_Contour?: Polyline, //为了防止contour被删除(所以我们直接备份这个)
    _Holes?: Polyline[]);
    get ContourData(): {
        pts: Vector2[];
        buls: number[];
    };
    set ContourData(value: {
        pts: Vector2[];
        buls: number[];
    });
    get HoleDatas(): {
        pts: Vector2[];
        buls: number[];
    }[];
    set HoleDatas(value: {
        pts: Vector2[];
        buls: number[];
    }[]);
    get Area(): number;
    get BoundingBoxInOCS(): Box3Ext;
    get BoundingBox(): Box3;
    UpdateContourHoles(_Contour: Polyline, _Holes: Polyline[]): void;
    set Contour(_Contour: Polyline);
    get Contour(): Polyline;
    set Holes(_Holes: Polyline[]);
    get RegionId(): ObjectId;
    set RegionId(value: ObjectId);
    GetGripPoints(): Vector3[];
    MoveGripPoints(indexList: number[], vec: Vector3): void;
    GetStretchPoints(): Vector3[];
    MoveStretchPoints(indexList: number[], vec: Vector3): void;
    UpdateDrawGeometry(): void;
    protected _EdgeGeometry: BufferGeometry;
    protected get EdgeGeometry(): BufferGeometry;
    protected _MeshGeometry: BufferGeometry;
    protected get MeshGeometry(): BufferGeometry;
    UpdateDrawObjectMaterial(renderType: RenderType, obj: Object3D): void;
    InitDrawObject(renderType?: RenderType): Object3D;
    UpdateDrawObject(renderType: RenderType, obj: Object3D): void;
    ClearDraw(): this;
    protected _ReadFile(file: CADFiler): void;
    WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=RoomFlatBase.d.ts.map