import { RoomHolePolyline } from '../../DatabaseServices/Room/Entity/Wall/Hole/RoomHolePolyline';
import { Command } from "../../Editor/CommandMachine";
import { ModalState } from '../../UI/Components/Modal/ModalInterface';
import { PromptBlock } from '../../UI/DynamicPrompt/PromptBlock';
export declare enum DrawHoleType {
    I = 2,
    L = 3,
    U = 4
}
export declare enum IHoleType {
    Window = 1,
    Door = 2
}
export declare class Command_DrawHole implements Command {
    private _DrawType;
    private _HoleIType?;
    private _OnlyDrawHole;
    constructor(_DrawType: DrawHoleType, _HoleIType?: IHoleType, _OnlyDrawHole?: boolean);
    holeLength: number;
    holeHeight: number;
    offGround: number;
    exec(): Promise<void>;
    BeferDrawHole(drawHoleType: DrawHoleType): Promise<ModalState>;
    AfterDrawHole(hole: RoomHolePolyline, drawHoleType: DrawHoleType): Promise<void>;
    do(dyn: PromptBlock, noFilterArcWall?: boolean): Promise<RoomHolePolyline>;
    GetHoleHeight: (hole: RoomHolePolyline) => Promise<RoomHolePolyline>;
    GetHoleoffGround: () => Promise<void>;
}
//# sourceMappingURL=DrawHole.d.ts.map