import { InputWidthVariant } from '../../../functions';
import { ArrayFieldPath, ArrayPathValue, FormOption, FormOptionsControlProps } from '../../../types';
import { SelectProps } from '@mui/material';
import { ReactNode } from 'react';
import { FieldValues } from 'react-hook-form';
export type FormMultiSelectProps<TFieldValues extends FieldValues = FieldValues, TName extends ArrayFieldPath<TFieldValues> = ArrayFieldPath<TFieldValues>, TOptionValue = ArrayPathValue<TFieldValues, TName>, TOption = FormOption<TOptionValue>> = FormOptionsControlProps<TFieldValues, TName, ArrayPathValue<TFieldValues, TName>, TOptionValue, TOption> & Omit<SelectProps, 'onChange' | 'id' | 'name' | 'value' | 'input' | 'defaultValue'> & {
    onChange?: (option: TOption, selected: boolean) => void;
    emptyValueLabel?: string;
    defaultValue?: ArrayPathValue<TFieldValues, TName>[];
    renderSelectedOptions?: (selectedValues: TOption[], emptyValueLabel: string) => ReactNode;
    inputWidth?: InputWidthVariant;
};
export declare const FormMultiSelect: <TFieldValues extends FieldValues = FieldValues, TName extends ArrayFieldPath<TFieldValues> = ArrayFieldPath<TFieldValues>, TOptionValue = ArrayPathValue<TFieldValues, TName>, TOption = FormOption<TOptionValue>>(props: FormMultiSelectProps<TFieldValues, TName, TOptionValue, TOption>) => import("@emotion/react/jsx-runtime").JSX.Element;
