import { TPagedList, TPagedParams } from '@cromwell/core';
import React from 'react';
declare class Autocomplete<TItemDataType> extends React.Component<{
    loader: (search: string, params?: TPagedParams<TItemDataType>) => Promise<(TPagedList<TItemDataType> | TItemDataType[]) | undefined>;
    itemComponent?: (props: {
        data: TItemDataType;
    }) => JSX.Element;
    getOptionLabel: (data: TItemDataType) => string;
    getOptionValue?: (data: TItemDataType) => string;
    onSelect?: (data: TItemDataType | null) => void;
    className?: string;
    fullWidth?: boolean;
    defaultValue?: TItemDataType;
    label?: string;
    variant?: 'standard' | 'outlined' | 'filled';
}, {
    searchOpen: boolean;
    isLoading: boolean;
    searchItems: TItemDataType[];
    searchText: string;
    pickedText: string;
    defaultValue?: TItemDataType;
}> {
    private searchAnchorRef;
    private listId;
    private listSkeleton;
    constructor(props: any);
    componentDidUpdate(): void;
    private fetchItems;
    private searchRequest;
    private loadMore;
    private handleSearchInput;
    private handleSearchClose;
    private handleItemClick;
    private handleClear;
    render(): JSX.Element;
}
export default Autocomplete;
//# sourceMappingURL=Autocomplete.d.ts.map