import { AfterContentInit, DoCheck, ElementRef, EventEmitter, IterableDiffers, OnDestroy, QueryList, ViewContainerRef } from '@angular/core';
import { EclBaseEvent } from '../../model';
import { ECLBaseDirective } from '../ecl-base.directive';
import * as i0 from "@angular/core";
export declare enum SortOrder {
    DESCENDING = "descending",
    ASCENDING = "ascending"
}
export declare class EclSortTableEvent extends EclBaseEvent {
    sortOrder: SortOrder;
    columnId: string;
    constructor(sortOrder: SortOrder, columnId: string);
}
export declare class EclTableDirective extends ECLBaseDirective {
    private differs;
    isZebra: boolean | any;
    get cssClasses(): string;
    sort: EventEmitter<EclSortTableEvent>;
    eclTableHeaders: QueryList<EclTableHeaderDirective>;
    private destroy$;
    private differ;
    constructor(differs: IterableDiffers);
    ngDoCheck(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EclTableDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EclTableDirective, "[eclTable]", never, { "isZebra": "isZebra"; }, { "sort": "sort"; }, ["eclTableHeaders"], never, false>;
}
export declare class EclTableHeadDirective extends ECLBaseDirective implements OnDestroy, DoCheck {
    private differs;
    get cssClasses(): string;
    eclTableHeaders: QueryList<EclTableHeaderDirective>;
    private destroy$;
    private differ;
    constructor(differs: IterableDiffers);
    ngDoCheck(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EclTableHeadDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EclTableHeadDirective, "[eclTableHead]", never, {}, {}, ["eclTableHeaders"], never, false>;
}
export declare class EclTableHeaderDirective extends ECLBaseDirective implements AfterContentInit {
    private el;
    private viewContainerRef;
    sortOrder: SortOrder;
    eclSortable: string;
    get cssClasses(): string;
    sort: EventEmitter<EclSortTableEvent>;
    constructor(el: ElementRef, viewContainerRef: ViewContainerRef);
    ngAfterContentInit(): void;
    removeAriaSort(): void;
    onClick(evt: any): void;
    private initSortButtons;
    private createIconComponent;
    static ɵfac: i0.ɵɵFactoryDeclaration<EclTableHeaderDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EclTableHeaderDirective, "[eclTableHeader]", never, { "eclSortable": "eclSortable"; }, { "sort": "sort"; }, never, never, false>;
}
export declare class EclTableRowDirective extends ECLBaseDirective {
    get cssClasses(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EclTableRowDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EclTableRowDirective, "[eclTableRow]", never, {}, {}, never, never, false>;
}
export declare class EclTableBodyDirective extends ECLBaseDirective {
    get cssClasses(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EclTableBodyDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EclTableBodyDirective, "[eclTableBody]", never, {}, {}, never, never, false>;
}
export declare class EclTableCellDirective extends ECLBaseDirective {
    eclTableCellHeader: string;
    isGroup: boolean;
    get cssClasses(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EclTableCellDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EclTableCellDirective, "[eclTableCell]", never, { "eclTableCellHeader": "eclTableCellHeader"; "isGroup": "isGroup"; }, {}, never, never, false>;
}
export declare class EclTableCellGroupDirective extends ECLBaseDirective {
    eclTableCellGroup: string;
    get cssClasses(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EclTableCellGroupDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EclTableCellGroupDirective, "[eclTableCellGroup]", never, { "eclTableCellGroup": "eclTableCellGroup"; }, {}, never, never, false>;
}
//# sourceMappingURL=ecl-table.directive.d.ts.map