import * as React from 'react';
import { FixedSizeList } from 'react-window';
import { AutocompleteLabeledOption, AutocompleteOption, SelectedIndex } from '../../../models/Autocomplete';
type AutocompleteListProps<T extends string, Multiple extends boolean | undefined, Option = AutocompleteOption<T>> = {
    /**
     * The available options to be shown on dropdown
     */
    options: readonly Option[];
    filteredOptions: AutocompleteLabeledOption<T>[];
    /**
     * Whether the autocomplete options are loading or not. Use only on initial load or if using async search approach
     */
    isLoading?: boolean;
    /**
     * Custom text to be shown when autocomplete options are loading by the `isLoading` prop.
     */
    loadingText?: string;
    /**
     * Custom text to be shown when no options are available to be selected.
     */
    noOptionsText?: string;
    /**
     * Custom text to be shown when allowFreeText feature is enabled and written text is a new value to add.
     */
    addNewValueText?: string;
    inputContainerRef: React.RefObject<HTMLDivElement | null>;
    virtualListRef: React.RefObject<FixedSizeList<unknown> | null>;
    isOpen: boolean;
    selectedIndex: SelectedIndex<Multiple>;
    highlightedIndex: number;
    onAddSelectedValue: (event: React.MouseEvent<HTMLElement, MouseEvent>, option: AutocompleteLabeledOption<T>) => void;
    onClickAwayPopover: (event: React.MouseEvent<HTMLElement, MouseEvent>) => void;
};
export declare const AUTOCOMPLETE_ITEM_HEIGHT = 44;
/**
 * Powered autocomplete list.
 */
declare const AutocompleteList: <T extends string, Multiple extends boolean | undefined = undefined>({ options, isLoading, loadingText, noOptionsText, addNewValueText, inputContainerRef, isOpen, selectedIndex, highlightedIndex, virtualListRef, filteredOptions, onAddSelectedValue, onClickAwayPopover }: AutocompleteListProps<T, Multiple>) => import("react/jsx-runtime").JSX.Element;
export default AutocompleteList;
