/**
 * useCarouselHeight
 *
 * Calculates and returns a responsive minimum height for a carousel container
 * based on the width of its parent element and the expected thumbnail aspect ratio.
 *
 * This ensures that the carousel container allocates enough vertical space
 * to prevent layout shifts when a thumbnail "grows" (e.g. when active).
 *
 * The height is calculated using:
 * - the container’s current width (via ResizeObserver),
 * - the active thumbnail aspect ratio (per shape: square, portrait, stories),
 * - the number of visible thumbnails (based solely on contentSize),
 * - a fractional width for partially visible items (default: partialItemWidth from consts),
 * - and an optional pixel buffer for spacing (default: 40).
 *
 * @param ref - a ref pointing to the carousel container element
 * @param shape - one of: 'square', 'portrait', 'stories'; determines aspect ratio
 * @param contentSize - max number of visible items configured
 * @param itemCount - actual number of carousel items
 * @param partialItemWidth - fraction of width reserved for a partially visible item (default: partialItemWidth from consts)
 * @param buffer - additional space to reserve below thumbnails (default: 40)
 * @returns the calculated height in pixels
 */
import { RefObject } from 'react';
import { ISettings } from '../types';
interface UseCarouselHeightParams {
    ref: RefObject<HTMLDivElement>;
    shape: ISettings['thumbnail_shape'];
    contentSize: ISettings['content_size'];
    itemCount: number;
    partialItemWidth: number;
    buffer?: number;
}
export declare const useCarouselHeight: (params: UseCarouselHeightParams) => number;
export {};
