import { Box3, BufferGeometry, Matrix3, MeshBasicMaterial, Object3D, Scene, Vector3 } from "three";
import { ObjectSnapMode } from "../Editor/ObjectSnapMode";
import { Box3Ext } from "../Geometry/Box";
import { CameraUpdate } from "../GraphicsSystem/CameraUpdate";
import { RenderType } from "../GraphicsSystem/RenderType";
import { CADFiler } from "./CADFiler";
import { Entity } from "./Entity/Entity";
import { LayerTableRecord } from "./LayerTableRecord";
import { ObjectId } from "./ObjectId";
export declare class ViewportEntity extends Entity {
    private _width;
    private _height;
    scene: Scene;
    readonly camera: CameraUpdate;
    private _renderType;
    private _HideObjectIds;
    private _ShowObjectIds;
    private _FreezeLayers;
    private _RenderTarget;
    private _EntitysBoundingBox;
    private _IsShowDrill;
    ViewData: {
        left: number;
        bottom: number;
    };
    _Color: number;
    ViewportMaterial: MeshBasicMaterial;
    private _Frustum;
    private _DimBlock;
    constructor(_width?: number, _height?: number);
    get Left(): number;
    get Bottom(): number;
    get Width(): number;
    set Width(v: number);
    get ViewWidth(): number;
    get ViewHeight(): number;
    get Height(): number;
    set Height(v: number);
    get EntitysBoundingBox(): Box3Ext;
    get IsShowDrill(): boolean;
    set IsShowDrill(value: boolean);
    UpdateEntitysBoundingBox(): void;
    IsHide(id: ObjectId): boolean;
    IsShow(id: ObjectId): boolean;
    get HideObjects(): ObjectId<import("./CADObject").CADObject>[];
    get ShowObjects(): ObjectId<import("./CADObject").CADObject>[];
    HasFreezeLayer(id: ObjectId<LayerTableRecord>): boolean;
    DeleteFreezeLayer(id: ObjectId<LayerTableRecord>): void;
    AddFreezeLayer(id: ObjectId<LayerTableRecord>): void;
    get DimBlock(): ObjectId;
    set DimBlock(value: ObjectId);
    ShowAll(): void;
    AppendShowObjects(ids: ObjectId[] | ObjectId): void;
    RemoveShowObjects(ids: ObjectId[] | ObjectId): void;
    AppendHideObjects(ids: ObjectId[] | ObjectId): void;
    RemoveHideObjects(ids: ObjectId[] | ObjectId): void;
    GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform: Matrix3): Vector3[];
    SetUVs(geo: BufferGeometry): void;
    protected OnlyRenderType: boolean;
    get Entitys(): Entity[];
    get Points(): Vector3[];
    NeedUpdateTexture: boolean;
    UpdateByPts(p1: Vector3, p2: Vector3): void;
    GetGripPoints(): Vector3[];
    MoveGripPoints(indexList: number[], moveVec: Vector3): void;
    ZoomAll(): void;
    ZoomtoEntitys(ens: Entity[]): void;
    get RenderType(): RenderType;
    set RenderType(v: RenderType);
    get BoundingBox(): Box3;
    CanRennder(en: Entity): boolean;
    DrawEntityToScene(en: Entity): void;
    GoodBye(): void;
    UpdateScene(): void;
    CloneDrawObject(from: this): void;
    IsInFrustum(obj: Object3D): boolean;
    IsIntersectsEntitysBox(box: Box3): boolean;
    IsFirstVersion: boolean;
    protected _ReadFile(file: CADFiler): void;
    WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=ViewportEntity.d.ts.map