import { Bounds } from '../../types'; import { Annotation } from './types'; export interface PlotArea { x: number; y: number; width: number; height: number; } export declare class AnnotationManager { private annotations; private idCounter; /** * Add a new annotation * @returns The annotation ID */ add(annotation: Annotation): string; /** * Remove an annotation by ID */ remove(id: string): boolean; /** * Update an annotation */ update(id: string, updates: Partial): void; /** * Get an annotation by ID */ get(id: string): Annotation | undefined; /** * Get all annotations */ getAll(): Annotation[]; /** * Clear all annotations */ clear(): void; /** * Get count of annotations */ get count(): number; /** * Render all annotations */ render(ctx: CanvasRenderingContext2D, plotArea: PlotArea, bounds: Bounds, latexAPI?: any): void; /** * Helper to draw text or LaTeX */ private drawLatexOrText; private renderAnnotation; private dataToPixelX; private dataToPixelY; private renderHorizontalLine; private renderVerticalLine; private renderRectangle; private renderBand; private renderText; private renderArrow; private renderLineLabel; private renderCenteredLabel; }