import React from 'react'; import { GroupBase } from 'react-select'; import { UseValidationProps, Validator } from '@interface-technologies/iti-react-core'; import { CommonSelectProps } from './CommonSelectProps'; import { SelectOption } from './SelectOption'; /** The value type for [[`ValidatedMultiSelect`]]. */ export type MultiSelectValue = string[] | number[]; export interface ValidatedMultiSelectProps extends CommonSelectProps, UseValidationProps { options: SelectOption[] | GroupBase[]; } /** * A validated dropdown component based on `react-select` that allows selecting * multiple options. * * If any options have isFixed: true, you should sort the options so that fixed options * come before unfixed. Sorting the options in the component would cause poor performance * when there are many options and the options array is not referentially stable. * * This component is expensive to render so use `React.memo` when necessary. */ export declare const ValidatedMultiSelect: React.MemoExoticComponent<({ id, name, options, validators, showValidation, placeholder, className, inputClassName, formControlSize, width, components, isLoading, enabled, isClearable, getStyles, isOptionEnabled, menuIsOpen, onMenuOpen, onMenuClose, menuPlacement, ...props }: ValidatedMultiSelectProps) => import("react/jsx-runtime").JSX.Element>; declare function required(): Validator; export declare const MultiSelectValidators: { required: typeof required; }; export {};