import * as React from 'react'; import { type SimulateReactInputTargetState } from '../../lib/react'; import { type FilterFn, type SortFn } from '../../lib/select'; import { type UseChipsInputProps } from '../ChipsInput/useChipsInput'; import type { ChipOption, ChipOptionLabel, ChipOptionValue } from '../ChipsInputBase/types'; import type { OptionPreset } from './types'; export interface UseChipsSelectProps extends UseChipsInputProps { /** * Список опций в выпадающем списке. */ options?: O[]; /** * Возможность создавать чипы которых нет в списке: * - `true` – добавление по кнопке Enter; * - `<текст>` – помимо возможности добавления через Enter, в пункте меню появится кнопка с текстом. * Текст для пункта, создающего чипы при нажатии, также отвечает за то, будет ли показан этот пункт * (показывается после того как в списке не останется опций). */ creatable?: boolean | string; /** * Текст, который показывается если список опций пуст. */ emptyText?: string; /** * Показывать или скрывать уже выбранные опции. */ selectedBehavior?: 'hide' | 'highlight'; /** * Функция для фильтрации опций в списке. */ filterFn?: false | FilterFn; /** * Функция для сортировки опций в списке. */ sortFn?: false | SortFn; /** * Будет вызвано в момент скрытия выпадающего списка. */ onClose?: VoidFunction; /** * Будет вызвано в момент открытия выпадающего списка. */ onOpen?: VoidFunction; } export declare const useChipsSelect: ({ disabled, delimiter, value: valueProp, defaultValue, onChange, getOptionLabel, getOptionValue, getNewOptionData, inputValue: inputValueProp, defaultInputValue, onInputChange: onInputChangeProp, creatable, emptyText, filterFn, sortFn, selectedBehavior, options: optionsProp, onClose, onOpen, }: UseChipsSelectProps) => { value: Array; inputValue: string; onInputChange: (event: React.ChangeEvent) => void; options: Array>; opened: boolean; setOpened: (isOpened: boolean) => void; focusedOption: O | null; focusedOptionIndex: number | null; setFocusedOption: React.Dispatch>; setFocusedOptionIndex: React.Dispatch>; addOption: (newValue: string | O) => void; addOptionFromInput: (inputValue: string) => void; removeOption: (newValue: ChipOptionValue | O) => void; clearOptions: () => void; inputRef: React.RefObject<(HTMLInputElement & SimulateReactInputTargetState) | null>; clearInput: () => void; }; //# sourceMappingURL=useChipsSelect.d.ts.map