import { RefObject } from 'react';
/**
 * Hook to manage slide visibility using a centralized IntersectionObserver.
 * This optimizes performance by using a single observer per carousel instead of one per slide.
 *
 * @param carouselRef - Reference to the carousel container element
 * @returns Object with functions to register/unregister slides and check visibility
 */
export declare function useCarouselVisibility(carouselRef: RefObject<HTMLDivElement | null>): {
    registerSlide: (element: HTMLElement | null, callback: (isVisible: boolean) => void) => void;
    unregisterSlide: (element: HTMLElement | null) => void;
    isSlideVisible: (element: HTMLElement | null) => boolean;
};
