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