import { ICurve } from '../../math/geometry/icurve'; import { LineSegment } from '../../math/geometry/lineSegment'; import { Point } from '../../math/geometry/point'; import { BasicGraph } from '../../structs/BasicGraph'; import { GeomGraph } from '../core/geomGraph'; import { Algorithm } from './../../utils/algorithm'; import { Anchor } from './anchor'; import { Database } from './Database'; import { LayerArrays } from './LayerArrays'; import { PolyIntEdge } from './polyIntEdge'; import { ProperLayeredGraph } from './ProperLayeredGraph'; import { SugiyamaLayoutSettings } from './sugiyamaLayoutSettings'; import { NodeKind } from './NodeKind'; import { GeomNode } from '../core/geomNode'; import { GeomEdge } from '../core/geomEdge'; export declare class Routing extends Algorithm { settings: SugiyamaLayoutSettings; Database: Database; IntGraph: BasicGraph; LayerArrays: LayerArrays; OriginalGraph: GeomGraph; ProperLayeredGraph: ProperLayeredGraph; constructor(settings: SugiyamaLayoutSettings, originalGraph: GeomGraph, dbP: Database, yLayerArrays: LayerArrays, properLayeredGraph: ProperLayeredGraph, intGraph: BasicGraph); run(): void; createSplines(): void; RouteUnroutedEdges(): void; RouteFlatEdges(): void; createRegularSplines(): void; MayOptimizeEdge(intEdge: PolyIntEdge): boolean; createSelfSplines(): void; createSplineForNonSelfEdge(es: PolyIntEdge, optimizeShortEdges: boolean): void; drawSplineBySmothingThePolyline(edgePath: PolyIntEdge, optimizeShortEdges: boolean): void; static UpdateLabel(e: GeomEdge, anchor: Anchor): void; static ShiftLabel(e: GeomEdge, t: { curveClosestPoint: Point; labelSideClosest: Point; }): void; static FindClosestPoints(t: { curveClosestPoint: Point; labelSideClosest: Point; }, segmentInFrontOfLabel: ICurve, labelSide: LineSegment): boolean; static GetSegmentInFrontOfLabel(edgeCurve: ICurve, labelY: number): ICurve; static GetNodeKind(vertexOffset: number, edgePath: PolyIntEdge): NodeKind; }