import { Scene, Vector3, Object3D, Box3, Group, Matrix3 } from "three";
import { CameraUpdate } from "../GraphicsSystem/CameraUpdate";
import { Entity } from "./Entity/Entity";
import { RenderType } from "../GraphicsSystem/RenderType";
import { ObjectId } from "./ObjectId";
import { CADFiler } from "./CADFiler";
import { ObjectSnapMode } from "../Editor/ObjectSnapMode";
export declare class ViewportEntity extends Entity {
    private _width;
    private _height;
    scene: Scene;
    readonly camera: CameraUpdate;
    private _renderType;
    hideObjectIds: Set<ObjectId>;
    ViewData: {
        left: number;
        bottom: number;
    };
    _Color: number;
    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);
    GetObjectSnapPoints(snapMode: ObjectSnapMode, pickPoint: Vector3, lastPoint: Vector3, viewXform: Matrix3): Vector3[];
    protected OnlyRenderType: boolean;
    get Entitys(): Entity[];
    get Points(): Vector3[];
    InitDrawObject(type: RenderType): Group;
    UpdateDrawObject(type: RenderType, obj: Object3D): void;
    UpdateByPts(p1: Vector3, p2: Vector3): void;
    GetGripPoints(): Vector3[];
    MoveGripPoints(indexList: number[], moveVec: Vector3): void;
    ZoomAll(): void;
    get RenderType(): RenderType;
    set RenderType(v: RenderType);
    get BoundingBox(): Box3;
    AppendEntity(en: Entity): void;
    RemoveEntity(en: Entity): void;
    GoodBye(): void;
    protected _ReadFile(file: CADFiler): void;
    WriteFile(file: CADFiler): void;
}
//# sourceMappingURL=ViewportEntity.d.ts.map