import { AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, IterableDiffers, KeyValueDiffers, NgZone, OnChanges, OnDestroy, OnInit, QueryList, SimpleChanges } from '@angular/core';
import { I18nInterface, I18nService } from 'ng-devui/i18n';
import { SortEventArg, TableCheckOptions } from './data-table.model';
import { TableThComponent } from './table/head/th/th.component';
import { DataTableColumnTmplComponent } from './tmpl/data-table-column-tmpl.component';
import * as i0 from "@angular/core";
export declare class DataTableHeadComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy, DoCheck {
    dt: any;
    private zone;
    private element;
    private differs;
    private iterableDiffers;
    private ref;
    private i18n;
    private doc;
    checkable: boolean;
    headerCheckDisabled: boolean;
    headerCheckVisible: boolean;
    checkOptions: TableCheckOptions[];
    showExpandToggle: boolean;
    pageAllChecked: boolean;
    columns: DataTableColumnTmplComponent[];
    multiSort: SortEventArg[];
    resizeable: boolean;
    maxHeight: string;
    showSortIcon: boolean;
    showFilterIcon: boolean;
    colDropFreezeTo: number;
    colDraggable: boolean;
    fixHeader: boolean;
    dataSource: any[];
    tableViewRefElement: ElementRef;
    tableBodyEl: ElementRef;
    checkableColumn: DataTableColumnTmplComponent;
    showExpandToggleColumn: DataTableColumnTmplComponent;
    headClickSortEvent: EventEmitter<SortEventArg>;
    resizeHandlerEvent: EventEmitter<any>;
    halfChecked: boolean;
    childrenTableOpen: boolean;
    beginResizeHandlerEvent: EventEmitter<any>;
    resizingHandlerEvent: EventEmitter<any>;
    dragTableEndEvent: EventEmitter<any>;
    thList: QueryList<TableThComponent>;
    objDiffer: {};
    isDrag: boolean;
    dragBoxLeft: any;
    dragCellRef: HTMLElement;
    searchQuery: {
        [key: string]: any;
    };
    multiSortArray: SortEventArg[];
    sortField: string;
    sortDirection: 'ASC' | 'DESC' | '';
    isDetailOpen: boolean;
    rowItem: any;
    mirror: any;
    bindDrag: any;
    lastDropTarget: any;
    originCellIndex: any;
    lastCellIndex: any;
    originTable: any;
    fixOriginTable: any;
    fakeTable: any;
    mainFakeTable: any;
    classes: {
        originTable: string;
        draggableTable: string;
        dragging: string;
        static: string;
        handle: string;
    };
    el: any;
    grabbed: any;
    source: any;
    item: any;
    initialSibling: any;
    currentSibling: any;
    offsetX: any;
    offsetY: any;
    bodyOverflow: any;
    oldCoord: number;
    mirrorContainer: any;
    rowCount: any;
    rowCountArray: any;
    fixFakeTableEl: any;
    fixTableOffsetTop: any;
    childTables: any[];
    dataSourceChange: boolean;
    scrollViewEl: any;
    scrollViewRect: any;
    fixTableScrollViewEl: any;
    animationRequestId: any;
    colOffset: number;
    secondHeaderOffset: number;
    cellMapOffset: number;
    cellMap: {};
    iterableDiffer: any;
    searchText: string;
    i18nCommonText: I18nInterface['common'];
    filterHalfChecked: boolean;
    filterAllChecked: boolean;
    filterListDisplay: any[];
    isFilterHidden: boolean;
    columnForFilter: any;
    private i18nSubscription;
    checkedListForFilter: any[];
    document: Document;
    documentElement: HTMLElement;
    constructor(dt: any, zone: NgZone, element: ElementRef, differs: KeyValueDiffers, iterableDiffers: IterableDiffers, ref: ChangeDetectorRef, i18n: I18nService, doc: any);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngDoCheck(): void;
    ngAfterViewInit(): void;
    createCellMap(): void;
    ngOnDestroy(): void;
    onHeadClick(event: SortEventArg, column: DataTableColumnTmplComponent): void;
    onCheckAllChange(): void;
    onSearchQueryChange(): void;
    canFilterable(column: DataTableColumnTmplComponent): boolean;
    getIfExistMultiSort(field: any): any;
    getSortDirection(field: any): any;
    onResize($event: any, column: any): void;
    onBeginResize($event: any): void;
    onResizing($event: any, column: any): void;
    initAdvanceHeader(): void;
    trackByFn(index: any, item: any): any;
    onTap(e: any): void;
    handleMousemove: (e: any) => void;
    grab: (e: any) => void;
    startBecauseMouseMoved: (e: any) => void;
    release: (e: any) => void;
    sortColumn: (from: any, to: any) => void;
    sort: ({ list, from, to }: {
        list: any;
        from: any;
        to: any;
    }) => void;
    appendSibling({ target, origin }: {
        target: any;
        origin: any;
    }): void;
    getOffset(el: any): {
        left: any;
        top: any;
    };
    getScroll(scrollProp: any, offsetProp: any): any;
    dispatchMousedown(): void;
    getTouchyEvent(): any;
    removeMirrorImage(): void;
    canStart(item: any): {
        item: any;
        source: any;
    };
    detecteOriginTable(): void;
    rerenderTables: () => void;
    renderFakeTable(): void;
    renderFixFakeTableEl(): void;
    buildFakeTable(table: any): any[];
    renderEl(el: any, originEl: any, fakeTables: any): void;
    sizeColumnFake(fakeTables: any, originEl: any): void;
    css(el: any, cssList: any): any;
    insertBeforeSibling({ target, origin }: {
        target: any;
        origin: any;
    }): void;
    findCellIndex(e: any): {
        x: any;
        y: any;
    };
    renderMirrorImage(target: any): void;
    lookupClass(className: any): any;
    addClass(el: any, className: any): void;
    rmClass(el: any, className: any): void;
    drag: (e: any) => void;
    handleScroll(x: any, y: any, e: any): void;
    moveTarget(container: any, target: any, reference: any): void;
    getParent(el: any): any;
    getEventHost(e: any): any;
    getCoord(coord: any, e: any): any;
    getLongestRow: (table: any) => any;
    getColumnAsTableByIndex(table: any, selectedColIndex: any, colSpan: any, rowSpan: any): any;
    getDataBetween(form: any, end: any): any[];
    getChildTableColumn: (table: any, index: any) => any;
    sizeChildColumnFake(fakeTable: any, originEl: any, index: any): void;
    detecteChildTables: (table: any) => void;
    origin2DragItem(liTable: any): void;
    getElementBehindPoint(point: any, x: any, y: any): Element;
    findDropTarget(elementBehindCursor: any, clientX: any, clientY: any): any;
    getReference: (dropTarget: any, target: any, x: any) => any;
    getRectWidth(rect: any): any;
    getRectHeight(rect: any): any;
    nextEl(el: any): any;
    isInitialPlacement(target: any, s: any): boolean;
    isContainer(el: any): boolean;
    getImmediateChild: (dropTarget: any, target: any) => any;
    animate(prevRect: any, target: any, time: any): void;
    toggleChildrenTable(event: any): void;
    onOptionSelect(option: TableCheckOptions): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DataTableHeadComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DataTableHeadComponent, "d-data-table-head,[dDataTableHead]", never, { "checkable": "checkable"; "headerCheckDisabled": "headerCheckDisabled"; "headerCheckVisible": "headerCheckVisible"; "checkOptions": "checkOptions"; "showExpandToggle": "showExpandToggle"; "pageAllChecked": "pageAllChecked"; "columns": "columns"; "multiSort": "multiSort"; "resizeable": "resizeable"; "maxHeight": "maxHeight"; "showSortIcon": "showSortIcon"; "showFilterIcon": "showFilterIcon"; "colDropFreezeTo": "colDropFreezeTo"; "colDraggable": "colDraggable"; "fixHeader": "fixHeader"; "dataSource": "dataSource"; "tableViewRefElement": "tableViewRefElement"; "tableBodyEl": "tableBodyEl"; "checkableColumn": "checkableColumn"; "showExpandToggleColumn": "showExpandToggleColumn"; "halfChecked": "halfChecked"; "childrenTableOpen": "childrenTableOpen"; }, { "headClickSortEvent": "headClickSortEvent"; "resizeHandlerEvent": "resizeHandlerEvent"; "beginResizeHandlerEvent": "beginResizeHandlerEvent"; "resizingHandlerEvent": "resizingHandlerEvent"; "dragTableEndEvent": "dragTableEndEvent"; }, never, never, false>;
}
