import React, { Component, MouseEventHandler } from 'react'; import { ColumnProps, TableStateFilters } from './interface'; import { LabeledValue, OptionProps } from '../select'; export declare const VALUE_OR = "OR"; export interface FilterSelectProps { prefixCls?: string; placeholder?: string; dataSource?: T[]; filters?: string[]; columnFilters?: TableStateFilters; columns?: ColumnProps[]; onFilter?: (column: ColumnProps, nextFilters: string[]) => void; onChange?: (filters?: any[]) => void; onClear?: () => void; multiple?: boolean; getPopupContainer?: (triggerNode?: Element) => HTMLElement; } export interface FilterSelectState { columns: ColumnProps[]; filters: string[]; columnFilters: TableStateFilters; selectColumn?: ColumnProps; inputValue: string; checked: any[]; } export default class FilterSelect extends Component, FilterSelectState> { constructor(props: any); state: FilterSelectState; rcSelect: any; columnRefs: any; componentWillReceiveProps(nextProps: FilterSelectProps): void; getPrefixCls(): string; handleDropdownMouseDown: MouseEventHandler; render(): JSX.Element; renderColumnsTitle(): JSX.Element[]; isMultiple(): boolean | undefined; saveRef: (node: any) => void; saveColumnRef: (key: string | number, node: any) => void; handleInputKeyDown: (e: any) => void; handleInput: (value: string) => void; handleChoiceItemClick: ({ key }: LabeledValue) => void; handleSelect: ({ key }: LabeledValue) => boolean; handleMultiCheckConfirm: () => void; handleClear: () => void; handleChange: (changedValue: LabeledValue[]) => void; fireChange(filters: any[]): void; fireColumnFilterChange(columnKey: string | number, value: any[]): void; changeValue(changedValue: LabeledValue[], oldValue: any[]): string[]; getColumnFiltersValues(): any[]; getValue(): ("" | { key: string; label: ({} | null | undefined)[]; })[]; getInputFilterOptions(inputValue: string): React.ReactElement React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>[]; getOptions(): any[] | null | undefined; getColumnsWidthFilters(props?: Readonly> & Readonly<{ children?: React.ReactNode; }>): ColumnProps[]; findColumn(myKey: string | number): ColumnProps | undefined; toValueString: (item: any) => "" | { key: string; label: ({} | null | undefined)[]; }; getRootDomNode: () => HTMLElement; getColumnTitle(column: ColumnProps): string; }