import type { IPointData } from "@pixi/math"; import type { ConstraintAttributes, EdgeSerializedNode, NodeSerializedNode, SerializedNode } from "../../types/serialized-node"; export type EdgeState = EdgeSerializedNode & { width: number; height: number; x: number; y: number; } & { absolutePoints: (IPointData | null)[]; }; /** * Returns an that describes the given connection * point. This result can then be passed to . * * @see https://github.com/jgraph/drawio/blob/dev/src/main/webapp/mxgraph/src/view/mxGraph.js#L6954 */ export declare function getConnectionConstraint(edge: EdgeSerializedNode, terminal: SerializedNode, source: boolean): ConstraintAttributes | null; export declare function getFloatingTerminalPoint(state: EdgeState, start: SerializedNode & { width: number; height: number; x: number; y: number; }, end: SerializedNode & { width: number; height: number; x: number; y: number; }, source: boolean): IPointData; export declare function getFixedTerminalPoint(edge: SerializedNode & { width: number; height: number; x: number; y: number; }, terminal: SerializedNode & { width: number; height: number; x: number; y: number; }, source: boolean, constraint: ConstraintAttributes): IPointData; export declare function getConnectionPoint(vertex: SerializedNode & { width: number; height: number; x: number; y: number; } | null, constraint: ConstraintAttributes): IPointData | null; export declare function updateFloatingTerminalPoints(state: EdgeState, source: SerializedNode & { width: number; height: number; x: number; y: number; }, target: SerializedNode & { width: number; height: number; x: number; y: number; }): void; /** * Updates the absolute points in the given state using the specified array * of Points as the relative points. * * @see https://github.com/jgraph/drawio/blob/81a267568da862d3c99970758c09a8e768dea973/src/main/webapp/mxgraph/src/view/mxGraphView.js#L1435C1-L1448C76 */ export declare function updatePoints(edge: EdgeState, points: IPointData[], source: NodeSerializedNode, target: NodeSerializedNode): void; export declare function updateFixedTerminalPoints(edge: EdgeState & { width: number; height: number; x: number; y: number; }, source: SerializedNode & { width: number; height: number; x: number; y: number; }, target: SerializedNode & { width: number; height: number; x: number; y: number; }): void;