export declare type ListItemProps<TItemData extends {
    id: number | string;
}> = {
    handleItemClick: (data: TItemData) => any;
    getOptionLabel: (data: TItemData) => string;
    getOptionValue?: (data: TItemData) => string;
    pickedItems?: string[];
    multiple?: boolean;
    ItemComponent?: (props: {
        data: TItemData;
    }) => JSX.Element;
    addMultiSelectListener: (id: string, listener: (pickedItems: string[]) => any) => any;
    removeMultiSelectListener: (id: string) => any;
};
export declare type TListItem = <TItemData extends {
    id: number | string;
}>(props: {
    data?: TItemData;
    listItemProps: ListItemProps<TItemData>;
}) => JSX.Element;
export declare const ListItem: TListItem;
