import * as React from 'react';
import { ThemedComponentClass } from '@friendsofreactjs/react-css-themr';
export interface Props {
    suggestions: any[];
    onSuggestionsFetchRequested?(props?: any): void;
    onSuggestionsClearRequested?(item?: object): void;
    shouldKeepSuggestionsOnSelect?(): void;
    onSuggestionSelected?(): void;
    onSuggestionHighlighted?(): void;
    renderInputComponent?(): void;
    renderSuggestionsContainer?(): void;
    getSuggestionValue(): void;
    renderSuggestion?: any;
    inputProps?(props: any): void;
    shouldRenderSuggestions?(): void;
    alwaysRenderSuggestions?: boolean;
    multiSection?: boolean;
    getSectionSuggestions?: any;
    focusInputOnSuggestionClick?: boolean;
    highlightFirstSuggestion?: boolean;
    theme?: any;
    id?: string;
    containerProps?: any;
}
export interface State {
}
declare class Autosuggest extends React.Component<Props, State> {
    blurEvent(blurEvent: any, arg1: {
        highlightedSuggestion: any;
    }): void;
    static defaultProps: {
        renderSuggestionsContainer: ({ containerProps, children }: any) => JSX.Element;
        shouldRenderSuggestions: (value: any) => boolean;
        alwaysRenderSuggestions: boolean;
        multiSection: boolean;
        shouldKeepSuggestionsOnSelect: () => boolean;
        focusInputOnSuggestionClick: boolean;
        highlightFirstSuggestion: boolean;
        theme: {
            container: string;
            containerOpen: string;
            input: string;
            inputOpen: string;
            inputFocused: string;
            suggestionsContainer: string;
            suggestionsContainerOpen: string;
            suggestionsList: string;
            suggestion: string;
            suggestionFirst: string;
            suggestionHighlighted: string;
            sectionContainer: string;
            sectionContainerFirst: string;
            sectionTitle: string;
        };
        id: string;
        containerProps: {};
    };
    justPressedUpDown: boolean;
    justMouseEntered: boolean;
    pressedSuggestion: null;
    input: any;
    autowhatever: any;
    suggestionsContainer: any;
    justSelectedSuggestion: any;
    justClickedOnSuggestionsContainer: boolean;
    constructor(props: any);
    componentDidMount(): void;
    UNSAFE_componentWillReceiveProps(nextProps: any): void;
    componentDidUpdate(prevProps: any, prevState: any): void;
    componentWillUnmount(): void;
    updateHighlightedSuggestion(sectionIndex: any, suggestionIndex?: any, prevValue?: any): void;
    resetHighlightedSuggestion(shouldResetValueBeforeUpDown?: boolean): void;
    revealSuggestions(): void;
    closeSuggestions(): void;
    getSuggestion(sectionIndex: any, suggestionIndex: any): any;
    getHighlightedSuggestion(): any;
    getSuggestionValueByIndex(sectionIndex: any, suggestionIndex: any): any;
    getSuggestionIndices(suggestionElement: any): {
        sectionIndex: number | null;
        suggestionIndex: number;
    };
    onDocumentMouseDown: (event: any) => void;
    findSuggestionElement(startNode: any): any;
    maybeCallOnChange(event: any, newValue: any, method: any): void;
    willRenderSuggestions(props: any, reason: any): any;
    storeAutowhateverRef: (autowhatever: any) => void;
    onSuggestionMouseEnter: (event: any, { sectionIndex, itemIndex }: any) => void;
    highlightFirstSuggestion: () => void;
    onDocumentMouseUp: () => void;
    onSuggestionMouseDown: (event: any) => void;
    onSuggestionsClearRequested: () => void;
    onSuggestionSelected: (event: any, data: any) => void;
    onSuggestionClick: (event: any) => void;
    onBlur: () => void;
    onSuggestionMouseLeave: (event: any) => void;
    onSuggestionTouchStart: () => void;
    onSuggestionTouchMove: () => void;
    itemProps: ({ sectionIndex, itemIndex }: any) => {
        'data-section-index': any;
        'data-suggestion-index': any;
        onMouseEnter: (event: any, { sectionIndex, itemIndex }: any) => void;
        onMouseLeave: (event: any) => void;
        onMouseDown: (event: any) => void;
        onTouchStart: () => void;
        onTouchMove: () => void;
        onClick: (event: any) => void;
    };
    getQuery(): any;
    renderSuggestionsContainer: ({ containerProps, children }: any) => any;
    render(): JSX.Element;
}
export { Autosuggest as UnthemedAutosuggest };
declare const _default: ThemedComponentClass<any, any>;
export default _default;
