import PlannerElementData from '../../../model/Planner/PlannerElementData';
import BoxPlannerGrid from './BoxPlannerGrid';
export default class BoxPlannerPartlistHelper {
    private constructionRules;
    private getOptionVal;
    private setOptionValue;
    private getElementHasBottomPlate;
    private getElementIsCornerElement;
    private getCornerType;
    private getElementHasTopPlate;
    private getElementIsGarderobeElement;
    constructor(getOptionVal: (elementId: number, opt: string, optionHandler: Map<number, Map<string, string>>) => string, setOptionValue: (elementId: number, option: string, optionValue: string, optionHandler: Map<number, Map<string, string>>) => void, getElementHasBottomPlate: (curElement: PlannerElementData, optionHandler: Map<number, Map<string, string>>) => boolean, getElementIsCornerElement: (curElement: PlannerElementData, optionHandler: Map<number, Map<string, string>>) => boolean, getCornerType: (curElement: PlannerElementData, optionHandler: Map<number, Map<string, string>>) => 'INSIDE' | 'OUTSIDE' | 'NOCORNER', getElementHasTopPlate: (curElement: PlannerElementData, boxPlannerGrid: BoxPlannerGrid, optionHandler: Map<number, Map<string, string>>) => boolean, getElementIsGarderobeElement: (curElement: PlannerElementData, optionHandler: Map<number, Map<string, string>>) => boolean);
    setConstructionRules(constructionRules: any): void;
    private getGroundPlatesNumOfRightNeighbors;
    private getTopPlatesNumOfRightNeighbors;
    private getElementHeight;
    private getElementDepth;
    private getElementRahmenColor;
    calculateRahmen(boxPlannerGrid: BoxPlannerGrid, optionHandler: Map<number, Map<string, string>>): void;
    private correctRahmenDepthLeftBottom;
    private correctRahmenDepthLeftTop;
    private correctRahmenDepthRightBottom;
    private correctRahmenDepthRightTop;
    /**
     * This fucntion corrects the left front Senkrechte Rahmen of the element
     * @param curElement
     * @param boxPlannerGrid
     * @param optionHandler
     */
    private correctRahmenVerticalLeftFront;
    /**
     * This fucntion corrects the left front Senkrechte Rahmen of the element
     * @param curElement
     * @param boxPlannerGrid
     * @param optionHandler
     */
    private correctRahmenVerticalLeftBack;
    /**
     * This fucntion corrects the left front Senkrechte Rahmen of the element
     * @param curElement
     * @param boxPlannerGrid
     * @param optionHandler
     */
    private correctRahmenVerticalRightFront;
    /**
     * This fucntion corrects the left front Senkrechte Rahmen of the element
     * @param curElement
     * @param boxPlannerGrid
     * @param optionHandler
     */
    private correctRahmenVerticalRightBack;
    calculateKnots(boxPlannerGrid: BoxPlannerGrid, optionHandler: Map<number, Map<string, string>>): void;
    private correctKnotLeftBottomFront;
    private correctKnotLeftTopFront;
    private correctKnotLeftBottomBack;
    private correctKnotLeftTopBack;
    private correctKnotRightMiddleBack;
    private correctKnotLeftMiddleBack;
    private correctKnotRightBottomFront;
    private correctKnotRightTopFront;
    private correctKnotRightBottomBack;
    private correctKnotRightTopBack;
}
//# sourceMappingURL=BoxPlannerPartlistHelper.d.ts.map