import type { ListTable, PivotTable, TYPES } from '@visactor/vtable';
import type { FilterState, FilterOptions } from './types';
export declare class FilterEngine {
    filterFuncRule: (TYPES.FilterFuncRule & {
        fieldId?: string;
    })[];
    filterValueRule: TYPES.FilterValueRule[];
    private pluginOptions;
    constructor(filterPluginOptions: FilterOptions);
    applyFilter(state: FilterState, table: ListTable | PivotTable): void;
    private createFilterFunction;
    private compareValues;
    clearAllFilter(table: ListTable | PivotTable): void;
    clearFilter(table: ListTable | PivotTable, fieldId: string | number): void;
}
