/** * Representation of point coordinates. */ export type Coords = { x: number; y: number; }; /** * Representation of line edge, where right and left points * are on the opposite sides of the same corner. */ export type LineEdge = { right: Coords; left: Coords; }; /** * * Generate sets of keyframes for each point on line polygon * * @param line * @returns Sets of keyframes for each polygon point */ export declare function generatePolygonLineKeyframes(line: LineEdge[]): Coords[][]; /** * * Generate 1 set of keyframes for the whole line polygon. * * @param line * @returns Set of keyframes for the whole line polygon */ export declare function generatePolygonPointsKeyframes(line: LineEdge[]): Coords[][]; /** * * Apply animation to each point of line. * * @param line Declarative line description * @param svgContainer element which line all figures * @param svgPolygon element in svg image which will be animated line * @param animationCallback apply keyframes to specific points inside callback */ export declare function applyLinePerPointAnimation(line: LineEdge[], svgContainer: SVGSVGElement, svgPolygon: SVGPolygonElement, animationCallback: (point: DOMPoint, keyframes: Coords[]) => void): void; /** * * Apply last state to polygon. * * @param line Declarative line description * @param svgContainer element which line all figures * @param svgPolygon element in svg image which will be line */ export declare function applyStaticPoints(line: LineEdge[], svgContainer: SVGSVGElement, svgPolygon: SVGPolygonElement): void; export declare function createCoordsFromArray(coordsAsArray: number[]): Coords; export declare function createLineEdgeFromArray(edgeAsArray: number[][]): LineEdge; export declare function createLineFromArray(lineAsArray: number[][][]): LineEdge[];