import { Direction, PlaitBoard, Point, RectangleClient } from '@plait/core'; import { PointGraph } from '../algorithms'; export interface ElbowLineRouteOptions { sourcePoint: Point; nextSourcePoint: Point; sourceRectangle: RectangleClient; sourceOuterRectangle: RectangleClient; targetPoint: Point; nextTargetPoint: Point; targetOuterRectangle: RectangleClient; targetRectangle: RectangleClient; } export interface RouteAdjustOptions { centerX?: number; centerY?: number; sourceRectangle: RectangleClient; targetRectangle: RectangleClient; } export interface AdjustOptions { parallelPaths: [Point, Point][]; pointOfHit: Point; sourceRectangle: RectangleClient; targetRectangle: RectangleClient; } export declare const generateElbowLineRoute: (options: ElbowLineRouteOptions, board?: PlaitBoard) => Point[]; export declare const routeAdjust: (path: Point[], options: RouteAdjustOptions, board?: PlaitBoard) => Point[]; export declare const getGraphPoints: (options: ElbowLineRouteOptions) => Point[]; export declare const createGraph: (points: Point[]) => PointGraph; export declare const reduceRouteMargin: (sourceRectangle: RectangleClient, targetRectangle: RectangleClient) => { sourceOffset: number[]; targetOffset: number[]; }; export declare const getNextPoint: (point: Point, outerRectangle: RectangleClient, direction: Direction) => Point; export declare const getSourceAndTargetOuterRectangle: (sourceRectangle: RectangleClient, targetRectangle: RectangleClient) => { sourceOuterRectangle: { x: number; y: number; width: number; height: number; }; targetOuterRectangle: { x: number; y: number; width: number; height: number; }; }; export declare const isSourceAndTargetIntersect: (options: ElbowLineRouteOptions) => boolean;