import { ChangeDetectorRef, TemplateRef, AfterViewInit, ElementRef, OnInit, DoCheck } from '@angular/core';
import { IgxColumnComponent } from '../../columns/column.component';
import { IFilteringExpression } from '../../../data-operations/filtering-expression.interface';
import { IBaseChipEventArgs, IgxChipsAreaComponent, IgxChipComponent } from '../../../chips';
import { IgxFilteringService, ExpressionUI } from '../grid-filtering.service';
/**
 * @hidden
 */
export declare class IgxGridFilteringCellComponent implements AfterViewInit, OnInit, DoCheck {
    cdr: ChangeDetectorRef;
    filteringService: IgxFilteringService;
    private baseClass;
    expressionsList: ExpressionUI[];
    moreFiltersCount: number;
    column: IgxColumnComponent;
    protected emptyFilter: TemplateRef<any>;
    protected defaultFilter: TemplateRef<any>;
    protected complexFilter: TemplateRef<any>;
    protected chipsArea: IgxChipsAreaComponent;
    protected moreIcon: ElementRef;
    protected ghostChip: IgxChipComponent;
    protected complexChip: IgxChipComponent;
    get styleClasses(): string;
    constructor(cdr: ChangeDetectorRef, filteringService: IgxFilteringService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngDoCheck(): void;
    /**
     * Returns whether a chip with a given index is visible or not.
     */
    isChipVisible(index: number): boolean;
    /**
     * Updates the filtering cell area.
     */
    updateFilterCellArea(): void;
    get template(): TemplateRef<any>;
    /**
     * Gets the context passed to the filter template.
     * @memberof IgxGridFilteringCellComponent
     */
    get context(): {
        column: IgxColumnComponent;
    };
    /**
     * Chip clicked event handler.
     */
    onChipClicked(expression?: IFilteringExpression): void;
    /**
     * Chip removed event handler.
     */
    onChipRemoved(eventArgs: IBaseChipEventArgs, item: ExpressionUI): void;
    /**
     * Clears the filtering.
     */
    clearFiltering(): void;
    /**
     * Returns the filtering indicator class.
     */
    filteringIndicatorClass(): {
        [x: string]: boolean;
    };
    private removeExpression;
    private isMoreIconHidden;
    private updateVisibleFilters;
}
