import * as React from 'react'; export interface UseCollapseChildrenProps { /** * Whether the hook is enabled * @default true */ enabled?: boolean; /** * React ref for the container element */ containerRef: React.RefObject; /** * React refs for elements that should not participate in calculation */ preservedRefs?: Array>; /** * The minimum count of items to be visible * @default 0 */ minCount?: number; /** * The maximum count of items to be visible * @default Infinity */ maxCount?: number; /** * Collapse direction of items * @default 'end' */ direction?: 'start' | 'end'; /** * The distance between items * @default 0 */ gap?: number; /** * CSS-selector to pick child items in the container * @default '*' */ childSelector?: string; /** * Custom measure function of item's width * @param child HTMLElement * @returns number */ getChildWidth?: (child: HTMLElement) => number; } export interface UseCollapseChildrenResult { /** * Whether calculation is complete. * Your items should be in measurable state when it's not calculated. */ calculated: boolean; /** * Trigger recalculation manually. */ recalculate: () => void; /** * Number of items that can be visible in the container, excluding preserved items. */ visibleCount: number; } export declare function useCollapseChildren({ enabled, containerRef, preservedRefs, minCount, maxCount, direction, gap, childSelector, getChildWidth, }: UseCollapseChildrenProps): UseCollapseChildrenResult;