import { DeepMaybeObservable, Pausable, Supportable, ReadonlyObservable } from '@usels/core'; import { ConfigurableWindow } from '../../shared/configurable.mjs'; import '@legendapp/state'; interface UseElementByPointOptions extends ConfigurableWindow { /** X coordinate */ x: number; /** Y coordinate */ y: number; /** Whether to return multiple elements (uses elementsFromPoint) */ multiple?: M; } type UseElementByPointReturn = Pausable & Supportable & { /** Element(s) at the specified point */ element$: ReadonlyObservable; }; /** * Framework-agnostic reactive element-at-point tracker using * `document.elementFromPoint()` (or `elementsFromPoint()` in multiple mode). * * Runs a `requestAnimationFrame` loop that polls the current (x, y) each frame * and syncs the result into `element$`. Pausable via `pause()` / `resume()`. */ declare function createElementByPoint(options: DeepMaybeObservable>): UseElementByPointReturn; export { type UseElementByPointOptions, type UseElementByPointReturn, createElementByPoint };