import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, OnChanges, OnDestroy, Renderer2, SimpleChanges, TemplateRef } from '@angular/core';
import { Observable, Subscription } from 'rxjs';
import { FilterConfig, SortDirection, SortEventArg } from '../../../data-table.model';
import * as i0 from "@angular/core";
export declare class TableThComponent implements OnChanges, OnDestroy {
    private renderer2;
    private zone;
    private cdr;
    private doc;
    resizeEnabledClass: boolean;
    operableClass: boolean;
    sortActiveClass: boolean;
    filterActiveClass: boolean;
    stickyLeftClass: boolean;
    stickyRightClass: boolean;
    stickyLeftStyle: string;
    stickyRightStyle: string;
    resizeEnabled: boolean;
    filterable: boolean;
    beforeFilter: (value: any) => boolean | Promise<boolean> | Observable<boolean>;
    customFilterTemplate: TemplateRef<any>;
    extraFilterTemplate: TemplateRef<any>;
    searchFn: (term: string) => Observable<Array<any>>;
    showFilterIcon: boolean;
    filterList: Array<FilterConfig>;
    filterIconActive: boolean;
    filterMultiple: boolean;
    closeFilterWhenScroll: boolean;
    filterBoxWidth: any;
    filterBoxHeight: any;
    filterChange: EventEmitter<FilterConfig[]>;
    filterToggle: EventEmitter<{
        isOpen: boolean;
        checklist: FilterConfig[];
    }>;
    sortable: boolean;
    sortDirection: SortDirection;
    showSortIcon: boolean;
    sortDirectionChange: EventEmitter<SortDirection>;
    sortChange: EventEmitter<SortEventArg>;
    colDraggable: boolean;
    nestedColumn: boolean;
    iconFoldTable: string;
    iconUnFoldTable: string;
    tableViewRefElement: ElementRef;
    resizeEndEvent: EventEmitter<any>;
    resizeStartEvent: EventEmitter<any>;
    resizingEvent: EventEmitter<any>;
    minWidth: string;
    maxWidth: string;
    fixedLeft: string;
    fixedRight: string;
    isLastFixedLeft: boolean;
    isFirstFixedRight: boolean;
    resizeBarRefElement: HTMLElement;
    element: HTMLElement;
    subscription: Subscription;
    resizing: boolean;
    resizeNodeEvent: any;
    resizeOverlay: HTMLElement;
    nextElement: any;
    initialWidth: number;
    totalWidth: number;
    mouseDownScreenX: number;
    resizeHandleElement: HTMLElement;
    tableElement: HTMLElement;
    childrenTableOpen: boolean;
    toggleChildrenTableEvent: EventEmitter<boolean>;
    tapEvent: EventEmitter<any>;
    column: any;
    document: Document;
    constructor(element: ElementRef, renderer2: Renderer2, zone: NgZone, cdr: ChangeDetectorRef, doc: any);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    onFilterIconActive(active: any): void;
    onTap(event: any): void;
    toggleChildrenTable(): void;
    emitFilterData(filterData: any): void;
    emitFilterToggle(data: {
        isOpen: boolean;
        checklist: FilterConfig[];
    }): void;
    onSort(event: SortEventArg): void;
    clearSortOrder(): void;
    onMousedown(event: MouseEvent): void;
    onMouseup(event: MouseEvent): void;
    bindMousemove: (e: any) => void;
    move(event: MouseEvent): void;
    private getFinalWidth;
    private handleWidth;
    private _destroySubscription;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableThComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableThComponent, "[dHeadCell]", never, { "resizeEnabled": "resizeEnabled"; "filterable": "filterable"; "beforeFilter": "beforeFilter"; "customFilterTemplate": "customFilterTemplate"; "extraFilterTemplate": "extraFilterTemplate"; "searchFn": "searchFn"; "showFilterIcon": "showFilterIcon"; "filterList": "filterList"; "filterIconActive": "filterIconActive"; "filterMultiple": "filterMultiple"; "closeFilterWhenScroll": "closeFilterWhenScroll"; "filterBoxWidth": "filterBoxWidth"; "filterBoxHeight": "filterBoxHeight"; "sortable": "sortable"; "sortDirection": "sortDirection"; "showSortIcon": "showSortIcon"; "colDraggable": "colDraggable"; "nestedColumn": "nestedColumn"; "iconFoldTable": "iconFoldTable"; "iconUnFoldTable": "iconUnFoldTable"; "tableViewRefElement": "tableViewRefElement"; "minWidth": "minWidth"; "maxWidth": "maxWidth"; "fixedLeft": "fixedLeft"; "fixedRight": "fixedRight"; "isLastFixedLeft": "isLastFixedLeft"; "isFirstFixedRight": "isFirstFixedRight"; "childrenTableOpen": "childrenTableOpen"; "column": "column"; }, { "filterChange": "filterChange"; "filterToggle": "filterToggle"; "sortDirectionChange": "sortDirectionChange"; "sortChange": "sortChange"; "resizeEndEvent": "resizeEndEvent"; "resizeStartEvent": "resizeStartEvent"; "resizingEvent": "resizingEvent"; "toggleChildrenTableEvent": "toggleChildrenTableEvent"; "tapEvent": "tapEvent"; }, never, ["*"], false>;
}
