import * as React from 'react'; import type { ChipOption, ChipsInputBaseProps } from '../ChipsInputBase/types'; import { type CustomSelectDropdownProps } from '../CustomSelectDropdown/CustomSelectDropdown'; import { type CustomSelectOptionProps } from '../CustomSelectOption/CustomSelectOption'; import type { FormFieldProps } from '../FormField/FormField'; import { type UseChipsSelectProps } from './useChipsSelect'; export interface ChipsSelectProps extends ChipsInputBaseProps, UseChipsSelectProps, Pick, Pick { /** * Расположение выпадающего списка. */ placement?: 'top' | 'bottom' | undefined; /** * Отрисовка Spinner вместо списка опций в выпадающем списке. */ fetching?: boolean | undefined; /** * Закрытие выпадающего списка после выбора элемента. */ closeAfterSelect?: boolean | undefined; /** * Ширина раскрывающегося списка зависит от контента. */ dropdownAutoWidth?: boolean | undefined; /** * Принудительно использовать портал. */ forceDropdownPortal?: boolean | undefined; /** * Передает атрибут `data-testid` для дропдауна. */ dropdownTestId?: string | undefined; /** * Иконка раскрывающегося списка. */ icon?: React.ReactNode | undefined; /** * Добавляет значение в список на событие `onBlur` (использовать вместе с `creatable`). */ addOnBlur?: boolean | undefined; /** * Отключает максимальную высоту по умолчанию. */ noMaxHeight?: boolean | undefined; /** * Функция для отрисовки кастомной опции в выпадающем списке. */ renderOption?: ((props: CustomSelectOptionProps, option: O) => React.ReactNode) | undefined; /** * Рендер-проп для кастомного рендера содержимого дропдауна. * В `defaultDropdownContent` содержится список опций. */ renderDropdown?: ({ defaultDropdownContent, }: { defaultDropdownContent: React.ReactNode; }) => React.ReactNode; /** * Событие срабатывающее перед `onChange`. */ onChangeStart?: ((event: React.MouseEvent | React.KeyboardEvent, option: O) => void) | undefined; /** * Отступ от выпадающего списка. */ dropdownOffsetDistance?: number | undefined; /** * Если `true`, то справа будет отображаться кнопка для очистки значения. */ allowClearButton?: boolean | undefined; } /** * @see https://vkui.io/components/chips-select */ export declare const ChipsSelect: