import { FilterFieldApplied } from '../types';
/**
 * useChipsOverflow: Hook responsible for detecting which filter chips overflow
 * the available container space and splitting them into visible / overflow
 * groups.
 *
 * Strategy:
 * 1. The hook observes the PARENT element (the one whose width represents
 *    the total space available to chips + the "More" chip). The inner chip
 *    container itself sizes to its own content (`flex: 0 1 auto`), so its
 *    own width does not change when the parent grows — that's why we must
 *    observe the parent instead.
 * 2. Each chip's natural width is cached the first time it is mounted.
 *    On resize the cache is consulted, so even chips that have been moved
 *    into the overflow popup (and are no longer in the DOM) can be
 *    re-evaluated when there is more room.
 * 3. The "More" chip's real measured width is subtracted from the available
 *    space whenever it is rendered, so nothing is hardcoded.
 * @param filters - Sorted array of applied filters
 */
export declare function useChipsOverflow(filters: FilterFieldApplied[]): {
    visibleFilters: FilterFieldApplied[];
    overflowFilters: FilterFieldApplied[];
    parentRef: import('react').RefObject<HTMLDivElement | null>;
    containerRef: import('react').RefObject<HTMLDivElement | null>;
    setChipRef: (id: number, el: HTMLElement | null) => void;
    setMoreChipRef: (el: HTMLElement | null) => void;
    setActionsRef: (el: HTMLElement | null) => void;
};
//# sourceMappingURL=useChipsOverflow.d.ts.map