import { CdkHeaderCell } from "@angular/cdk/table";
import { AfterViewInit, ElementRef, NgZone, OnChanges, OnDestroy, OnInit, SimpleChanges } from "@angular/core";
import { IDragEvent } from "../../../common/directives/public-api";
import { UtilService } from "../../../services/util.service";
import { ITableSortingState, TableStateHandlerService } from "../table-state-handler.service";
import { TableAlignmentOptions } from "../types";
import { TableColumnDefDirective } from "./table-column-def.directive";
import * as i0 from "@angular/core";
/**
 * @ignore
 */
export declare class TableHeaderCellComponent extends CdkHeaderCell implements OnInit, OnChanges, AfterViewInit, OnDestroy {
    private columnDef;
    private elementRef;
    private tableStateHandlerService;
    private utilService;
    private zone;
    alignment: TableAlignmentOptions;
    tooltipText: string;
    isColumnSortingDisabled: boolean;
    currentCellIndex: number;
    private resizeInProgress;
    private isCursorInCell;
    private resizeEventPhase;
    private subscriptions;
    resizable: boolean;
    sortingState: ITableSortingState;
    get isIconCell(): boolean;
    /**
     * Conditionally applies a fixed-width marker class for letting external entities
     * know whether manual updates to the cell's width are allowed.
     */
    get fixedWidth(): boolean;
    get shouldBeDarkOnSorting(): boolean;
    get shouldBeDarkOnReorder(): boolean;
    get isSortable(): boolean;
    get isColumnSorted(): boolean;
    get isReorderable(): boolean;
    get tooltip(): string;
    leftEdgeActive: boolean;
    rightEdgeActive: boolean;
    mouseMovedOver(): void;
    mouseMovedOut(): void;
    clicked(): void;
    dragStarted(event: IDragEvent): void;
    dropped(event: IDragEvent): void;
    dragEnd(event: IDragEvent): void;
    constructor(columnDef: TableColumnDefDirective, elementRef: ElementRef, tableStateHandlerService: TableStateHandlerService, utilService: UtilService, zone: NgZone);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    isColumnResizable(): boolean;
    onColumnWidthChange(offset: number): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableHeaderCellComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableHeaderCellComponent, "nui-header-cell, th[nui-header-cell]", never, { "alignment": "alignment"; "tooltipText": "tooltipText"; "isColumnSortingDisabled": "isColumnSortingDisabled"; }, {}, never, ["*"], false, never>;
}
