import { PropType } from '@vue/composition-api';
import { RowAndColFixedPosition, ThRowspanAndColspan } from './interface';
import { BaseTableCol, TableRowData, TdBaseTableProps } from './type';
import { AttachNode } from '../common';
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?: {
        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").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    colspanSkipMap: import("@vue/composition-api").ComputedRef<{
        [key: string]: boolean;
    }>;
    theadRef: import("@vue/composition-api").Ref<HTMLHeadElement>;
    theadClasses: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    slots: Readonly<{
        [name: string]: (...args: any[]) => import("vue").VNode[];
    }>;
    getTableNode: (thead: HTMLElement) => HTMLElement;
    classPrefix: string;
    tableBaseClass: {
        table: (string | {
            [x: string]: boolean;
        })[];
        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;
        footerSummary: 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;
        rowExpanded: string;
        rowFolded: 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;
        inputFilter: 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;
}> & import("@vue/composition-api").Data, {}, {}, {
    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;
    spansAndLeafNodes: PropType<{
        rowspanAndColspanMap: ThRowspanAndColspan;
        leafColumns: BaseTableCol<TableRowData>[];
    }>;
    thList: PropType<BaseTableCol<TableRowData>[][]>;
    columnResizeParams: PropType<{
        onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>, index: number) => void;
    }>;
    attach: PropType<AttachNode>;
    showColumnShadow: PropType<{
        left: boolean;
        right: boolean;
    }>;
}, import("@vue/composition-api").ExtractPropTypes<{
    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;
    spansAndLeafNodes: PropType<{
        rowspanAndColspanMap: ThRowspanAndColspan;
        leafColumns: BaseTableCol<TableRowData>[];
    }>;
    thList: PropType<BaseTableCol<TableRowData>[][]>;
    columnResizeParams: PropType<{
        onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>, index: number) => void;
    }>;
    attach: PropType<AttachNode>;
    showColumnShadow: PropType<{
        left: boolean;
        right: boolean;
    }>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    bordered: boolean;
    resizable: boolean;
    thDraggable: boolean;
    isFixedHeader: boolean;
    isMultipleHeader: boolean;
} & {
    height?: string | number;
    maxHeight?: string | number;
    attach?: AttachNode;
    showColumnShadow?: {
        left: boolean;
        right: boolean;
    };
    ellipsisOverlayClassName?: string;
    rowAndColFixedPosition?: RowAndColFixedPosition;
    thWidthList?: {
        [colKey: string]: number;
    };
    spansAndLeafNodes?: {
        rowspanAndColspanMap: ThRowspanAndColspan;
        leafColumns: BaseTableCol<TableRowData>[];
    };
    thList?: BaseTableCol<TableRowData>[][];
    columnResizeParams?: {
        onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>, index: number) => void;
    };
}, import("@vue/composition-api").ShallowUnwrapRef<{
    colspanSkipMap: import("@vue/composition-api").ComputedRef<{
        [key: string]: boolean;
    }>;
    theadRef: import("@vue/composition-api").Ref<HTMLHeadElement>;
    theadClasses: import("@vue/composition-api").ComputedRef<(string | {
        [x: string]: boolean;
    })[]>;
    slots: Readonly<{
        [name: string]: (...args: any[]) => import("vue").VNode[];
    }>;
    getTableNode: (thead: HTMLElement) => HTMLElement;
    classPrefix: string;
    tableBaseClass: {
        table: (string | {
            [x: string]: boolean;
        })[];
        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;
        footerSummary: 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;
        rowExpanded: string;
        rowFolded: 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;
        inputFilter: 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;
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    bordered: boolean;
    resizable: boolean;
    thDraggable: boolean;
    isFixedHeader: boolean;
    isMultipleHeader: boolean;
} & {
    height?: string | number;
    maxHeight?: string | number;
    attach?: AttachNode;
    showColumnShadow?: {
        left: boolean;
        right: boolean;
    };
    ellipsisOverlayClassName?: string;
    rowAndColFixedPosition?: RowAndColFixedPosition;
    thWidthList?: {
        [colKey: string]: number;
    };
    spansAndLeafNodes?: {
        rowspanAndColspanMap: ThRowspanAndColspan;
        leafColumns: BaseTableCol<TableRowData>[];
    };
    thList?: BaseTableCol<TableRowData>[][];
    columnResizeParams?: {
        onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>, index: number) => void;
    };
}, {
    bordered: boolean;
    resizable: boolean;
    thDraggable: boolean;
    isFixedHeader: boolean;
    isMultipleHeader: boolean;
}, true>);
export default _default;
