import { type ReactElement, type RefObject } from 'react'; export interface UseOverflowItemsOptions { /** * Invariant: measurements are cached by array identity, so changing the * renderers/reserveSpace to alter widths needs a fresh array. */ items: T[]; renderItem: (item: T) => ReactElement; renderMeasurementItem?: (item: T) => ReactElement; overflowRenderer?: (items: T[]) => ReactElement; reserveSpace?: number; } export interface UseOverflowItemsResult { containerRef: RefObject; visibleItems: T[]; hiddenItems: T[]; visibleCount: number; hiddenCount: number; MeasurementContainer: () => ReactElement | null; } export declare function useOverflowItems({ items, renderItem, renderMeasurementItem, overflowRenderer, reserveSpace, }: UseOverflowItemsOptions): UseOverflowItemsResult;