import React, { PureComponent, ReactElement } from 'react'; export interface FilterableListContainerProps { clearButtonInHeader?: boolean; clearButtonLabel?: string; filterTypes?: Array; items?: Array; onClear?: (event?: any) => void; onChange?: (event?: any, value?: string | number) => void; onFilter?: (items: Array, filters: {}) => Array; renderControls: (filterOptions: { [key: string]: any; }, handleFilterChange?: any) => ReactElement; renderItems: (items: Array) => ReactElement; showClearButton?: boolean; title: string; } export interface FilterableListProps extends FilterableListContainerProps { items: Array; className?: string; } export interface FilterableListState { [key: string]: string; } export declare class FilterableList extends PureComponent { static defaultProps: { clearButtonInHeader: boolean; clearButtonLabel: string; filterTypes: string[]; showClearButton: boolean; }; static createClass(props: FilterableListContainerProps): React.ComponentClass; state: { [key: string]: string; }; handlers: { [key: string]: (filterName: string, event: any) => void; }; constructor(props: FilterableListProps); handleFilterChange: (filterName: string, event: any) => void; get filteredItems(): Array; get clearButton(): React.JSX.Element; get showClearButtonInHeader(): boolean; get showClearButtonInline(): boolean; render(): React.JSX.Element; private handleClear; } export default FilterableList;