import { ElementRef } from '@angular/core';
import { Feature } from '../feature';
import * as i0 from "@angular/core";
export declare class IgGridFilteringFeature extends Feature<IgGridFiltering> {
    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 specifies whether the filter is added from advanced filtering
     */
    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;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgGridFilteringFeature, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgGridFilteringFeature, "filtering", never, { "disabled": { "alias": "disabled"; "required": false; }; "create": { "alias": "create"; "required": false; }; "caseSensitive": { "alias": "caseSensitive"; "required": false; }; "filterSummaryAlwaysVisible": { "alias": "filterSummaryAlwaysVisible"; "required": false; }; "renderFC": { "alias": "renderFC"; "required": false; }; "filterSummaryTemplate": { "alias": "filterSummaryTemplate"; "required": false; }; "filterDropDownAnimations": { "alias": "filterDropDownAnimations"; "required": false; }; "filterDropDownAnimationDuration": { "alias": "filterDropDownAnimationDuration"; "required": false; }; "filterDropDownWidth": { "alias": "filterDropDownWidth"; "required": false; }; "filterDropDownHeight": { "alias": "filterDropDownHeight"; "required": false; }; "filterExprUrlKey": { "alias": "filterExprUrlKey"; "required": false; }; "filterDropDownItemIcons": { "alias": "filterDropDownItemIcons"; "required": false; }; "columnSettings": { "alias": "columnSettings"; "required": false; }; "type": { "alias": "type"; "required": false; }; "filterDelay": { "alias": "filterDelay"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "advancedModeEditorsVisible": { "alias": "advancedModeEditorsVisible"; "required": false; }; "advancedModeHeaderButtonLocation": { "alias": "advancedModeHeaderButtonLocation"; "required": false; }; "filterDialogWidth": { "alias": "filterDialogWidth"; "required": false; }; "filterDialogHeight": { "alias": "filterDialogHeight"; "required": false; }; "filterDialogFilterDropDownDefaultWidth": { "alias": "filterDialogFilterDropDownDefaultWidth"; "required": false; }; "filterDialogExprInputDefaultWidth": { "alias": "filterDialogExprInputDefaultWidth"; "required": false; }; "filterDialogColumnDropDownDefaultWidth": { "alias": "filterDialogColumnDropDownDefaultWidth"; "required": false; }; "renderFilterButton": { "alias": "renderFilterButton"; "required": false; }; "filterButtonLocation": { "alias": "filterButtonLocation"; "required": false; }; "nullTexts": { "alias": "nullTexts"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "tooltipTemplate": { "alias": "tooltipTemplate"; "required": false; }; "filterDialogAddConditionTemplate": { "alias": "filterDialogAddConditionTemplate"; "required": false; }; "filterDialogAddConditionDropDownTemplate": { "alias": "filterDialogAddConditionDropDownTemplate"; "required": false; }; "filterDialogFilterTemplate": { "alias": "filterDialogFilterTemplate"; "required": false; }; "filterDialogFilterConditionTemplate": { "alias": "filterDialogFilterConditionTemplate"; "required": false; }; "filterDialogAddButtonWidth": { "alias": "filterDialogAddButtonWidth"; "required": false; }; "filterDialogOkCancelButtonWidth": { "alias": "filterDialogOkCancelButtonWidth"; "required": false; }; "filterDialogMaxFilterCount": { "alias": "filterDialogMaxFilterCount"; "required": false; }; "filterDialogContainment": { "alias": "filterDialogContainment"; "required": false; }; "showEmptyConditions": { "alias": "showEmptyConditions"; "required": false; }; "showNullConditions": { "alias": "showNullConditions"; "required": false; }; "featureChooserText": { "alias": "featureChooserText"; "required": false; }; "featureChooserTextHide": { "alias": "featureChooserTextHide"; "required": false; }; "featureChooserTextAdvancedFilter": { "alias": "featureChooserTextAdvancedFilter"; "required": false; }; "dialogWidget": { "alias": "dialogWidget"; "required": false; }; "persist": { "alias": "persist"; "required": false; }; "inherit": { "alias": "inherit"; "required": false; }; }, { "dataFiltering": "dataFiltering"; "dataFiltered": "dataFiltered"; "dropDownOpening": "dropDownOpening"; "dropDownOpened": "dropDownOpened"; "dropDownClosing": "dropDownClosing"; "dropDownClosed": "dropDownClosed"; "filterDialogOpening": "filterDialogOpening"; "filterDialogOpened": "filterDialogOpened"; "filterDialogMoving": "filterDialogMoving"; "filterDialogFilterAdding": "filterDialogFilterAdding"; "filterDialogFilterAdded": "filterDialogFilterAdded"; "filterDialogClosing": "filterDialogClosing"; "filterDialogClosed": "filterDialogClosed"; "filterDialogContentsRendering": "filterDialogContentsRendering"; "filterDialogContentsRendered": "filterDialogContentsRendered"; "filterDialogFiltering": "filterDialogFiltering"; }, never, never, false, never>;
}
