import { EventEmitter, OnInit, TemplateRef } from '@angular/core';
import { TableColumn } from '../../types/table-column.type';
import { HeaderCellContext, InnerSortEvent, SelectionType, SortDirection, SortPropDir, SortType } from '../../types/public.types';
import * as i0 from "@angular/core";
export declare class DataTableHeaderCellComponent implements OnInit {
    private cd;
    sortType: SortType;
    sortAscendingIcon: string;
    sortDescendingIcon: string;
    sortUnsetIcon: string;
    isTarget: boolean;
    targetMarkerTemplate: TemplateRef<any>;
    targetMarkerContext: any;
    enableClearingSortState: boolean;
    _allRowsSelected: boolean;
    set allRowsSelected(value: boolean);
    get allRowsSelected(): boolean;
    selectionType: SelectionType;
    set column(column: TableColumn);
    get column(): TableColumn;
    headerHeight: number;
    set sorts(val: SortPropDir[]);
    get sorts(): SortPropDir[];
    sort: EventEmitter<InnerSortEvent>;
    select: EventEmitter<void>;
    columnContextmenu: EventEmitter<{
        event: MouseEvent;
        column: TableColumn;
    }>;
    get columnCssClasses(): string;
    get name(): string;
    get minWidth(): number;
    get maxWidth(): number;
    get width(): number;
    get tabindex(): number;
    get isCheckboxable(): boolean;
    sortClass: string;
    sortDir: SortDirection;
    cellContext: HeaderCellContext;
    private _column;
    private _sorts;
    constructor();
    onContextmenu($event: MouseEvent): void;
    enter(): void;
    ngOnInit(): void;
    calcSortDir(sorts: SortPropDir[]): any;
    private totalSortStatesApplied;
    onSort(): void;
    calcSortClass(sortDir: SortDirection): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<DataTableHeaderCellComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DataTableHeaderCellComponent, "datatable-header-cell", never, { "sortType": { "alias": "sortType"; "required": false; }; "sortAscendingIcon": { "alias": "sortAscendingIcon"; "required": false; }; "sortDescendingIcon": { "alias": "sortDescendingIcon"; "required": false; }; "sortUnsetIcon": { "alias": "sortUnsetIcon"; "required": false; }; "isTarget": { "alias": "isTarget"; "required": false; }; "targetMarkerTemplate": { "alias": "targetMarkerTemplate"; "required": false; }; "targetMarkerContext": { "alias": "targetMarkerContext"; "required": false; }; "enableClearingSortState": { "alias": "enableClearingSortState"; "required": false; }; "allRowsSelected": { "alias": "allRowsSelected"; "required": false; }; "selectionType": { "alias": "selectionType"; "required": false; }; "column": { "alias": "column"; "required": false; }; "headerHeight": { "alias": "headerHeight"; "required": false; }; "sorts": { "alias": "sorts"; "required": false; }; }, { "sort": "sort"; "select": "select"; "columnContextmenu": "columnContextmenu"; }, never, never, true, never>;
}
