/** * 3D Tooltip for displaying information on hover. * Creates a DOM element that follows the mouse and shows data. */ export interface Tooltip3DOptions { /** CSS class for the tooltip container */ className?: string; /** Offset from cursor in pixels */ offsetX?: number; offsetY?: number; /** Custom formatter function */ formatter?: (data: Tooltip3DData) => string; /** Show position coordinates */ showPosition?: boolean; /** Show value/scale */ showScale?: boolean; /** Show index */ showIndex?: boolean; /** Decimal places for numbers */ decimals?: number; } export interface Tooltip3DData { index: number; position: [number, number, number]; color?: [number, number, number]; scale?: number; customData?: Record; } export declare class Tooltip3D { private container; private element; private options; private visible; constructor(container: HTMLElement, options?: Tooltip3DOptions); /** * Show tooltip with data at screen position. */ show(data: Tooltip3DData, screenX: number, screenY: number): void; /** * Hide the tooltip. */ hide(): void; /** * Check if tooltip is visible. */ isVisible(): boolean; /** * Default formatting for tooltip content. */ private defaultFormat; /** * Update tooltip position (for mouse move without data change). */ updatePosition(screenX: number, screenY: number): void; /** * Destroy the tooltip. */ destroy(): void; } /** * Create a hover handler for bubble charts. * Returns a function to attach to mouse move events. */ export declare function createHoverHandler(renderer: any, // Bubble3DRenderer tooltip: Tooltip3D, options?: { debounceMs?: number; onHover?: (hit: { index: number; data: any; } | null) => void; }): (event: MouseEvent) => void;