import { Matrix4 } from "three";
import { HingeType } from "../../../Add-on/DrawBoard/DrawDoorDrawer/DrawDoorTool";
import { Board } from "../../../DatabaseServices/Entity/Board";
import { BoardOpenDir } from "../../../DatabaseServices/Entity/BoardInterface";
import { Entity } from "../../../DatabaseServices/Entity/Entity";
import { HardwareCompositeEntity } from "../../../DatabaseServices/Hardware/HardwareCompositeEntity";
import { ObjectId } from "../../../DatabaseServices/ObjectId";
import { TemplateRecord } from "../../../DatabaseServices/Template/TemplateRecord";
export declare class TemplateDrawHingeTool {
    private hingeSet;
    addHingeToDoor(door: Board | HardwareCompositeEntity, hingeTemp: TemplateRecord, allSpaceEnts: Entity[]): Promise<[boolean, boolean]>;
    RelativeMetalsToBoard(allEntitys: Entity[], isLROpen: boolean, door: Board | HardwareCompositeEntity, spaceOCS: Matrix4): boolean;
    private GetHingeMoveNum;
}
export declare function GetHingeType(door: Entity, openDir: BoardOpenDir, allSpaceEnts: Entity[], isLROpen: boolean): HingeType;
export declare function RemoveHinges(objIds: ObjectId[]): void;
//# sourceMappingURL=TemplateDrawHingeTool.d.ts.map