'use client';

/**
 * Highlight overlay — how a `point` directive is drawn.
 *
 * Resolves CST refs to live elements, tracks their geometry, and draws
 * an SVG-mask spotlight over them. Read-only: it highlights and
 * optionally focuses elements, never changes the user's data.
 */

export { HighlightOverlay, type HighlightOverlayProps } from './HighlightOverlay';
export { SpotlightCanvas, type SpotlightCanvasProps } from './SpotlightCanvas';
export { useHighlightTargets } from './useHighlightTargets';
export { resolveRefs, type RefResolver } from './resolveRef';
export {
  waitForVisible,
  type WaitForVisibleOptions,
} from './waitForVisible';
export type {
  PointDirective,
  HighlightTarget,
  SpotlightRect,
  CSTRefId,
} from './types';
