import { Dimensions, Point, Rectangle } from '@vertexvis/geometry'; import { MarkupCenteringBehavior } from '../../lib/types'; export type BoundingBox2dAnchorPosition = 'left' | 'right' | 'top' | 'bottom' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'center'; export declare function getBoundingBox2dAnchorPosition(rect: Rectangle.Rectangle, position: BoundingBox2dAnchorPosition): Point.Point; export declare function translatePointToScreen(pt: Point.Point, canvasDimensions: Dimensions.Dimensions, contentDimensions?: Dimensions.Dimensions, centeringBehavior?: MarkupCenteringBehavior, scale?: number): Point.Point; export declare function translatePointToBounds(pt: Point.Point, rect: Rectangle.Rectangle, canvasDimensions: Dimensions.Dimensions): Point.Point; export declare function translateDimensionsToScreen(dimensions: Dimensions.Dimensions, canvasDimensions: Dimensions.Dimensions, contentDimensions?: Dimensions.Dimensions, scale?: number): Dimensions.Dimensions; /** * Translates a rectangle in relative units, to a rectangle in screen units. * * Shape coordinates are persisted in relative units, so they can be presented * at any size. */ export declare function translateRectToScreen(rect: Rectangle.Rectangle, canvasDimensions: Dimensions.Dimensions, contentDimensions?: Dimensions.Dimensions, centeringBehavior?: MarkupCenteringBehavior, scale?: number): Rectangle.Rectangle; /** * Translates a point in screen units, to a point in relative units. */ export declare function translatePointToRelative(pt: Point.Point, canvasDimensions: Dimensions.Dimensions, contentDimensions?: Dimensions.Dimensions, centeringBehavior?: MarkupCenteringBehavior, scale?: number, offset?: Point.Point): Point.Point; /** * Translates a set of points in relative `original` units to * points in relative `bounds` units. */ export declare function translatePointsToBounds(points: Point.Point[], original: Rectangle.Rectangle, bounds: Rectangle.Rectangle): Point.Point[]; export declare function createRectangle(initialPoint: Point.Point, currentPoint: Point.Point, maintainAspectRatio: boolean): Rectangle.Rectangle; export declare function transformRectangle(bounds: Rectangle.Rectangle, start: Point.Point, current: Point.Point, anchor: BoundingBox2dAnchorPosition, maintainAspectRatio?: boolean): Rectangle.Rectangle; export declare function isVertexViewerMarkupElement(el: HTMLElement): el is HTMLVertexViewerMarkupArrowElement | HTMLVertexViewerMarkupCircleElement | HTMLVertexViewerMarkupFreeformElement; export declare function isValidPointData(...points: Point.Point[]): boolean; export declare function isValidStartEvent(event: PointerEvent): boolean;