import * as React from 'react';
import { ThemedComponentClass } from '@friendsofreactjs/react-css-themr';
export declare type Mode = 'collapsible' | 'multiple';
export declare type ItemType = 'Accordian' | 'Tabuler';
export interface PopoverItemProps {
    type?: any;
    key?: string;
    value: any;
    column?: any;
    renderer?(value: any, type?: string): React.ReactElement<any>;
}
export interface ServerSort {
    field: string;
    order: string;
    callback?(field: string, order: string, sortBy: string): void;
}
export interface Props {
    currentValue?: string;
    items: PopoverItemProps[];
    label: string;
    style?: any;
    suffix?: any;
    loading?: boolean;
    onSelect?(item: any): void;
    onChangeText?(value: string): void;
    onRemove?(value: string): void;
    sortEntity?(field: string, order: string, sortBy: string): void;
    theme?: any;
    defaultSelectedItems?: any;
    noOptionsMessage?: string;
    disabled?: boolean;
}
interface State {
    chipListState: any[];
    items: PopoverItemProps[];
    initialItems: PopoverItemProps[];
    anchorEl?: HTMLElement;
    selectedValue: string;
    popoverWidth: string;
    isEmpty: boolean;
    serverSort: ServerSort;
}
declare class PopoverPicker extends React.PureComponent<Props, State> {
    private getUniqueID;
    private id;
    wrapperRef: HTMLDivElement;
    constructor(props: Props);
    sortEntity: (field: string, order: string, sortBy: string) => void;
    componentWillReceiveProps(nextProps: any): void;
    setWrapperRef: (node: any) => void;
    addRenderer: (items: any, cloneItems: any) => any;
    onChange: (value: string, event: React.FormEvent<HTMLElement>) => void;
    handleClick: (value: string | any) => void;
    updateList: (input: any) => void;
    chipRemove: (item: any) => void;
    onKeyDown: (e: KeyboardEvent) => void;
    render(): JSX.Element;
}
export { PopoverPicker as UnthemedPopoverPicker };
declare const _default: ThemedComponentClass<Props, State>;
export default _default;
