import { Vector3 } from "three";
import { Entity } from "../DatabaseServices/Entity/Entity";
import { ObjectId } from "../DatabaseServices/ObjectId";
import { ViewportEntity } from "../DatabaseServices/ViewportEntity";
import { Command } from "../Editor/CommandMachine";
import { RenderType } from "../GraphicsSystem/RenderType";
export declare class DrawViewport implements Command {
    exec(): Promise<void>;
}
export declare class Draw4Viewport implements Command {
    exec(): Promise<void>;
}
/**
 * 除了孔外的id和门板和非门板
 * @param ens
 * @returns  ids//不含孔的所有实体, doorIds//门板, noDoorIds//非门板, dimIds//标注 }
 */
export declare function GetEntityIds(ens: Entity[]): {
    ids: ObjectId<import("../DatabaseServices/CADObject").CADObject>[];
    doorIds: ObjectId<import("../DatabaseServices/CADObject").CADObject>[];
    noDoorIds: ObjectId<import("../DatabaseServices/CADObject").CADObject>[];
    dimIds: ObjectId<import("../DatabaseServices/CADObject").CADObject>[];
};
export declare function Get4Viewport(p1: Vector3, p2: Vector3, ens: Entity[], view: number[], wire: string[], isHideDoor?: boolean): ViewportEntity[];
export declare class Draw2Viewport implements Command {
    exec(): Promise<void>;
}
export declare class Draw3Viewport implements Command {
    exec(): Promise<void>;
}
export interface ICustomViewportInfo {
    renderType: RenderType;
    dir: Vector3;
    width: number;
    height: number;
    position: Vector3;
    hideEntitys: string[];
}
export declare function DrawCustomViewports(infos: ICustomViewportInfo[], ens: Entity[]): ViewportEntity[];
//# sourceMappingURL=DrawViewport.d.ts.map