///
import type { SelectInstance } from 'react-select';
import type { OptionData } from './types';
declare type CollapseParams = {
containerRef: React.RefObject;
disabled: boolean;
values: OptionData[];
};
declare type MenuCloseOptions = {
skipBlur?: boolean;
};
declare type MenuControls = {
isOpen: boolean;
open: () => void;
close: () => void;
forceClose: (options?: MenuCloseOptions) => void;
};
declare type PointerControls = {
onMouseDown: (event: React.MouseEvent) => void;
onTouchStart: (event: React.TouchEvent) => void;
reset: () => void;
};
declare type MeasurementState = {
isMeasuring: boolean;
visibleCount: number;
};
declare type CollapseControls = {
collapseSelected: boolean;
collapsedCount: number;
menu: MenuControls;
pointer: PointerControls;
measurement: MeasurementState;
selectRef: React.RefObject | null>;
};
/**
* Manages the collapsed multi-select state and interactions.
*
* Coordinates value measurement, menu expansion state, and pointer
* event handling for the collapsed selection UI. When enabled, shows
* only chips that fit on one row plus a "+N" indicator.
*
* @param params - Collapse configuration and dependencies
* @returns Collapse state, menu controls, pointer handlers, measurement data, and select ref
*/
export default function useCollapsedSelectionManager({ containerRef, disabled, values }: CollapseParams): CollapseControls;
export {};
//# sourceMappingURL=useCollapsedSelectionManager.d.ts.map