import { Renderer, type RenderContext } from './Renderer'; import type { Group } from '../shapes/Group'; import { Rect, Circle, Ellipse, Line, Arc, Polygon, Polyline, Path, Star, TextNode, ImageNode } from '../shapes/index'; import { Matrix2D } from '../utils'; export declare class SVGRenderer extends Renderer { private svg; private defs; private sceneRoot; private nodeElements; private shapeElements; private defCounter; private seenIds; init(container: HTMLElement, options: RenderContext): void; /** Update stage background (solid or image). */ setStageBackground(value: string): void; private syncBackgroundNode; resize(width: number, height: number): void; getElement(): SVGSVGElement; render(root: Group, cameraMatrix?: Matrix2D): void; toDataURL(type?: string): string; destroy(): void; private syncGroup; private syncNode; private syncShapeElement; private pruneOrphans; private registerShadow; private registerClip; private registerGradient; private applyStyle; private createShapeElement; private updateShapeElement; private pointsAttr; private starPoints; drawGroup(_group: Group): void; drawRect(_node: Rect): void; drawCircle(_node: Circle): void; drawEllipse(_node: Ellipse): void; drawLine(_node: Line): void; drawArc(_node: Arc): void; drawPolygon(_node: Polygon): void; drawPolyline(_node: Polyline): void; drawPath(_node: Path): void; drawStar(_node: Star): void; drawText(_node: TextNode): void; drawImage(_node: ImageNode): void; }