import { Vector3 } from 'three';
import { Arc } from '../DatabaseServices/Entity/Arc';
import { Circle } from '../DatabaseServices/Entity/Circle';
import { Curve } from '../DatabaseServices/Entity/Curve';
import { Entity } from '../DatabaseServices/Entity/Entity';
import { Line } from '../DatabaseServices/Entity/Line';
import { Command } from '../Editor/CommandMachine';
export declare class DrawCircle implements Command {
    exec(): Promise<void>;
    DrawCircleUseRadious(val: Vector3, snapEntity: Entity): Promise<void>;
    DrawCicleUseTwoPoint(): Promise<void>;
    DrawCicleUseThreePoint(): Promise<void>;
    DrawCicleUseCutoffPointAndRadious(): Promise<void>;
    DrawUseCutoffPoinByCircleAndLine(circle: Circle | Arc, line: Line, midpoint: Vector3): Promise<void>;
    DrawUseCutoffPoinByLineAndLine(line1: Line, line2: Line, midpoint: Vector3): Promise<void>;
    DrawUseCutoffPoinByCircleAndCircle(cir1: Circle | Arc, cir2: Circle | Arc, midpoint: Vector3): Promise<void>;
    DrawMostSuitableCircle([c1, c2, c3, c4]: Curve[], midpoint: Vector3, radius: number): void;
    ThreeLineDrawCircle(): Promise<void>;
    SetCircleRoomNameAndCabinetName(circle: Circle, snapEntity: Entity): void;
}
//# sourceMappingURL=DrawCircle.d.ts.map