///
import { ElementRef } from "@angular/core";
import { Feature } from "../feature";
export declare class IgGridFilteringFeature extends Feature {
constructor(el: ElementRef);
/**
* Destroys the filtering widget - remove fitler row, unbinds events, returns the grid to its previous state.
*/
destroy(): void;
/**
* Returns the count of data records that match filtering conditions
*/
getFilteringMatchesCount(): number;
/**
* Toggle filter row when mode is simple or [advancedModeEditorsVisible](ui.iggridfiltering#options:advancedModeEditorsVisible) is true. Otherwise show/hide advanced dialog.
*
* @param event Column key
*/
toggleFilterRowByFeatureChooser(event: string): void;
/**
* Applies filtering programmatically and updates the UI by default.
*
* @param expressions An array of filtering expressions, each one having the format {fieldName: , expr: , cond: , logic: } where fieldName is the key of the column, expr is the actual expression string with which we would like to filter, logic is 'AND' or 'OR', and cond is one of the following strings: "equals", "doesNotEqual", "contains", "doesNotContain", "greaterThan", "lessThan", "greaterThanOrEqualTo", "lessThanOrEqualTo", "true", "false", "null", "notNull", "empty", "notEmpty", "startsWith", "endsWith", "today", "yesterday", "on", "notOn", "thisMonth", "lastMonth", "nextMonth", "before", "after", "thisYear", "lastYear", "nextYear". The difference between the empty and null filtering conditions is that empty includes null, NaN, and undefined, as well as the empty string.
* @param updateUI specifies whether the filter row should be also updated once the grid is filtered
* @param addedFromAdvanced
*/
filter(expressions: any[], updateUI?: boolean, addedFromAdvanced?: boolean): void;
/**
* Check whether filterCondition requires or not filtering expression - e.g. if filterCondition is "lastMonth", "thisMonth", "null", "notNull", "true", "false", etc. then filtering expression is NOT required
*
* @param filterCondition filtering condition - e.g. "true", "false", "yesterday", "empty", "null", etc.
*/
requiresFilteringExpression(filterCondition: string): boolean;
}