import { IterableDiffers, TemplateRef } from '@angular/core';
import { ElCellDefDirective, ElFooterCellDefDirective, ElHeaderCellDefDirective } from '../cdk/table/cell';
import { ElFooterRowDefDirective, ElHeaderRowDefDirective, ElRowDefDirective } from '../cdk/table/row';
import { ElColumnsService } from './tree-grid-columns.service';
export interface ElTreeGridResponsiveRowDef {
    hideColumn(column: string): any;
    showColumn(column: string): any;
}
/**
 * Data row definition for the tree-grid.
 * Captures the header row's template and columns to display.
 */
export declare class ElTreeGridRowDefDirective<T> extends ElRowDefDirective<T> implements ElTreeGridResponsiveRowDef {
    private columnsService;
    /**
     * Columns to be displayed on this row
     */
    columns: Iterable<string>;
    constructor(template: TemplateRef<any>, differs: IterableDiffers, columnsService: ElColumnsService);
    /** @docs-private */
    hideColumn(column: string): void;
    /** @docs-private */
    showColumn(column: string): void;
}
export declare class ElTreeGridHeaderRowDefDirective extends ElHeaderRowDefDirective implements ElTreeGridResponsiveRowDef {
    private columnsService;
    /**
     * Columns to be displayed on this row
     */
    columns: Iterable<string>;
    constructor(template: TemplateRef<any>, differs: IterableDiffers, columnsService: ElColumnsService);
    /** @docs-private */
    hideColumn(column: string): void;
    /** @docs-private */
    showColumn(column: string): void;
}
export declare class ElTreeGridFooterRowDefDirective extends ElFooterRowDefDirective implements ElTreeGridResponsiveRowDef {
    private columnsService;
    /**
     * Columns to be displayed on this row
     */
    columns: Iterable<string>;
    constructor(template: TemplateRef<any>, differs: IterableDiffers, columnsService: ElColumnsService);
    /** @docs-private */
    hideColumn(column: string): void;
    /** @docs-private */
    showColumn(column: string): void;
}
/**
 * Cell definition for a el-table.
 * Captures the template of a column's data row cell as well as cell-specific properties.
 */
export declare class ElTreeGridCellDefDirective extends ElCellDefDirective {
}
/**
 * Header cell definition for the el-table.
 * Captures the template of a column's header cell and as well as cell-specific properties.
 */
export declare class ElTreeGridHeaderCellDefDirective extends ElHeaderCellDefDirective {
}
/**
 * Footer cell definition for the el-table.
 * Captures the template of a column's footer cell and as well as cell-specific properties.
 */
export declare class ElTreeGridFooterCellDefDirective extends ElFooterCellDefDirective {
}
