import React from 'react';
import { CollectionState, Filter, FiltersMap, KeyedItem } from '@wix/bex-core';
import { AutoCompleteProps, DropdownLayoutOption } from '@wix/design-system';
import { ListItem } from '../../hooks';
import { SingleSelectFilterBaseProps } from '../SingleSelectFilterBase';
import { FilterProps } from '../../model';
export type KeyedItemOption<T> = DropdownLayoutOption & {
    keyedItem: KeyedItem<T>;
};
export interface CollectionAutoCompleteProps<V, F extends FiltersMap> extends Omit<AutoCompleteProps, 'options'>, FilterProps<V[]> {
    /**
     * [ArrayFilter](./?path=/story/features-filter-factories--arrayfilter) state object
     */
    filter: Filter<V[]>;
    /**
     * Function that returns a [ListItemSelectProps](https://www.docs.wixdesignsystem.com/?path=/story/components-form-dropdownlistitems--listitemselect) extended by `{section?: string}`.
     */
    renderItem?: (item: V, index: number) => ListItem;
    /**
     * A function that returns  [ListItemSectionProps](https://www.docs.wixdesignsystem.com/?path=/story/components-form-dropdownlistitems--listitemsection) <br/>
     * According to make it works you need return `sectionId` in `renderItem` method. <br/>
     * ⚠️ Server should return section items sorted by sections in strict order. Otherwise, when using infinite scrolling the behavior of the sections will be unexpected. <br/>
     * (Optional)
     */
    renderSection?: SingleSelectFilterBaseProps<V>['renderSection'];
    /**
     * A collection state object to fetch the dropdown items.<br>
     * Typically, a collection created using [useFilterCollection](./?path=/story/features-filter-hooks--usefiltercollection) hook.
     */
    collection: CollectionState<V, F>;
}
declare function _CollectionAutoComplete<V, F extends FiltersMap>(props: CollectionAutoCompleteProps<V, F>): React.JSX.Element;
export declare const CollectionAutoComplete: typeof _CollectionAutoComplete & {
    displayName: string;
};
export {};
//# sourceMappingURL=CollectionAutoComplete.d.ts.map