import { ReactNode } from 'react';
import { Filters, FilterItem } from '../../interfaces';
import { TablePipeline } from '../pipeline';
export interface FilterFeatureOptions {
    /** (非受控用法) 默认的过滤字段列表 */
    defaultFilters?: Filters;
    /** (受控用法) 过滤字段列表 */
    filters?: Filters;
    /** 更新过滤字段列表的回调函数 */
    onChangeFilters?(nextFilters: Filters, currentFilter: FilterItem): void;
    /** 是否保持 dataSource 不变 */
    keepDataSource?: boolean;
    /** 过滤模式。单列过滤 single，多列过滤 multiple，默认为多选 */
    mode?: 'single' | 'multiple';
    /** 过滤图标 */
    filterIcon?: ReactNode | ((filtered: boolean) => ReactNode);
    /** 是否对触发弹出过滤面板 的 click 事件调用 event.stopPropagation() */
    stopClickEventPropagation?: boolean;
    /** 是否隐藏过滤弹出菜单header区域 */
    hideFilterPopupHeader?: boolean;
}
export declare function filter(opts?: FilterFeatureOptions): (pipeline: TablePipeline) => TablePipeline;
