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<HTMLElement | null>, media: IMedia, position: number): void;
