import React, { type HTMLAttributes } from 'react';
import { type FieldMessageProps } from "../FieldMessage";
import { type OverrideClassName } from "../types/OverrideClassName";
import { type MultiSelectOptionsProps } from './subcomponents/MultiSelectOptions';
import { type MultiSelectOption, type ValidationMessage } from './types';
export type MultiSelectProps = {
inputRef?: React.Ref;
label: string;
items: MultiSelectOptionsProps['options'];
selectedValues: Set;
/**
* A description that provides context for the field
*/
description?: FieldMessageProps['message'];
onSelectedValuesChange: MultiSelectOptionsProps['onChange'];
isOpen: boolean;
onOpenChange: (isOpen: boolean) => void;
/** A status and message to provide context to the validation issue */
validationMessage?: ValidationMessage;
} & OverrideClassName>;
export declare const MultiSelect: {
({ id: propsId, label, items, selectedValues, description, onSelectedValuesChange, isOpen, onOpenChange, classNameOverride, validationMessage, inputRef, ...restProps }: MultiSelectProps): JSX.Element;
displayName: string;
};