import type { CSSProperties, PropType, Ref } from 'vue';
import type { AttachNode } from '../common';
import type { BaseTableCol, TableRowData, TdBaseTableProps } from './type';
import type { RowAndColFixedPosition, ThRowspanAndColspan } from './interface';
export interface TheadProps {
    classPrefix: string;
    ellipsisOverlayClassName: string;
    isFixedHeader: boolean;
    maxHeight?: TdBaseTableProps['maxHeight'];
    height?: TdBaseTableProps['height'];
    rowAndColFixedPosition: RowAndColFixedPosition;
    thWidthList?: {
        [colKey: string]: number;
    };
    bordered?: boolean;
    isMultipleHeader?: boolean;
    thDraggable?: boolean;
    spansAndLeafNodes?: {
        rowspanAndColspanMap: ThRowspanAndColspan;
        leafColumns: BaseTableCol<TableRowData>[];
    };
    thList: BaseTableCol<TableRowData>[][];
    columnResizeParams: {
        resizeLineRef: Ref<HTMLDivElement>;
        resizeLineStyle: CSSProperties;
        onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>, index: number) => void;
    };
    resizable?: Boolean;
    attach?: AttachNode;
    showColumnShadow?: {
        left: boolean;
        right: boolean;
    };
}
declare const _default: import("vue").DefineComponent<{
    classPrefix: StringConstructor;
    ellipsisOverlayClassName: StringConstructor;
    isFixedHeader: BooleanConstructor;
    thDraggable: BooleanConstructor;
    maxHeight: PropType<string | number>;
    height: PropType<string | number>;
    rowAndColFixedPosition: PropType<RowAndColFixedPosition>;
    thWidthList: PropType<{
        [colKey: string]: number;
    }>;
    bordered: BooleanConstructor;
    isMultipleHeader: BooleanConstructor;
    resizable: BooleanConstructor;
    attach: PropType<AttachNode>;
    spansAndLeafNodes: PropType<{
        rowspanAndColspanMap: ThRowspanAndColspan;
        leafColumns: BaseTableCol<TableRowData>[];
    }>;
    thList: PropType<BaseTableCol<TableRowData>[][]>;
    columnResizeParams: PropType<{
        resizeLineRef: Ref<HTMLDivElement>;
        resizeLineStyle: CSSProperties;
        onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>, index: number) => void;
    }>;
    showColumnShadow: PropType<{
        left: boolean;
        right: boolean;
    }>;
}, {
    colspanSkipMap: import("vue").ComputedRef<{
        [key: string]: boolean;
    }>;
    theadClasses: import("vue").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    theadRef: Ref<HTMLHeadElement>;
    slots: Readonly<{
        [name: string]: import("vue").Slot;
    }>;
    getTableNode: (thead: HTMLElement) => HTMLElement;
    classPrefix: string;
    tableBaseClass: {
        table: string;
        columnResizableTable: string;
        overflowVisible: string;
        body: string;
        content: string;
        topContent: string;
        bottomContent: string;
        paginationWrap: string;
        tdLastRow: string;
        tdFirstCol: string;
        thCellInner: string;
        tableRowEdit: string;
        cellEditable: string;
        cellEditWrap: string;
        bordered: string;
        striped: string;
        hover: string;
        loading: string;
        rowspanAndColspan: string;
        empty: string;
        emptyRow: string;
        headerFixed: string;
        columnFixed: string;
        widthOverflow: string;
        multipleHeader: string;
        footerAffixed: string;
        horizontalBarAffixed: string;
        affixedHeader: string;
        affixedHeaderElm: string;
        affixedFooterElm: string;
        affixedFooterWrap: string;
        scrollbarDivider: string;
        fullHeight: string;
        resizeLine: string;
        obviousScrollbar: string;
        affixedHeaderWrap: string;
    };
    tdAlignClasses: {
        left: string;
        right: string;
        center: string;
    };
    tableHeaderClasses: {
        header: string;
        thBordered: string;
        fixed: string;
        multipleHeader: string;
    };
    tableFooterClasses: {
        footer: string;
        fixed: string;
    };
    tableAlignClasses: {
        top: string;
        middle: string;
        bottom: string;
    };
    tableRowFixedClasses: {
        top: string;
        bottom: string;
        firstBottom: string;
        withoutBorderBottom: string;
    };
    tableColFixedClasses: {
        left: string;
        right: string;
        lastLeft: string;
        firstRight: string;
        leftShadow: string;
        rightShadow: string;
    };
    tableLayoutClasses: {
        auto: string;
        fixed: string;
    };
    tdEllipsisClass: string;
    tableFullRowClasses: {
        base: string;
        innerFullRow: string;
        innerFullElement: string;
        firstFullRow: string;
        lastFullRow: string;
    };
    tableExpandClasses: {
        iconBox: string;
        iconCell: string;
        row: string;
        rowInner: string;
        expanded: string;
        collapsed: string;
    };
    tableSortClasses: {
        sortable: string;
        sortColumn: string;
        title: string;
        trigger: string;
        doubleIcon: string;
        sortIcon: string;
        iconDirection: {
            asc: string;
            desc: string;
        };
        iconActive: string;
        iconDefault: string;
    };
    tableSelectedClasses: {
        selected: string;
        disabled: string;
        checkCell: string;
    };
    tableFilterClasses: {
        filterable: string;
        popup: string;
        icon: string;
        popupContent: string;
        result: string;
        inner: string;
        bottomButtons: string;
        contentInner: string;
        iconWrap: string;
    };
    asyncLoadingClass: string;
    isFocusClass: string;
    isLoadingClass: string;
    isLoadMoreClass: string;
    tableTreeClasses: {
        col: string;
        inlineCol: string;
        icon: string;
        leafNode: string;
    };
    tableDraggableClasses: {
        rowDraggable: string;
        rowHandlerDraggable: string;
        colDraggable: string;
        handle: string;
        ghost: string;
        chosen: string;
        dragging: string;
        dragSortTh: string;
    };
    virtualScrollClasses: {
        cursor: string;
        header: string;
    };
    positiveRotate90: string;
    negativeRotate180: string;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    classPrefix: StringConstructor;
    ellipsisOverlayClassName: StringConstructor;
    isFixedHeader: BooleanConstructor;
    thDraggable: BooleanConstructor;
    maxHeight: PropType<string | number>;
    height: PropType<string | number>;
    rowAndColFixedPosition: PropType<RowAndColFixedPosition>;
    thWidthList: PropType<{
        [colKey: string]: number;
    }>;
    bordered: BooleanConstructor;
    isMultipleHeader: BooleanConstructor;
    resizable: BooleanConstructor;
    attach: PropType<AttachNode>;
    spansAndLeafNodes: PropType<{
        rowspanAndColspanMap: ThRowspanAndColspan;
        leafColumns: BaseTableCol<TableRowData>[];
    }>;
    thList: PropType<BaseTableCol<TableRowData>[][]>;
    columnResizeParams: PropType<{
        resizeLineRef: Ref<HTMLDivElement>;
        resizeLineStyle: CSSProperties;
        onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>, index: number) => void;
    }>;
    showColumnShadow: PropType<{
        left: boolean;
        right: boolean;
    }>;
}>>, {
    bordered: boolean;
    resizable: boolean;
    thDraggable: boolean;
    isFixedHeader: boolean;
    isMultipleHeader: boolean;
}>;
export default _default;
