import { AutocompleteProps as MuiAutocompleteProps } from '@mui/material/Autocomplete';
import { TextFieldProps as MuiTextFieldProps } from '@mui/material/TextField';
import { UseAutocompleteProps as MuiUseAutocompleteProps } from '@mui/material/useAutocomplete';
import { default as React, JSX } from 'react';
import { FieldProps } from 'react-final-form';
import { ShowErrorFunc } from './Util';
export interface AutocompleteData {
    [key: string]: any | null;
}
export interface AutocompleteProps<T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined> extends Omit<MuiAutocompleteProps<T, Multiple, DisableClearable, FreeSolo> & MuiUseAutocompleteProps<T, Multiple, DisableClearable, FreeSolo>, 'renderInput'> {
    fieldProps?: Partial<FieldProps<any, any>>;
    getOptionValue?: (option: T) => any;
    helperText?: React.ReactNode;
    label?: React.ReactNode;
    name: string;
    options: T[];
    required?: boolean;
    showError?: ShowErrorFunc;
    textFieldProps?: Partial<MuiTextFieldProps>;
}
export declare function Autocomplete<T, Multiple extends boolean | undefined, DisableClearable extends boolean | undefined, FreeSolo extends boolean | undefined>({ name, fieldProps, showError, ...rest }: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo>): JSX.Element;
