/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { DependencyType } from '../models/dependency-type.enum';
/**
 * @hidden
 *
 * Describes the position of a point for polyline drawing.
 */
export interface Position {
    top: number;
    left: number;
}
/**
 * @hidden
 *
 * Describes the top, left and right coordinates of an element.
 */
export interface Rectangle {
    top: number;
    left: number;
    right: number;
}
/**
 * @hidden
 *
 * Gets the offset (top and left values) relative to a target element.
 */
export declare const getOffsetRelativeToParent: (element: HTMLElement, targetParent: HTMLElement) => Position;
/**
 * @hidden
 */
export declare const getElementRect: (element: HTMLElement, relativeContainer: HTMLElement) => Rectangle;
/**
 * @hidden
 */
export declare const dependencyCoordinates: (from: Rectangle, to: Rectangle, rowHeight: number, type: DependencyType, minDistanceBeforeTurn: number, arrowSize: number) => Position[];
/**
 * @hidden
 *
 * Translates the provided client `left` and `top` coords to coords relative to the provided container.
 * https://developer.mozilla.org/en-US/docs/Web/CSS/CSSOM_View/Coordinate_systems#standard_cssom_coordinate_systems
 */
export declare const clientToOffsetCoords: (clientLeft: number, clientTop: number, offsetContainer: Element) => Position;
/**
 * @hidden
 *
 * Retrieves the `left` and `top` values of the center of the provided element.
 * The retrieved values are relative to the current viewport (client values).
 * https://developer.mozilla.org/en-US/docs/Web/CSS/CSSOM_View/Coordinate_systems#standard_cssom_coordinate_systems
 */
export declare const getElementClientCenterCoords: (element: Element) => Position;
