import type { HitTargets, NVL, Node, Relationship } from '@neo4j-nvl/base'; import { BaseInteraction } from './base'; /** * Options for the click interaction handler to customize its behavior. */ export type HoverInteractionOptions = { /** * Whether to draw a shadow on hover * @default false */ drawShadowOnHover?: boolean; }; /** * Callbacks for the hover interaction handler. */ export type HoverInteractionCallbacks = { /** * Called when a node or relationship is hovered * @param element - The node or relationship that was hovered. * @param hitElements - All elements that were hit by the hover. * @param event - The original mouse event. * This callback is called every time the mouse moves, * even when no element is hovered or the current element is already hovered. */ onHover?: ((element: Node | Relationship, hitElements: HitTargets, event: MouseEvent) => void) | boolean; }; /** * Interaction handler for hovering nodes and relationships. * * For examples, head to the {@link https://neo4j.com/docs/nvl/current/interaction-handlers/#_hoverinteraction Hover Interaction documentation page}. */ export declare class HoverInteraction extends BaseInteraction { private currentHoveredElementId; private currentHoveredElementIsNode; private readonly updates; constructor(nvl: NVL, options?: HoverInteractionOptions); /** * Handle mouse hover events * @param event - The mouse event. */ handleHover: (event: MouseEvent) => void; private updateElementsInNVL; private clearUpdates; private unHoverCurrentElement; destroy(): void; }