import React, { Component } from "react"; import { IntlShape } from "react-intl"; interface IInvertableListRenderItemProps { isSelected: boolean; item: T; onSelect: (item: T) => void; onSelectOnly: (item: T) => void; } interface IInvertableListProps { width: number; height: number; itemHeight: number; items: T[]; selectedItems?: T[]; itemsCount: number; filteredItemsCount: number; maxSelectionSize: number; renderItem: (props: IInvertableListRenderItemProps) => React.ReactNode; renderLimitHit?: (props: { limit: number; bounce: boolean; }) => React.ReactNode; renderNoItems?: (props: { height: number; }) => React.ReactNode; renderLoading?: (props: { height: number; }) => React.ReactNode; intl: IntlShape; getItemKey?: (item: T) => string; className?: string; isInverted?: boolean; isLoading?: boolean; isMobile?: boolean; noItemsFound?: boolean; showSearchField?: boolean; smallSearch?: boolean; actionsAsCheckboxes?: boolean; searchPlaceholder?: string; searchString?: string; tagName?: string; onSearch: (searchString: string) => void; onSelect?: (items: T[], selectAll: boolean) => void; onScrollEnd?: (visibleRowsStartIndex: number, visibleRowsEndIndex: number) => void; } interface IInvertableListState { notifyLimitHit: boolean; } export declare class InvertableList extends Component, IInvertableListState> { static defaultProps: Partial>; constructor(props: any); render(): JSX.Element; private onSelect; private onSelectAll; private onSelectNone; private onSelectOnly; /** * Remove selected visible items from selection. */ private shrinkSelection; private intersectItems; private subtractItems; private indexByKey; private toggleItemInSelection; /** * Add unselected visible items to the selection until selection size limit is reached. */ private growSelection; /** * If change in selection happens to select all or unselect all items it is converted * to the respective empty selectionj. */ private notifyUpstreamOfSelectionChange; private isItemChecked; private renderLimitHitWarning; private renderSearchField; private renderList; private renderListOrNoItems; private renderLoading; } declare const _default: React.FunctionComponent> & { WrappedComponent: React.ComponentType; }; export default _default;