import { type MultipleSelectBoxOption, type AllowedValueTypes } from '../MultipleSelectBox.types'; type UseSelectedValuesProps = Record> = { /** * Available options. */ options: MultipleSelectBoxOption[]; /** * Initial selected values for uncontrolled component. */ defaultValue?: MultipleSelectBoxOption[]; /** * Current selected values for controlled component. */ value?: MultipleSelectBoxOption[] | undefined; /** * Callback when the selected values change. * Receives full options array. */ onChange?: (options: MultipleSelectBoxOption[]) => void; }; /** * Hook to manage selected values in MultipleSelectBox * * This hook manages the state of selected values and preserves option labels * even when the options array changes (e.g., during async search). * It does not include any handlers to keep its responsibility minimal. */ export declare function useSelectedValues = Record>({ options, defaultValue, value, onChange }: UseSelectedValuesProps): { localSelectedValuesSet: Set["value"]>; localSelectedOptions: MultipleSelectBoxOption[]; updateSelectedValues: (newValues: MultipleSelectBoxOption["value"][]) => void; updateSelectedOptions: (newOptions: MultipleSelectBoxOption[]) => void; }; export {};