import { TooltipData, TooltipPosition, TooltipTheme, TooltipTemplate } from './types'; /** * TooltipRenderer handles all Canvas 2D rendering for tooltips */ export declare class TooltipRenderer { private ctx; private theme; constructor(ctx: CanvasRenderingContext2D, theme: TooltipTheme); /** * Update the theme */ setTheme(theme: TooltipTheme): void; /** * Render a tooltip with the given template */ render(data: T, position: TooltipPosition, template: TooltipTemplate): void; /** * Draw tooltip background with all effects */ private drawBackground; /** * Draw arrow pointing to target */ private drawArrow; /** * Draw a rounded rectangle path */ private roundRect; /** * Draw a horizontal separator line */ drawSeparator(x: number, y: number, width: number): void; /** * Draw a series color indicator (small circle or square) */ drawSeriesIndicator(x: number, y: number, color: string): void; /** * Measure text width */ measureText(text: string, fontSize: number, fontWeight?: number | string): number; /** * Draw text with theme styling */ drawText(text: string, x: number, y: number, options?: { fontSize?: number; fontWeight?: number | string; color?: string; align?: CanvasTextAlign; baseline?: CanvasTextBaseline; }): void; /** * Draw a label-value pair */ drawLabelValue(x: number, y: number, label: string, value: string, maxWidth: number): void; /** * Get theme for external use */ getTheme(): TooltipTheme; } /** * Create a tooltip renderer */ export declare function createTooltipRenderer(ctx: CanvasRenderingContext2D, theme: TooltipTheme): TooltipRenderer;