import { PipeTransform } from '@angular/core';
import { GridBaseAPIService } from '../api.service';
import { BaseFilteringStrategy, IFilteringStrategy } from '../../data-operations/filtering-strategy';
import { IFilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
import { ITreeGridRecord } from './tree-grid.interfaces';
import { IgxGridBaseDirective } from '../grid';
import { GridType } from '../common/grid.interface';
/** @hidden */
export declare class TreeGridFilteringStrategy extends BaseFilteringStrategy {
    filter(data: ITreeGridRecord[], expressionsTree: IFilteringExpressionsTree, advancedExpressionsTree?: IFilteringExpressionsTree): ITreeGridRecord[];
    private filterImpl;
    protected getFieldValue(rec: object, fieldName: string): any;
}
/** @hidden */
export declare class IgxTreeGridFilteringPipe implements PipeTransform {
    private gridAPI;
    constructor(gridAPI: GridBaseAPIService<IgxGridBaseDirective & GridType>);
    transform(hierarchyData: ITreeGridRecord[], expressionsTree: IFilteringExpressionsTree, filterStrategy: IFilteringStrategy, advancedFilteringExpressionsTree: IFilteringExpressionsTree, id: string, pipeTrigger: number, filteringPipeTrigger: number, pinned?: any): ITreeGridRecord[];
    private resetFilteredOutProperty;
    private expandAllRecursive;
    private updateNonProcessedRecord;
    private filter;
}
