import * as Point from '../../../../geometry/src/point'; export type LineAnchorStyle = 'arrow-triangle' | 'arrow-line' | 'dot' | 'hash' | 'none'; export interface LineAnchorStylePoints { tip: Point.Point; base: Point.Point; arrowTriangle: ArrowheadPoints; arrowLine: ArrowheadPoints; hash: ArrowheadPoints; radius: number; } export interface ArrowheadPoints { leftPoint: Point.Point; rightPoint: Point.Point; } export interface LinePoints { x1: number; y1: number; x2: number; y2: number; } export interface CirclePoints { cx: number; cy: number; r: number; } export declare function createArrowheadPoints(start: Point.Point, end: Point.Point, arrowSideLength: number, arrowHeadTheta: number): ArrowheadPoints; export declare function createLineAnchorStylePoints(start: Point.Point, end: Point.Point, triangleArrowAngle?: number, lineArrowAngle?: number): LineAnchorStylePoints; export declare function arrowheadPointsToPolygonPoints(points: LineAnchorStylePoints, scale?: number): string; export declare function arrowheadPointsToPathPoints(points: LineAnchorStylePoints, scale?: number): string; export declare function arrowheadPointsToHashPoints(points: LineAnchorStylePoints, scale?: number): LinePoints; export declare function arrowheadPointsToCirclePoints(points: LineAnchorStylePoints, scale?: number): CirclePoints; export declare function isVertexViewerArrowMarkup(el: unknown): el is HTMLVertexViewerMarkupArrowElement; export declare function parsePoint(value: string | Point.Point | undefined): Point.Point | undefined; export declare function scalePointProportional(basePoint: Point.Point, scaledPoint: Point.Point, scale: number): Point.Point;