import { Point } from './../../math/geometry/point'; import { IntersectionInfo } from './../../math/geometry/intersectionInfo'; import { ICurve } from './../../math/geometry/icurve'; import { GeomEdge } from './geomEdge'; export declare class Arrowhead { static defaultArrowheadLength: number; length: number; width: number; tipPosition: Point; toJSON(): string; clone(): Arrowhead; constructor(); private static calculateArrowheads; static getIntersectionsWithArrowheadCircle(curve: ICurve, arrowheadLength: number, circleCenter: Point): IntersectionInfo[]; static findTrimEndForArrowheadAtTarget(edgeGeometry: GeomEdge): number; static findTrimStartForArrowheadAtSource(edgeGeometry: GeomEdge): number; static trimSplineAndCalculateArrowheads(edge: GeomEdge, spline: ICurve, narrowestInterval: boolean): boolean; static trimSplineAndCalculateArrowheadsII(edgeGeometry: GeomEdge, sourceBoundary: ICurve, targetBoundary: ICurve, spline: ICurve, narrowestInterval: boolean): boolean; /** Creates a spline between two nodes big enough to draw arrowheads */ static createBigEnoughSpline(edge: GeomEdge): void; static createEdgeCurveWithNoTrimming(edge: GeomEdge, a: Point, b: Point): void; }