import type { SetupContext } from '@vue/composition-api';
import type { CreateElement } from 'vue';
import type { BaseTableCol, BaseTableColumns, PrimaryTableCol, TableRowData, TypeBaseTableProps } from '../type';
import type { LNodeReturnValue } from '../../../common';
export declare function renderTitle(h: CreateElement, slots: SetupContext['slots'], col: BaseTableColumns[0], index: number): import("vue/types/vnode").ScopedSlotReturnValue;
export default function useTableHeader(props: TypeBaseTableProps): {
    thList: import("@vue/composition-api").ComputedRef<BaseTableCol<TableRowData>[][]>;
    isMultipleHeader: import("@vue/composition-api").ComputedRef<boolean>;
    spansAndLeafNodes: import("@vue/composition-api").ComputedRef<{
        rowspanAndColspanMap: import("../type").ThRowspanAndColspan;
        leafColumns: BaseTableCol<TableRowData>[];
    }>;
    renderTitleWidthIcon: (h: CreateElement, [title, sortIcon, filterIcon]: LNodeReturnValue[], col: PrimaryTableCol<TableRowData>, colIndex: number, ellipsisTitle: BaseTableCol['ellipsisTitle'], attach: HTMLElement, extra?: {
        classPrefix: string;
        ellipsisOverlayClassName: string;
    }) => JSX.Element;
};
