import { Coordinates, GradientStop, Shape, SvgItem, SvgOptions } from "./utils_svg_types"; /** * * @description Creates any svg element. To append the element to an existing svg, provide the svg attribute. Otherwise, the element is returned so you can dispose of it as you please. * @returns a svg element */ export declare function element(attrs: { el: T | Shape; options: SvgOptions[T]; parent?: SVGElement | HTMLElement; }): SVGElement; /** * * @description Creates a svg circle element. To append the circle to an existing svg, provide the svg attribute. Otherwise, the circle is returned so you can dispose of it as you please. * @returns a svg circle element */ export declare function circle(attrs: { options: SvgOptions[SvgItem.CIRCLE]; parent?: SVGElement | HTMLElement; }): SVGElement; /** * * @description Creates a svg line element. To append the line to an existing svg, provide the svg attribute. Otherwise, the line is returned so you can dispose of it as you please. * @returns a svg line element */ export declare function line(attrs: { options: SvgOptions[SvgItem.LINE]; parent?: SVGElement | HTMLElement; }): SVGElement; /** * * @description Creates a svg rect element. To append the rect to an existing svg, provide the svg attribute. Otherwise, the rect is returned so you can dispose of it as you please. * @returns a svg rect element */ export declare function rect(attrs: { options: SvgOptions[SvgItem.RECT]; parent?: SVGElement | HTMLElement; }): SVGElement; /** * * @description Creates a svg polygon element. To append the polygon to an existing svg, provide the svg attribute. Otherwise, the polygon is returned so you can dispose of it as you please. * @returns a svg polygon element */ export declare function freePolygon(attrs: { options: SvgOptions[SvgItem.POLYGON]; parent?: SVGElement | HTMLElement; }): SVGElement; /** * * @description Creates a svg path element. To append the path to an existing svg, provide the svg attribute. Otherwise, the path is returned so you can dispose of it as you please. * @returns a svg path element */ export declare function path(attrs: { options: SvgOptions[SvgItem.PATH]; parent?: SVGElement | HTMLElement; }): SVGElement; /** * * @description Creates an empty clipPath svg element. * @returns a clipPath svg element */ export declare function clipPath(attrs: { options: SvgOptions[SvgItem.CLIP_PATH]; parent?: SVGElement | HTMLElement; }): SVGElement; /** * * @description Creates a use svg element. * @returns a use svg element */ export declare function use(attrs: { options: SvgOptions[SvgItem.USE]; parent?: SVGElement | HTMLElement; }): SVGElement; /** * * @description Creates a svg path element. To append the path to an existing svg, provide the svg attribute. Otherwise, the path is returned so you can dispose of it as you please. * @returns a svg path element */ export declare function text(attrs: { /** * @option x: number * @option y: number * @option content: text element content, cannot be broken into several lines */ options: SvgOptions[SvgItem.TEXT]; parent?: SVGElement | HTMLElement; }): SVGElement; /** * * @description Creates a svg marker element. * @returns a marker svg element */ export declare function marker(attrs: { options: SvgOptions[SvgItem.MARKER]; parent?: SVGElement | HTMLElement; }): SVGElement; export declare function arrow(attrs: { options: SvgOptions[SvgItem.ARROW]; parent?: SVGElement | HTMLElement; }): SVGElement; export declare function calcPolygonPoints({ centerX, centerY, outerPoints, radius, rotation }: { centerX: number; centerY: number; outerPoints: number; radius: number; rotation: number; }): string; /** * * @description Creates a regular polygon from a given set of options. To append the polygon to an existing svg, provide the svg attribute. Otherwise, the polygon is returned so you can dispose of it as you please. * @returns a polygon svg element */ export declare function regularPolygon({ coordinates, radius, sides, rotation, parent, options }: { coordinates: Coordinates; radius: number; sides: number; rotation: number; parent?: SVGElement | HTMLElement; options: SvgOptions[SvgItem.POLYGON]; }): SVGElement; export declare function svg(attrs: { options: SvgOptions[SvgItem.SVG]; parent?: HTMLElement; }): SVGElement; export declare function linearGradient(attrs: { stops: GradientStop[]; parent?: HTMLElement | SVGElement; id: string; direction: "vertical" | "horizontal"; gradientUnits?: "userSpaceOnUse" | "objectBoundingBox"; spreadMethod?: "pad" | "reflect" | "repeat"; }): SVGDefsElement; export declare function radialGradient(attrs: { cx?: string; cy?: string; fx?: string; fy?: string; fr?: string; r?: string; gradientUnits?: "userSpaceOnUse" | "objectBoundingBox"; spreadMethod?: "pad" | "reflect" | "repeat"; stops: GradientStop[]; parent?: HTMLElement | SVGElement; id: string; }): SVGDefsElement; export declare function findArcMidpoint(pathElement: SVGPathElement): { x: number; y: number; }; export declare function offsetFromCenterPoint({ initX, initY, offset, centerX, centerY }: { initX: number; initY: number; offset: number; centerX: number; centerY: number; }): { x: number; y: number; }; export declare function setTextAnchorFromCenterPoint({ x, centerX, middleRange, isDiv }: { x: number; centerX: number; middleRange?: number; isDiv?: boolean; }): "start" | "middle" | "end" | "left" | "center" | "right"; declare const utils_svg: { circle: typeof circle; clipPath: typeof clipPath; element: typeof element; findArcMidpoint: typeof findArcMidpoint; freePolygon: typeof freePolygon; line: typeof line; linearGradient: typeof linearGradient; marker: typeof marker; offsetFromCenterPoint: typeof offsetFromCenterPoint; path: typeof path; radialGradient: typeof radialGradient; rect: typeof rect; regularPolygon: typeof regularPolygon; setTextAnchorFromCenterPoint: typeof setTextAnchorFromCenterPoint; svg: typeof svg; text: typeof text; use: typeof use; }; export default utils_svg;