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