import * as React from 'react';
import { ThemedComponentClass } from '@friendsofreactjs/react-css-themr';
import * as Autosuggest from 'react-autosuggest';
export interface IStateProps {
    chipListState: any[];
    suggestions: Autosuggest[];
    inputProps: Autosuggest.InputProps;
    value?: string;
    listType?: any;
}
export interface IRenderSuggestionProp {
    isHighlighted: string;
    query: string;
}
export interface IAutoSuggestMethods {
    onSuggestionsClearRequested(item: object): void;
    getSuggestions(value: string): any[];
    getSuggestionValue(suggestion: object): void;
    onBlur(event: React.FormEvent<any>): void;
    onChange(event: React.FormEvent<any>, { newValue, method }: Autosuggest.ChangeEvent): void;
    onFocus(event: React.FormEvent<any>): void;
    onKeyDown(e: React.FormEvent<Element> | KeyboardEvent): void;
    onSuggestionsFetchRequested({ value }: Autosuggest.SuggestionsFetchRequest): void;
    onSuggestionSelected(event: any, { suggestion }: Autosuggest.SuggestionSelectedEventData<Autosuggest>): void;
    chipRemove(item: any | number): void;
    renderSuggestion(suggestion: any, { isHighlighted, query }: IRenderSuggestionProp): JSX.Element;
    storeInputReference(autosuggest: Autosuggest): void;
    updateList(input: HTMLElement): void;
    storeFocus(e: HTMLElement): void;
    onChangeText?(valaue: string): void;
    sortEntity?(field: string, order: string, sortBy: string): void;
}
export declare type Type = 'hide' | 'mark';
export interface State {
    people: string;
    searchItems: any[];
    selectedItems: any[];
    moreInfo: boolean;
    value: string;
    input: HTMLElement[];
    suggestions: Autosuggest[];
    chipListState: any[];
    focusArr: HTMLElement[];
    itemsList: any[];
    focused: number;
    number: number;
    isFocused: boolean;
    hasValue: boolean;
}
export interface Props {
    filterPlaceHolder?: string;
    helpText?: React.ReactNode;
    label?: string;
    labelHidden?: boolean;
    loading?: boolean;
    disabled?: boolean;
    maxSelectedItems?: number;
    minSelectedItems?: number;
    chipComponent?: React.ReactNode;
    searchResultComponent?: React.ReactNode;
    noOptionsMessage?: string;
    source: any[];
    style?: React.CSSProperties;
    theme?: any;
    searchBehavior?(): void;
    onSelect?(item: any): void;
    onChangeText?(valaue: string): void;
    sortEntity?(field: string, order: string, sortBy: string): void;
    onRemove?(item: any): void;
    onMoreInfo?(): void;
    suffix?: string;
    defaultSelectedItems?: any[];
    componentId?: string;
    listType?: any;
}
declare class PopoverPicker extends React.PureComponent<Props, State> {
    private getUniqueID;
    private id;
    constructor(props: Props);
    componentWillReceiveProps(newProps: Props): void;
    render(): JSX.Element;
    private handleChange;
}
export { PopoverPicker as UnthemedPopoverPicker };
declare const _default: ThemedComponentClass<Props, State>;
export default _default;
