import { StiFormElement } from "../elements/base/StiFormElement";
import { StiFormPageElement } from "../elements/StiFormPageElement";
import StiRectangleGeometry from "../properties/StiRectangleGeometry";
import { StiModelService } from "../services/model.service";
export default class StiRectangleGeometryLayout {
    model: StiModelService;
    width: number;
    height: number;
    constructor(model: StiModelService);
    insertElement(newElement: StiFormElement, otherElements: StiFormElement[], contentAreaWidth?: number): void;
    isHigherThan(left: StiRectangleGeometry, right: StiRectangleGeometry): boolean;
    isHigherThan2(left: StiRectangleGeometry, right: StiRectangleGeometry): boolean;
    removeElement(elementToRemove: StiFormElement, otherElements: StiFormElement[]): void;
    changeElementGeometry(elementToChange: StiFormElement, otherElements: StiFormElement[], contentAreaWidth?: number): void;
    private fitWidth;
    private insertFixed;
    private snapOneToAboves;
    private moveDown;
    private snapBelowsToAboves;
    getFreeToBottomResizeArea(currentResizeElement: StiFormElement, otherElements: StiFormElement[]): number;
    checkOutputs(usedPage: StiFormPageElement): void;
}
