import { ShapedItem } from './layout-text.ts'; import type { Color } from './style.ts'; import type { PaintBackend } from './paint.ts'; import type { LoadedFontFace } from './text-font.ts'; import type { Image } from './layout-image.ts'; interface Rect { id: string; x: number; y: number; width: number; height: number; } export default class SvgPaintBackend implements PaintBackend { main: string; defs: string; clips: Rect[]; fillColor: Color; strokeColor: Color; lineWidth: number; direction: 'ltr' | 'rtl'; font: LoadedFontFace | undefined; fontSize: number; usedFonts: Map; constructor(); style(style: Record): string; edge(x: number, y: number, length: number, side: 'top' | 'right' | 'bottom' | 'left'): void; text(x: number, y: number, item: ShapedItem, textStart: number, textEnd: number): void; rect(x: number, y: number, w: number, h: number): void; pushClip(x: number, y: number, width: number, height: number): void; popClip(): void; image(x: number, y: number, w: number, h: number, image: Image): void; body(): string; } export {};