import { Point } from './canvas-util'; import { Side } from './svg-util'; /** * An enumeration of the possible shapes of a line. * @public */ export declare enum LineShape { /** * A line that goes between its points taking the shortest euclidean distance. * @public */ Straight = "straight", /** * A line that goes between its points using bezier splines. * @public */ Bezier = "bezier", /** * A line that goes between its points moving parallel to the axes of coordinates. * @public */ Square = "square" } /** * An enumeration of the possible styles of a line. * @public */ export declare enum LineStyle { /** * A solid uninterrupted line. * @public */ Solid = "solid", /** * A dashed line with little separation between the dashes. * @public */ Dashed = "dashed", /** * A dashed line with wide gaps between the dashes. * @public */ GappedDashes = "gapped-dashes", /** * A dotted line. * @public */ Dotted = "dotted" } /** * A function that returns the `d` attribute for a SVG path that passes by the given points in order with the given direction at the start and end. * @public */ export type LineFunction = (points: Point[], startDirection?: Side | undefined, endDirection?: Side | undefined, minimumDistanceBeforeTurn?: number) => string; /** * Calculates the path of an SVG line with the given parameters. * @private */ export declare const linePath: (shape: LineShape | LineFunction, points: Point[], startDirection?: Side | undefined, endDirection?: Side | undefined, minimumDistanceBeforeTurn?: number) => string; /** * Calculates the dasharray property of an SVG line corresponding to the given line style and width. * @private */ export declare const lineStyleDasharray: (style: LineStyle, width: number) => string;