import { PipeTransform } from '@angular/core';
import { GridBaseAPIService } from '../api.service';
import { IgxGridBaseDirective } from '../grid-base.directive';
import { GridType } from './grid.interface';
import { IgxColumnComponent } from '../columns/column.component';
import { ColumnDisplayOrder } from './enums';
import { IgxColumnActionsComponent } from '../column-actions/column-actions.component';
import { IgxGridRow } from '../grid-public-row';
import { IgxTreeGridRowComponent } from '../tree-grid/tree-grid-row.component';
import { IgxGridRowComponent } from '../grid/grid-row.component';
import { IgxHierarchicalRowComponent } from '../hierarchical-grid/hierarchical-row.component';
import { IgxSummaryOperand, IgxSummaryResult } from '../summaries/grid-summary';
interface CSSProp {
    [prop: string]: any;
}
/**
 * @hidden
 * @internal
 */
export declare class IgxGridCellStyleClassesPipe implements PipeTransform {
    transform(cssClasses: CSSProp, _: any, data: any, field: string, index: number, __: number): string;
}
/**
 * @hidden
 * @internal
 */
export declare class IgxGridCellStylesPipe implements PipeTransform {
    transform(styles: CSSProp, _: any, data: any, field: string, index: number, __: number): CSSProp;
}
declare type _RowType = IgxGridRowComponent | IgxTreeGridRowComponent | IgxHierarchicalRowComponent;
/**
 * @hidden
 * @internal
 */
export declare class IgxGridRowClassesPipe implements PipeTransform {
    private gridAPI;
    row: IgxGridRow;
    constructor(gridAPI: GridBaseAPIService<IgxGridBaseDirective & GridType>);
    transform(cssClasses: CSSProp, row: _RowType, editMode: boolean, selected: boolean, dirty: boolean, deleted: boolean, dragging: boolean, index: number, mrl: boolean, filteredOut: boolean, _rowData: any, _: number): Set<string>;
}
/**
 * @hidden
 * @internal
 */
export declare class IgxGridRowStylesPipe implements PipeTransform {
    private gridAPI;
    constructor(gridAPI: GridBaseAPIService<IgxGridBaseDirective & GridType>);
    transform(styles: CSSProp, rowData: any, index: number, __: number): CSSProp;
}
/**
 * @hidden
 * @internal
 */
export declare class IgxGridNotGroupedPipe implements PipeTransform {
    transform(value: any[]): any[];
}
/**
 * @hidden
 * @internal
 */
export declare class IgxGridTopLevelColumns implements PipeTransform {
    transform(value: any[]): any[];
}
/**
 * @hidden
 * @internal
 */
export declare class IgxGridFilterConditionPipe implements PipeTransform {
    transform(value: string): string;
}
/**
 * @hidden
 * @internal
 */
export declare class IgxGridTransactionPipe implements PipeTransform {
    private gridAPI;
    constructor(gridAPI: GridBaseAPIService<IgxGridBaseDirective & GridType>);
    transform(collection: any[], _id: string, _pipeTrigger: number): any[];
}
/**
 * @hidden
 * @internal
 */
export declare class IgxGridPaginatorOptionsPipe implements PipeTransform {
    transform(values: Array<number>): number[];
}
/**
 * @hidden
 * @internal
 */
export declare class IgxHasVisibleColumnsPipe implements PipeTransform {
    transform(values: any[], hasVisibleColumns: any): any[];
}
/**
 * @hidden
 */
export declare class IgxGridRowPinningPipe implements PipeTransform {
    private gridAPI;
    constructor(gridAPI: GridBaseAPIService<IgxGridBaseDirective & GridType>);
    transform(collection: any[], id: string, isPinned: boolean, _pipeTrigger: number): any[];
}
export declare class IgxColumnActionEnabledPipe implements PipeTransform {
    protected columnActions: IgxColumnActionsComponent;
    constructor(columnActions: IgxColumnActionsComponent);
    transform(collection: IgxColumnComponent[], actionFilter: (value: IgxColumnComponent, index: number, array: IgxColumnComponent[]) => boolean, _pipeTrigger: number): IgxColumnComponent[];
}
export declare class IgxFilterActionColumnsPipe implements PipeTransform {
    protected columnActions: IgxColumnActionsComponent;
    constructor(columnActions: IgxColumnActionsComponent);
    transform(collection: IgxColumnComponent[], filterCriteria: string, _pipeTrigger: number): IgxColumnComponent[];
}
export declare class IgxSortActionColumnsPipe implements PipeTransform {
    transform(collection: IgxColumnComponent[], displayOrder: ColumnDisplayOrder, _pipeTrigger: number): IgxColumnComponent[];
}
export declare class IgxGridDataMapperPipe implements PipeTransform {
    transform(data: any[], field: string, _: number, val: any, isNestedPath: boolean): any;
}
export declare class IgxStringReplacePipe implements PipeTransform {
    transform(value: string, search: string | RegExp, replacement: string): string;
}
export declare class IgxGridTransactionStatePipe implements PipeTransform {
    transform(row_id: any, field: string, rowEditable: boolean, transactions: any, _: any, __: any, ___: any): any;
}
export declare class IgxColumnFormatterPipe implements PipeTransform {
    transform(value: any, formatter: (v: any, data: any) => any, rowData: any): any;
}
export declare class IgxSummaryFormatterPipe implements PipeTransform {
    transform(summaryResult: IgxSummaryResult, summaryOperand: IgxSummaryOperand, summaryFormatter: (s: IgxSummaryResult, o: IgxSummaryOperand) => any): any;
}
export declare class IgxGridAddRowPipe implements PipeTransform {
    private gridAPI;
    constructor(gridAPI: GridBaseAPIService<IgxGridBaseDirective & GridType>);
    transform(collection: any, isPinned: boolean, _pipeTrigger: number): any;
}
export declare class IgxHeaderGroupWidthPipe implements PipeTransform {
    transform(width: any, minWidth: any, hasLayout: boolean): string;
}
export declare class IgxHeaderGroupStylePipe implements PipeTransform {
    transform(styles: {
        [prop: string]: any;
    }, column: IgxColumnComponent, _: number): {
        [prop: string]: any;
    };
}
export {};
