import { StiFormElement } from "../elements/base/StiFormElement";
import { StiFormPageElement } from "../elements/StiFormPageElement";
import StiRectangleGeometry from "../properties/StiRectangleGeometry";
import { StiModelService } from "../services/model.service";
import { StiNameService } from "../services/sti-name.service";
import * as i0 from "@angular/core";
export default class StiRectangleGeometryLayout {
    model: StiModelService;
    nameService: StiNameService;
    width: number;
    height: number;
    constructor(model: StiModelService, nameService: StiNameService);
    insertElement(newElement: 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;
    static ɵfac: i0.ɵɵFactoryDeclaration<StiRectangleGeometryLayout, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<StiRectangleGeometryLayout>;
}
