/********************************************************************************
 * Copyright (c) 2023-2024 EclipseSource and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/
import { Args, Bounds, Direction, GChildElement, GModelElement, GShapeElement, Point, Vector } from '@eclipse-glsp/sprotty';
import { ArgsAware } from '../../base/args-feature';
import { ResizeHandleLocation } from '../change-bounds/model';
export declare const HelperLineType: {
    readonly Left: "left";
    readonly Right: "right";
    readonly Center: "center";
    readonly Top: "top";
    readonly Bottom: "bottom";
    readonly Middle: "middle";
    readonly LeftRight: "left-right";
    readonly RightLeft: "right-left";
    readonly BottomTop: "bottom-top";
    readonly TopBottom: "top-bottom";
};
export type HelperLineType = (typeof HelperLineType)[keyof typeof HelperLineType] | string;
export declare const HELPER_LINE = "helper-line";
export declare class HelperLine extends GChildElement implements ArgsAware {
    readonly startPoint: Point;
    readonly endPoint: Point;
    readonly lineType: HelperLineType;
    args?: Args;
    constructor(startPoint?: Point, endPoint?: Point, lineType?: HelperLineType);
    get isLeft(): boolean;
    get isRight(): boolean;
    get isTop(): boolean;
    get isBottom(): boolean;
    get isMiddle(): boolean;
    get isCenter(): boolean;
}
export declare function isHelperLine(element: GModelElement): element is HelperLine;
export declare const SELECTION_BOUNDS = "selection-bounds";
export declare class SelectionBounds extends GShapeElement implements ArgsAware {
    args?: Args;
    constructor(bounds?: Bounds);
}
export declare function isSelectionBounds(element: GModelElement): element is SelectionBounds;
export declare const getDirectionOf: typeof Vector.direction;
export declare function getDirectionFrom(resize?: ResizeHandleLocation): Direction[];
export { Direction } from '@eclipse-glsp/sprotty';
//# sourceMappingURL=model.d.ts.map