import { HTMLAttributes } from 'react';
import { Except } from 'type-fest';
import { AutocompleteItemType } from './autocomplete-item';
import '../styles/components/dropdown.scss';
import '../styles/components/autocomplete.scss';
export declare const filterOptions: (items: AutocompleteItemType[], query: string) => AutocompleteItemType[];
export declare const shouldShowDropdown: (textInputValue: string, data: AutocompleteItemType[], selected: boolean, filter: boolean, minCharsToShowDropdown: number) => boolean;
type AutocompleteProps = {
    data: AutocompleteItemType[];
    onSelect: (selected: AutocompleteItemType | string) => void;
    onChange?: (textInput: string) => void;
    onDropdownChange?: (dropdownShown: boolean) => void;
    clearOnSelect?: boolean;
    placeholder?: string;
    filter?: boolean;
    value?: string;
    minCharsToShowDropdown?: number;
    isLoading?: boolean;
    autoFocus?: boolean;
};
type Props = Except<HTMLAttributes<HTMLDivElement>, 'onSelect' | 'onChange'> & AutocompleteProps;
declare const Autocomplete: ({ data, onSelect, onChange, onDropdownChange, clearOnSelect, placeholder, filter, value, minCharsToShowDropdown, isLoading, autoFocus, className, ...props }: Props) => import("react/jsx-runtime").JSX.Element;
export default Autocomplete;
