/** * SVG renderer for Fretboard Renderer Library */ import type { FretboardOptions, Marker as MarkerInterface } from '../fretboard/types'; import { String as GuitarString } from '../fretboard/String'; import { Fret } from '../fretboard/Fret'; import { Inlay } from '../fretboard/Inlay'; import { Fingering } from '../fretboard/Fingering'; /** * SVG Renderer for creating fretboard SVG elements */ export declare class SvgRenderer { private readonly options; constructor(options: Required); /** * Renders the complete fretboard as SVG element */ render(strings: GuitarString[], frets: Fret[], inlays: Inlay[], markers?: MarkerInterface[], fingerings?: Fingering[]): SVGSVGElement; /** * Renders fretboard in horizontal orientation */ private renderHorizontal; /** * Renders fretboard in vertical orientation */ private renderVertical; /** * Renders transparent debug overlays: * - Transparent Blue (#3b82f6) for Fret 0 / X zone (40px) * - Transparent Red (#ef4444) for Tuning zone (40px) */ private renderDebugZones; /** * Creates a grouped SVG element */ private createGroup; /** * Renders tuning note labels for strings * In horizontal mode: rendered to the left of the nut, aligned vertically with strings * In vertical mode: rendered above the nut, aligned horizontally with strings */ private renderTuningLabels; /** * Renders the diagram title and subtitle text above the fretboard */ private renderTitle; /** * Renders a string in horizontal orientation */ private renderHorizontalString; /** * Renders a fret in horizontal orientation * Frets span from first string to last string */ private renderHorizontalFret; /** * Renders an inlay in horizontal orientation (above fretboard) */ private renderHorizontalInlay; /** * Renders small grey inlay dots on horizontal fretboard neck */ private renderHorizontalInlayDots; /** * Renders small grey inlay dots on vertical fretboard neck */ private renderVerticalInlayDots; /** * Renders a string in vertical orientation */ private renderVerticalString; /** * Renders a fret in vertical orientation * Frets span from first string to last string */ private renderVerticalFret; /** * Renders an inlay in vertical orientation (left of fretboard) */ private renderVerticalInlay; /** * Renders a marker (placeholder for v2) */ private renderMarker; /** * Creates an SVG line element for a string */ createStringElement(str: GuitarString, length: number, isHorizontal: boolean): SVGLineElement; /** * Creates an SVG line element for a fret */ createFretElement(fret: Fret, length: number, isHorizontal: boolean): SVGLineElement; /** * Renders group of zones / highlighted regions */ private renderZonesGroup; /** * Renders an individual highlighted zone */ /** * Renders an individual highlighted zone (box, hull, or path shape) */ private renderZone; /** * Renders group of fingering markers */ private renderFingeringsGroup; /** * Renders an individual fingering marker */ private renderFingering; } //# sourceMappingURL=svg.d.ts.map