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