import { RefObject } from 'react'; import { IMedia } from '../types'; /** * Observes `elementRef` and fires a single `thumbnailViewed` analytics event * the first time the thumbnail is visible to the user. * * Two strategies are used: * * 1. Wall / Mosaic / Mobile carousel — IntersectionObserver (viewport). * Items are only rendered/visible when scrolled into view, so the observer * fires only for genuinely visible thumbnails. * * 2. Desktop carousel : A thumbnail is counted as viewed when its postIndex * falls within the current visible window [currentPosition, currentPosition + contentSize). * This effect re-runs on every arrow navigation. (We cannot use IntersectionObserver here because of the carousel loop cloning technique) */ export declare function useThumbnailViewEvent(elementRef: RefObject, media: IMedia, position: number): void;