import type { AnyObject } from '../../../_util/type'; import type { ColumnsType, ColumnType, FilterKey, FilterValue, GetPopupContainer, Key, TableLocale, TransformColumns } from '../../interface'; import { flattenKeys } from './FilterDropdown'; export interface FilterState { column: ColumnType; key: Key; filteredKeys?: FilterKey; forceFiltered?: boolean; } export declare const getFilterData: (data: RecordType[], filterStates: FilterState[], childrenColumnName: string) => RecordType[]; export interface FilterConfig { prefixCls: string; dropdownPrefixCls: string; mergedColumns: ColumnsType; locale: TableLocale; onFilterChange: (filters: Record, filterStates: FilterState[]) => void; getPopupContainer?: GetPopupContainer; rootClassName?: string; } declare const useFilter: (props: FilterConfig) => [TransformColumns, FilterState[], Record]; export { flattenKeys }; export default useFilter;