import React from 'react';
import { AutocompleteProps as JoyAutocompleteProps } from '@mui/joy';
interface AutocompleteOption {
    value: string;
    label: string;
    secondaryText?: string;
    startDecorator?: React.ReactNode;
    endDecorator?: React.ReactNode;
}
type AutocompleteValue<Multiple extends boolean | undefined = false> = Multiple extends true ? string[] : string;
export type AutocompleteProps<T extends AutocompleteOption | string = string, Multiple extends boolean | undefined = false> = {
    value?: AutocompleteValue<Multiple>;
    defaultValue?: AutocompleteValue<Multiple>;
    multiple?: Multiple;
    options: T[];
    label?: React.ReactNode;
    error?: boolean;
    helperText?: React.ReactNode;
    onChange?: (event: {
        target: {
            name?: string;
            value?: AutocompleteValue<Multiple>;
        };
    }) => void;
    onChangeComplete?: (event: {
        target: {
            name?: string;
            value?: AutocompleteValue<Multiple>;
        };
    }) => void;
} & Omit<JoyAutocompleteProps<AutocompleteOption, Multiple, boolean, boolean>, 'onChange' | 'value' | 'options' | 'defaultValue'>;
declare function Autocomplete<T extends AutocompleteOption | string, Multiple extends boolean | undefined = false>(props: AutocompleteProps<T, Multiple>): React.JSX.Element;
declare namespace Autocomplete {
    var displayName: string;
}
export { Autocomplete };
