import { PropType } from 'vue';
import { BaseTableProps, RowAndColFixedPosition } from './interface';
import { TdBaseTableProps } from './type';
import { VirtualScrollConfig } from '../hooks/useVirtualScrollNew';
export declare const ROW_AND_TD_LISTENERS: string[];
export interface TableBodyProps extends BaseTableProps {
    classPrefix: string;
    ellipsisOverlayClassName: string;
    rowAndColFixedPosition: RowAndColFixedPosition;
    showColumnShadow: {
        left: boolean;
        right: boolean;
    };
    tableElm: any;
    tableWidth: number;
    isWidthOverflow: boolean;
    virtualConfig: VirtualScrollConfig;
    tableContentElm: any;
    cellEmptyContent: TdBaseTableProps['cellEmptyContent'];
    handleRowMounted: (rowData: any) => void;
}
export declare const extendTableProps: string[];
declare const _default: import("vue").DefineComponent<{
    allowResizeColumnWidth?: {
        type: BooleanConstructor;
        default: any;
    };
    attach?: {
        type: PropType<import("../common").AttachNode>;
    };
    bordered?: BooleanConstructor;
    bottomContent?: {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
    };
    cellEmptyContent?: {
        type: PropType<string | ((h: typeof import("vue").h, props: import("./type").BaseTableCellParams<import("./type").TableRowData>) => import("../common").SlotReturnValue)>;
    };
    columns: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]> | {
        type: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]>;
        default: () => import("./type").BaseTableCol<import("./type").TableRowData>[];
    };
    data: PropType<import("./type").TableRowData[]> | {
        type: PropType<import("./type").TableRowData[]>;
        default: () => import("./type").TableRowData[];
    };
    disableDataPage?: BooleanConstructor;
    empty?: {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
        default: string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
    };
    firstFullRow: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)> | {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
    };
    fixedRows?: {
        type: PropType<number[]>;
    };
    footData?: {
        type: PropType<import("./type").TableRowData[]>;
        default: () => import("./type").TableRowData[];
    };
    footerAffixProps?: {
        type: PropType<Partial<import("..").TdAffixProps>>;
    };
    footerAffixedBottom?: {
        type: PropType<boolean | Partial<import("..").TdAffixProps>>;
        default: boolean | Partial<import("..").TdAffixProps>;
    };
    footerSummary?: {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
    };
    headerAffixProps?: {
        type: PropType<Partial<import("..").TdAffixProps>>;
    };
    headerAffixedTop?: {
        type: PropType<boolean | Partial<import("..").TdAffixProps>>;
        default: boolean | Partial<import("..").TdAffixProps>;
    };
    height?: {
        type: PropType<string | number>;
    };
    horizontalScrollAffixedBottom?: {
        type: PropType<boolean | Partial<import("..").TdAffixProps>>;
    };
    hover?: BooleanConstructor;
    lastFullRow: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)> | {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
    };
    lazyLoad?: BooleanConstructor;
    loading?: {
        type: PropType<boolean | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
        default: boolean | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
    };
    loadingProps?: {
        type: PropType<Partial<import("..").TdLoadingProps>>;
    };
    maxHeight?: {
        type: PropType<string | number>;
    };
    pagination?: {
        type: PropType<import("..").TdPaginationProps>;
    };
    paginationAffixedBottom?: {
        type: PropType<boolean | Partial<import("..").TdAffixProps>>;
    };
    resizable?: BooleanConstructor;
    rowAttributes?: {
        type: PropType<import("./type").TableRowAttributes<import("./type").TableRowData>>;
    };
    rowClassName?: {
        type: PropType<import("../common").ClassName | ((params: import("./type").RowClassNameParams<import("./type").TableRowData>) => import("../common").ClassName)>;
    };
    rowKey?: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    rowspanAndColspan?: {
        type: PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
    };
    rowspanAndColspanInFooter?: {
        type: PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
    };
    scroll?: {
        type: PropType<import("../common").TScroll>;
    };
    showHeader?: {
        type: BooleanConstructor;
        default: boolean;
    };
    size?: {
        type: PropType<import("../common").SizeEnum>;
        default: import("../common").SizeEnum;
        validator(val: import("../common").SizeEnum): boolean;
    };
    stripe?: BooleanConstructor;
    tableContentWidth?: {
        type: StringConstructor;
        default: string;
    };
    tableLayout?: {
        type: PropType<"fixed" | "auto">;
        default: "fixed" | "auto";
        validator(val: "fixed" | "auto"): boolean;
    };
    topContent?: {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
    };
    verticalAlign?: {
        type: PropType<"top" | "bottom" | "middle">;
        default: "top" | "bottom" | "middle";
        validator(val: "top" | "bottom" | "middle"): boolean;
    };
    onCellClick?: PropType<(context: import("./type").BaseTableCellEventContext<import("./type").TableRowData>) => void>;
    onColumnResizeChange?: PropType<(context: {
        columnsWidth: {
            [colKey: string]: number;
        };
    }) => void>;
    onPageChange?: PropType<(pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void>;
    onRowClick?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowDblclick?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMousedown?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseenter?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseleave?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseover?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseup?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onScroll?: PropType<(params: {
        e: WheelEvent;
    }) => void>;
    onScrollX?: PropType<(params: {
        e: WheelEvent;
    }) => void>;
    onScrollY?: PropType<(params: {
        e: WheelEvent;
    }) => void>;
    classPrefix: StringConstructor;
    ellipsisOverlayClassName: StringConstructor;
    rowAndColFixedPosition: PropType<RowAndColFixedPosition>;
    showColumnShadow: PropType<{
        left: boolean;
        right: boolean;
    }>;
    tableElm: {};
    tableWidth: NumberConstructor;
    isWidthOverflow: BooleanConstructor;
    virtualConfig: PropType<{
        visibleData: import("vue").Ref<any[]>;
        translateY: import("vue").Ref<number>;
        scrollHeight: import("vue").Ref<number>;
        isVirtualScroll: import("vue").ComputedRef<boolean>;
        handleScroll: () => void;
        handleRowMounted: (rowData: any) => void;
        scrollToElement: (p: import("../hooks/useVirtualScrollNew").ScrollToElementParams) => void;
    }>;
    tableContentElm: {};
    handleRowMounted: PropType<(rowData: any) => void>;
    renderExpandedRow: PropType<(params: import("./type").TableExpandedRowParams<import("./type").TableRowData>) => import("../common").SlotReturnValue>;
}, {
    t: <T>(pattern: T, ...args: any[]) => any;
    globalConfig: import("vue").ComputedRef<import("..").TableConfig>;
    renderTNode: (name: string, options?: import("../utils/render-tnode").OptionsType) => any;
    tableFullRowClasses: {
        base: string;
        innerFullRow: string;
        innerFullElement: string;
        firstFullRow: string;
        lastFullRow: string;
    };
    tbodyClasses: import("vue").ComputedRef<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;
    };
    skipSpansMap: import("vue").Ref<Map<string, import("./hooks/useRowspanAndColspan").SkipSpansValue>>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    allowResizeColumnWidth?: {
        type: BooleanConstructor;
        default: any;
    };
    attach?: {
        type: PropType<import("../common").AttachNode>;
    };
    bordered?: BooleanConstructor;
    bottomContent?: {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
    };
    cellEmptyContent?: {
        type: PropType<string | ((h: typeof import("vue").h, props: import("./type").BaseTableCellParams<import("./type").TableRowData>) => import("../common").SlotReturnValue)>;
    };
    columns: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]> | {
        type: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]>;
        default: () => import("./type").BaseTableCol<import("./type").TableRowData>[];
    };
    data: PropType<import("./type").TableRowData[]> | {
        type: PropType<import("./type").TableRowData[]>;
        default: () => import("./type").TableRowData[];
    };
    disableDataPage?: BooleanConstructor;
    empty?: {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
        default: string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
    };
    firstFullRow: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)> | {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
    };
    fixedRows?: {
        type: PropType<number[]>;
    };
    footData?: {
        type: PropType<import("./type").TableRowData[]>;
        default: () => import("./type").TableRowData[];
    };
    footerAffixProps?: {
        type: PropType<Partial<import("..").TdAffixProps>>;
    };
    footerAffixedBottom?: {
        type: PropType<boolean | Partial<import("..").TdAffixProps>>;
        default: boolean | Partial<import("..").TdAffixProps>;
    };
    footerSummary?: {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
    };
    headerAffixProps?: {
        type: PropType<Partial<import("..").TdAffixProps>>;
    };
    headerAffixedTop?: {
        type: PropType<boolean | Partial<import("..").TdAffixProps>>;
        default: boolean | Partial<import("..").TdAffixProps>;
    };
    height?: {
        type: PropType<string | number>;
    };
    horizontalScrollAffixedBottom?: {
        type: PropType<boolean | Partial<import("..").TdAffixProps>>;
    };
    hover?: BooleanConstructor;
    lastFullRow: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)> | {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
    };
    lazyLoad?: BooleanConstructor;
    loading?: {
        type: PropType<boolean | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
        default: boolean | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
    };
    loadingProps?: {
        type: PropType<Partial<import("..").TdLoadingProps>>;
    };
    maxHeight?: {
        type: PropType<string | number>;
    };
    pagination?: {
        type: PropType<import("..").TdPaginationProps>;
    };
    paginationAffixedBottom?: {
        type: PropType<boolean | Partial<import("..").TdAffixProps>>;
    };
    resizable?: BooleanConstructor;
    rowAttributes?: {
        type: PropType<import("./type").TableRowAttributes<import("./type").TableRowData>>;
    };
    rowClassName?: {
        type: PropType<import("../common").ClassName | ((params: import("./type").RowClassNameParams<import("./type").TableRowData>) => import("../common").ClassName)>;
    };
    rowKey?: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    rowspanAndColspan?: {
        type: PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
    };
    rowspanAndColspanInFooter?: {
        type: PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
    };
    scroll?: {
        type: PropType<import("../common").TScroll>;
    };
    showHeader?: {
        type: BooleanConstructor;
        default: boolean;
    };
    size?: {
        type: PropType<import("../common").SizeEnum>;
        default: import("../common").SizeEnum;
        validator(val: import("../common").SizeEnum): boolean;
    };
    stripe?: BooleanConstructor;
    tableContentWidth?: {
        type: StringConstructor;
        default: string;
    };
    tableLayout?: {
        type: PropType<"fixed" | "auto">;
        default: "fixed" | "auto";
        validator(val: "fixed" | "auto"): boolean;
    };
    topContent?: {
        type: PropType<string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue)>;
    };
    verticalAlign?: {
        type: PropType<"top" | "bottom" | "middle">;
        default: "top" | "bottom" | "middle";
        validator(val: "top" | "bottom" | "middle"): boolean;
    };
    onCellClick?: PropType<(context: import("./type").BaseTableCellEventContext<import("./type").TableRowData>) => void>;
    onColumnResizeChange?: PropType<(context: {
        columnsWidth: {
            [colKey: string]: number;
        };
    }) => void>;
    onPageChange?: PropType<(pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void>;
    onRowClick?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowDblclick?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMousedown?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseenter?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseleave?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseover?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseup?: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onScroll?: PropType<(params: {
        e: WheelEvent;
    }) => void>;
    onScrollX?: PropType<(params: {
        e: WheelEvent;
    }) => void>;
    onScrollY?: PropType<(params: {
        e: WheelEvent;
    }) => void>;
    classPrefix: StringConstructor;
    ellipsisOverlayClassName: StringConstructor;
    rowAndColFixedPosition: PropType<RowAndColFixedPosition>;
    showColumnShadow: PropType<{
        left: boolean;
        right: boolean;
    }>;
    tableElm: {};
    tableWidth: NumberConstructor;
    isWidthOverflow: BooleanConstructor;
    virtualConfig: PropType<{
        visibleData: import("vue").Ref<any[]>;
        translateY: import("vue").Ref<number>;
        scrollHeight: import("vue").Ref<number>;
        isVirtualScroll: import("vue").ComputedRef<boolean>;
        handleScroll: () => void;
        handleRowMounted: (rowData: any) => void;
        scrollToElement: (p: import("../hooks/useVirtualScrollNew").ScrollToElementParams) => void;
    }>;
    tableContentElm: {};
    handleRowMounted: PropType<(rowData: any) => void>;
    renderExpandedRow: PropType<(params: import("./type").TableExpandedRowParams<import("./type").TableRowData>) => import("../common").SlotReturnValue>;
}>>, {
    tableLayout?: "fixed" | "auto";
    verticalAlign?: "top" | "bottom" | "middle";
    loading?: boolean | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
    size?: import("../common").SizeEnum;
    empty?: string | ((h: typeof import("vue").h) => import("../common").SlotReturnValue);
    hover?: boolean;
    lazyLoad?: boolean;
    bordered?: boolean;
    stripe?: boolean;
    allowResizeColumnWidth?: boolean;
    disableDataPage?: boolean;
    footData?: import("./type").TableRowData[];
    footerAffixedBottom?: boolean | Partial<import("..").TdAffixProps>;
    headerAffixedTop?: boolean | Partial<import("..").TdAffixProps>;
    resizable?: boolean;
    rowKey?: string;
    showHeader?: boolean;
    tableContentWidth?: string;
    isWidthOverflow: boolean;
}, {}>;
export default _default;
