import { AnyShapeStyle, StrokeStyle } from '../../common/configs'; import { EdgeLabelArea, LinePosition, Position } from '../../common/types'; import { Vector2D } from '../vector2d'; import { VectorLine } from './line'; /** * Calculate the position to display the edge label from the * positions of the edge. * @param linePos line segment between the outermost of the nodes * @param edgeStyle stroke style of edges * @param margin margin from line * @param padding padding from outside * @param scale scale factor * @returns edge label display area */ export declare function calculateEdgeLabelArea(linePos: LinePosition, edgeStyle: StrokeStyle, margin: number, padding: number, scale: number): EdgeLabelArea; /** * Calculate the distances between center of node and edge of node. * @param sourceNodePos position of source node * @param targetNodePos position of target node * @param sourceNodeShape shape config of source node * @param targetNodeShape shape config of target node * @returns the distances */ export declare function calculateDistancesFromCenterOfNodeToEndOfNode(sourceNodePos: Position, targetNodePos: Position, sourceNodeShape: AnyShapeStyle, targetNodeShape: AnyShapeStyle): [number, number]; /** * Calculates the position of a given distance along the circumference. * @param pos original position * @param center center of the circle * @param radian radius of the circle * @returns the moved position */ export declare function moveOnCircumference(pos: Position, center: Position, radian: number): { x: number; y: number; }; /** * Reverse the direction of the angle. * @param theta angle * @returns reversed angle */ export declare function reverseAngleRadian(theta: number): number; export declare function calculateBezierCurveControlPoint(p1: Vector2D, center: Vector2D, p2: Vector2D, theta0: number): Vector2D[]; export declare function calculateRelativeAngleRadian(line1: VectorLine, line2: VectorLine): number; export declare function calculateCircleCenterAndRadiusBy3Points(p1: Vector2D, p2: Vector2D, p3: Vector2D): [Vector2D, number];