import { Effect } from 'effect'; /** * Detects if the element matching the given selector moves in the viewport. * Snapshots the element's position via `getBoundingClientRect` and watches for * changes using a `ResizeObserver` plus window `scroll` and `resize` listeners. * Resolves when movement is detected. Falls back to completing immediately if * the element is missing. * * Cleanup runs automatically when the fiber is interrupted (e.g. by * `Effect.raceFirst`), removing the observer and event listeners via * `AbortSignal`. * * @example * ```typescript * Dom.detectElementMovement('#menu-button') * ``` */ export declare const detectElementMovement: (selector: string) => Effect.Effect; //# sourceMappingURL=elementMovement.d.ts.map