import { type GlobalPoint, type LocalPoint } from "@excalidraw/math"; import { type GeometricShape } from "@excalidraw/utils/shape"; import type { Zoom } from "@excalidraw/excalidraw/types"; import { type Bounds } from "./bounds"; import type { ElementsMap, ExcalidrawElement, ExcalidrawLinearElement, NonDeleted } from "./types"; /** * get the pure geometric shape of an excalidraw elementw * which is then used for hit detection */ export declare const getElementShape: (element: ExcalidrawElement, elementsMap: ElementsMap) => GeometricShape; export declare const getBoundTextShape: (element: ExcalidrawElement, elementsMap: ElementsMap) => GeometricShape | null; export declare const getControlPointsForBezierCurve:

(element: NonDeleted, endPoint: P) => P[] | null; export declare const getBezierXY:

(p0: P, p1: P, p2: P, p3: P, t: number) => P; export declare const getBezierCurveLength:

(element: NonDeleted, endPoint: P) => number; export declare const mapIntervalToBezierT:

(element: NonDeleted, endPoint: P, interval: number) => number; /** * Get the axis-aligned bounding box for a given element */ export declare const aabbForElement: (element: Readonly, offset?: [number, number, number, number]) => Bounds; export declare const pointInsideBounds:

(p: P, bounds: Bounds) => boolean; export declare const aabbsOverlapping: (a: Bounds, b: Bounds) => boolean; export declare const getCornerRadius: (x: number, element: ExcalidrawElement) => number; export declare const isPathALoop: (points: ExcalidrawLinearElement["points"], zoomValue?: Zoom["value"]) => boolean;