import { PipeTransform } from '@angular/core';
import { IFilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
import { IFilteringStrategy } from '../../data-operations/filtering-strategy';
import { ISortingExpression } from '../../data-operations/sorting-strategy';
import { GridBaseAPIService } from '../api.service';
import { GridType } from '../common/grid.interface';
import { IGridSortingStrategy } from '../common/strategy';
import { IgxGridBaseDirective } from '../grid-base.directive';
import { IPivotConfiguration, IPivotDimension, IPivotGridColumn, IPivotGridGroupRecord, IPivotGridRecord, IPivotValue } from './pivot-grid.interface';
import * as i0 from "@angular/core";
/**
 * @hidden
 */
export declare class IgxPivotRowPipe implements PipeTransform {
    constructor();
    transform(collection: any, config: IPivotConfiguration, _: Map<any, boolean>, _pipeTrigger?: number, __?: any): IPivotGridRecord[];
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotRowPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<IgxPivotRowPipe, "pivotGridRow", true>;
}
/**
 * @hidden
 * Transforms generic array data into IPivotGridRecord[]
 */
export declare class IgxPivotAutoTransform implements PipeTransform {
    transform(collection: any[], config: IPivotConfiguration, _pipeTrigger?: number, __?: any): IPivotGridRecord[];
    protected isPivotRecord(arg: IPivotGridRecord): arg is IPivotGridRecord;
    protected processCollectionToPivotRecord(config: IPivotConfiguration, collection: any[]): IPivotGridRecord[];
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotAutoTransform, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<IgxPivotAutoTransform, "pivotGridAutoTransform", true>;
}
/**
 * @hidden
 */
export declare class IgxPivotRowExpansionPipe implements PipeTransform {
    private grid?;
    constructor(grid?: GridType);
    transform(collection: IPivotGridRecord[], config: IPivotConfiguration, expansionStates: Map<any, boolean>, defaultExpand: boolean, _pipeTrigger?: number, __?: any): IPivotGridRecord[];
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotRowExpansionPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<IgxPivotRowExpansionPipe, "pivotGridRowExpansion", true>;
}
/**
 * @hidden
 */
export declare class IgxPivotCellMergingPipe implements PipeTransform {
    private grid;
    constructor(grid: GridType);
    transform(collection: IPivotGridRecord[], config: IPivotConfiguration, dim: IPivotDimension, _pipeTrigger?: number): IPivotGridGroupRecord[];
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotCellMergingPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<IgxPivotCellMergingPipe, "pivotGridCellMerging", true>;
}
/**
 * @hidden
 */
export declare class IgxPivotColumnPipe implements PipeTransform {
    transform(collection: IPivotGridRecord[], config: IPivotConfiguration, _: Map<any, boolean>, _pipeTrigger?: number, __?: any): IPivotGridRecord[];
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotColumnPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<IgxPivotColumnPipe, "pivotGridColumn", true>;
}
/**
 * @hidden
 */
export declare class IgxPivotGridFilterPipe implements PipeTransform {
    private gridAPI;
    constructor(gridAPI: GridBaseAPIService<IgxGridBaseDirective & GridType>);
    transform(collection: any[], config: IPivotConfiguration, filterStrategy: IFilteringStrategy, advancedExpressionsTree: IFilteringExpressionsTree, _filterPipeTrigger: number, _pipeTrigger: number): any[];
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotGridFilterPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<IgxPivotGridFilterPipe, "pivotGridFilter", true>;
}
/**
 * @hidden
 */
export declare class IgxPivotGridColumnSortingPipe implements PipeTransform {
    transform(collection: IPivotGridRecord[], expressions: ISortingExpression[], sorting: IGridSortingStrategy, _pipeTrigger: number): IPivotGridRecord[];
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotGridColumnSortingPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<IgxPivotGridColumnSortingPipe, "pivotGridColumnSort", true>;
}
/**
 * @hidden
 */
export declare class IgxPivotGridSortingPipe implements PipeTransform {
    private gridAPI;
    constructor(gridAPI: GridBaseAPIService<IgxGridBaseDirective & GridType>);
    transform(collection: any[], config: IPivotConfiguration, sorting: IGridSortingStrategy, _pipeTrigger: number): any[];
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotGridSortingPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<IgxPivotGridSortingPipe, "pivotGridSort", true>;
}
/**
 * @hidden
 */
export declare class IgxFilterPivotItemsPipe implements PipeTransform {
    transform(collection: (IPivotDimension | IPivotValue)[], filterCriteria: string, _pipeTrigger: number): any[];
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxFilterPivotItemsPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<IgxFilterPivotItemsPipe, "filterPivotItems", true>;
}
export interface GridStyleCSSProperty {
    [prop: string]: any;
}
export declare class IgxPivotGridCellStyleClassesPipe implements PipeTransform {
    transform(cssClasses: GridStyleCSSProperty, _: any, rowData: IPivotGridRecord, columnData: IPivotGridColumn, index: number, __: number): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxPivotGridCellStyleClassesPipe, never>;
    static ɵpipe: i0.ɵɵPipeDeclaration<IgxPivotGridCellStyleClassesPipe, "igxPivotCellStyleClasses", true>;
}
