import { ChangeDetectorRef, DoCheck, ElementRef, OnDestroy, OnInit, QueryList } from '@angular/core';
import { Subscription } from 'rxjs';
import { DataType } from '../data-operations/data-util';
import { IgxToggleDirective } from '../directives/toggle/toggle.directive';
import { IgxGridAPIService } from './api.service';
import { IgxButtonGroupComponent } from '../buttonGroup/buttonGroup.component';
import { IgxGridFilterExpressionComponent } from './grid-filtering-expression.component';
import { IFilteringExpression } from '../data-operations/filtering-expression.interface';
export declare class IgxGridFilterComponent implements OnInit, OnDestroy, DoCheck {
    gridAPI: IgxGridAPIService;
    cdr: ChangeDetectorRef;
    private elementRef;
    column: any;
    readonly dataType: DataType;
    readonly filterCSS: string;
    readonly gridID: string;
    readonly styleClasses: string;
    dialogShowing: boolean;
    filteringLogicOptions: any[];
    isSecondConditionVisible: boolean;
    protected chunkLoaded: Subscription;
    protected columnMoving: Subscription;
    private MINIMUM_VIABLE_SIZE;
    private _secondExpression;
    private _overlaySettings;
    protected toggleDirective: IgxToggleDirective;
    protected expressionsList: QueryList<IgxGridFilterExpressionComponent>;
    protected logicOperators: IgxButtonGroupComponent;
    constructor(gridAPI: IgxGridAPIService, cdr: ChangeDetectorRef, elementRef: ElementRef);
    ngOnInit(): void;
    ngDoCheck(): void;
    ngOnDestroy(): void;
    refresh(): void;
    clearFiltering(): void;
    onSelectLogicOperator(event: any): void;
    onUnSelectLogicOperator(event: any): void;
    readonly disabled: boolean;
    onIconClick(eventArgs: any): void;
    onClick(event: any): void;
    onExpressionChanged(expression: IFilteringExpression): void;
    protected isFilteringApplied(): boolean;
    private _createNewExpression(expression);
    private _filter();
}
