import { AutocompleteProps, TextFieldProps } from '@mui/material';
import { ReactNode } from 'react';
import { Control, FieldPath, FieldValues, RegisterOptions } from 'react-hook-form';
export type RhfAutocompleteProps<T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = Omit<AutocompleteProps<T, Multiple, DisableClearable, FreeSolo>, "error" | "onChange" | "onBlur" | "value" | "renderInput"> & {
    control: Control<TFieldValues>;
    name: TName;
    rules?: Omit<RegisterOptions<NoInfer<TFieldValues>, NoInfer<TName>>, "valueAsNumber" | "valueAsDate" | "setValueAs" | "disabled">;
    textFieldProps?: Omit<TextFieldProps, "error" | "onChange" | "onBlur" | "value" | "inputRef">;
    valueToOption?: (value: unknown) => T | undefined | null;
    optionToValue?: (option: T) => unknown;
};
declare const RhfAutocomplete: <T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined, TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ control, name, rules, textFieldProps, multiple, valueToOption, optionToValue, loading, ...rest }: RhfAutocompleteProps<T, Multiple, DisableClearable, FreeSolo, TFieldValues, TName>) => ReactNode;
export default RhfAutocomplete;
