import { PropType } from '@vue/composition-api';
import { CreateElement } from 'vue';
import { TableRowData } from './type';
import { BaseTableProps, RowAndColFixedPosition } from './interface';
export declare const ROW_AND_TD_LISTENERS: string[];
export interface TableBodyProps extends BaseTableProps {
    rowAndColFixedPosition: RowAndColFixedPosition;
    showColumnShadow: {
        left: boolean;
        right: boolean;
    };
    tableElm: HTMLDivElement;
    tableWidth: number;
    isWidthOverflow: boolean;
    translateY: number;
    scrollType: string;
    isVirtual: boolean;
    rowHeight: number;
    trs: Map<number, object>;
    bufferSize: number;
    tableContentElm: HTMLDivElement;
    handleRowMounted: () => void;
}
export declare const extendTableProps: string[];
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    t: <T>(pattern: T, ...args: any[]) => any;
    global: import("@vue/composition-api").ComputedRef<import("..").TableConfig>;
    tableFullRowClasses: {
        base: string;
        innerFullRow: string;
        innerFullElement: string;
        firstFullRow: string;
        lastFullRow: string;
    };
    tbodyClasses: import("@vue/composition-api").ComputedRef<string[]>;
    tableBaseClass: {
        table: string;
        overflowVisible: string;
        body: string;
        content: string;
        topContent: string;
        bottomContent: string;
        tdLastRow: string;
        tdFirstCol: string;
        thCellInner: 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;
        affixedHeader: string;
        affixedHeaderElm: string;
        affixedFooterElm: string;
        affixedFooterWrap: string;
        scrollbarDivider: string;
        fullHeight: string;
        resizeLine: string;
    };
    isFixedLeftColumn: import("@vue/composition-api").ComputedRef<boolean>;
    renderTNode: (name: string, options?: import("../hooks/render-tnode").OptionsType) => any;
    getTrListeners: () => {
        [eventName: string]: (e: MouseEvent) => void;
    };
}> & import("@vue/composition-api").Data, {}, {}, {
    allowResizeColumnWidth?: BooleanConstructor;
    bordered?: BooleanConstructor;
    bottomContent?: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    columns: {
        type: import("vue").PropType<import("./type").BaseTableCol<TableRowData>[]>;
        default: () => import("./type").BaseTableCol<TableRowData>[];
    } | PropType<import("./type").BaseTableCol<TableRowData>[]>;
    data: {
        type: import("vue").PropType<TableRowData[]>;
        default: () => TableRowData[];
    } | PropType<TableRowData[]>;
    disableDataPage?: BooleanConstructor;
    empty?: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: string;
    };
    firstFullRow: PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)> | {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    fixedRows?: {
        type: import("vue").PropType<number[]>;
    };
    footData?: {
        type: import("vue").PropType<TableRowData[]>;
        default: () => TableRowData[];
    };
    footerAffixedBottom?: BooleanConstructor;
    footerAffixProps?: {
        type: import("vue").PropType<import("..").TdAffixProps>;
    };
    headerAffixedTop?: BooleanConstructor;
    headerAffixProps?: {
        type: import("vue").PropType<import("..").TdAffixProps>;
    };
    height?: {
        type: import("vue").PropType<string | number>;
    };
    hover?: BooleanConstructor;
    lastFullRow: PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)> | {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    loading?: {
        type: import("vue").PropType<boolean | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: any;
    };
    loadingProps?: {
        type: import("vue").PropType<import("..").TdLoadingProps>;
    };
    maxHeight?: {
        type: import("vue").PropType<string | number>;
    };
    pagination?: {
        type: import("vue").PropType<import("..").TdPaginationProps>;
    };
    rowAttributes?: {
        type: import("vue").PropType<import("./type").TableRowAttributes<TableRowData>>;
    };
    rowClassName?: {
        type: import("vue").PropType<import("../common").ClassName | ((params: import("./type").RowClassNameParams<TableRowData>) => import("../common").ClassName)>;
    };
    rowKey?: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    rowspanAndColspan?: {
        type: import("vue").PropType<import("./type").TableRowspanAndColspanFunc<TableRowData>>;
    };
    scroll?: {
        type: import("vue").PropType<import("./type").TableScroll>;
    };
    size?: {
        type: import("vue").PropType<import("../common").SizeEnum>;
        default: import("../common").SizeEnum;
        validator(val: import("../common").SizeEnum): boolean;
    };
    stripe?: BooleanConstructor;
    tableContentWidth?: {
        type: StringConstructor;
        default: string;
    };
    tableLayout?: {
        type: import("vue").PropType<"fixed" | "auto">;
        default: "fixed" | "auto";
        validator(val: "fixed" | "auto"): boolean;
    };
    topContent?: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    verticalAlign?: {
        type: import("vue").PropType<"top" | "bottom" | "middle">;
        default: "top" | "bottom" | "middle";
        validator(val: "top" | "bottom" | "middle"): boolean;
    };
    onCellClick?: import("vue").PropType<(context: import("./type").BaseTableCellEventContext<TableRowData>) => void>;
    onPageChange?: import("vue").PropType<(pageInfo: import("..").PageInfo, newDataSource: TableRowData[]) => void>;
    onRowClick?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowDblclick?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowMousedown?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowMouseenter?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowMouseleave?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowMouseover?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowMouseup?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onScroll?: import("vue").PropType<(params: {
        e: WheelEvent;
    }) => void>;
    onScrollX?: import("vue").PropType<(params: {
        e: WheelEvent;
    }) => void>;
    onScrollY?: import("vue").PropType<(params: {
        e: WheelEvent;
    }) => void>;
    rowAndColFixedPosition: PropType<RowAndColFixedPosition>;
    showColumnShadow: PropType<{
        left: boolean;
        right: boolean;
    }>;
    tableElm: {};
    tableWidth: NumberConstructor;
    isWidthOverflow: BooleanConstructor;
    translateY: NumberConstructor;
    scrollType: StringConstructor;
    isVirtual: BooleanConstructor;
    rowHeight: NumberConstructor;
    trs: PropType<Map<number, object>>;
    bufferSize: NumberConstructor;
    tableContentElm: {};
    handleRowMounted: PropType<() => void>;
    renderExpandedRow: PropType<(h: CreateElement, params: import("./type").TableExpandedRowParams<TableRowData>) => JSX.Element>;
}, import("@vue/composition-api").ExtractPropTypes<{
    allowResizeColumnWidth?: BooleanConstructor;
    bordered?: BooleanConstructor;
    bottomContent?: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    columns: {
        type: import("vue").PropType<import("./type").BaseTableCol<TableRowData>[]>;
        default: () => import("./type").BaseTableCol<TableRowData>[];
    } | PropType<import("./type").BaseTableCol<TableRowData>[]>;
    data: {
        type: import("vue").PropType<TableRowData[]>;
        default: () => TableRowData[];
    } | PropType<TableRowData[]>;
    disableDataPage?: BooleanConstructor;
    empty?: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: string;
    };
    firstFullRow: PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)> | {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    fixedRows?: {
        type: import("vue").PropType<number[]>;
    };
    footData?: {
        type: import("vue").PropType<TableRowData[]>;
        default: () => TableRowData[];
    };
    footerAffixedBottom?: BooleanConstructor;
    footerAffixProps?: {
        type: import("vue").PropType<import("..").TdAffixProps>;
    };
    headerAffixedTop?: BooleanConstructor;
    headerAffixProps?: {
        type: import("vue").PropType<import("..").TdAffixProps>;
    };
    height?: {
        type: import("vue").PropType<string | number>;
    };
    hover?: BooleanConstructor;
    lastFullRow: PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)> | {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    loading?: {
        type: import("vue").PropType<boolean | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: any;
    };
    loadingProps?: {
        type: import("vue").PropType<import("..").TdLoadingProps>;
    };
    maxHeight?: {
        type: import("vue").PropType<string | number>;
    };
    pagination?: {
        type: import("vue").PropType<import("..").TdPaginationProps>;
    };
    rowAttributes?: {
        type: import("vue").PropType<import("./type").TableRowAttributes<TableRowData>>;
    };
    rowClassName?: {
        type: import("vue").PropType<import("../common").ClassName | ((params: import("./type").RowClassNameParams<TableRowData>) => import("../common").ClassName)>;
    };
    rowKey?: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    rowspanAndColspan?: {
        type: import("vue").PropType<import("./type").TableRowspanAndColspanFunc<TableRowData>>;
    };
    scroll?: {
        type: import("vue").PropType<import("./type").TableScroll>;
    };
    size?: {
        type: import("vue").PropType<import("../common").SizeEnum>;
        default: import("../common").SizeEnum;
        validator(val: import("../common").SizeEnum): boolean;
    };
    stripe?: BooleanConstructor;
    tableContentWidth?: {
        type: StringConstructor;
        default: string;
    };
    tableLayout?: {
        type: import("vue").PropType<"fixed" | "auto">;
        default: "fixed" | "auto";
        validator(val: "fixed" | "auto"): boolean;
    };
    topContent?: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    verticalAlign?: {
        type: import("vue").PropType<"top" | "bottom" | "middle">;
        default: "top" | "bottom" | "middle";
        validator(val: "top" | "bottom" | "middle"): boolean;
    };
    onCellClick?: import("vue").PropType<(context: import("./type").BaseTableCellEventContext<TableRowData>) => void>;
    onPageChange?: import("vue").PropType<(pageInfo: import("..").PageInfo, newDataSource: TableRowData[]) => void>;
    onRowClick?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowDblclick?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowMousedown?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowMouseenter?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowMouseleave?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowMouseover?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onRowMouseup?: import("vue").PropType<(context: import("./type").RowEventContext<TableRowData>) => void>;
    onScroll?: import("vue").PropType<(params: {
        e: WheelEvent;
    }) => void>;
    onScrollX?: import("vue").PropType<(params: {
        e: WheelEvent;
    }) => void>;
    onScrollY?: import("vue").PropType<(params: {
        e: WheelEvent;
    }) => void>;
    rowAndColFixedPosition: PropType<RowAndColFixedPosition>;
    showColumnShadow: PropType<{
        left: boolean;
        right: boolean;
    }>;
    tableElm: {};
    tableWidth: NumberConstructor;
    isWidthOverflow: BooleanConstructor;
    translateY: NumberConstructor;
    scrollType: StringConstructor;
    isVirtual: BooleanConstructor;
    rowHeight: NumberConstructor;
    trs: PropType<Map<number, object>>;
    bufferSize: NumberConstructor;
    tableContentElm: {};
    handleRowMounted: PropType<() => void>;
    renderExpandedRow: PropType<(h: CreateElement, params: import("./type").TableExpandedRowParams<TableRowData>) => JSX.Element>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    tableLayout?: "fixed" | "auto";
    verticalAlign?: "top" | "bottom" | "middle";
    loading?: boolean | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    size?: import("../common").SizeEnum;
    hover?: boolean;
    empty?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    bordered?: boolean;
    stripe?: boolean;
    allowResizeColumnWidth?: boolean;
    disableDataPage?: boolean;
    footData?: TableRowData[];
    footerAffixedBottom?: boolean;
    headerAffixedTop?: boolean;
    rowKey?: string;
    tableContentWidth?: string;
    isVirtual: boolean;
    isWidthOverflow: boolean;
} & {
    data?: TableRowData[];
    height?: string | number;
    columns?: import("./type").BaseTableCol<TableRowData>[];
    maxHeight?: string | number;
    scroll?: import("./type").TableScroll;
    onScroll?: (params: {
        e: WheelEvent;
    }) => void;
    pagination?: unknown;
    onCellClick?: (context: import("./type").BaseTableCellEventContext<TableRowData>) => void;
    onPageChange?: (pageInfo: import("..").PageInfo, newDataSource: TableRowData[]) => void;
    bottomContent?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    firstFullRow?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    fixedRows?: number[];
    footerAffixProps?: unknown;
    headerAffixProps?: unknown;
    lastFullRow?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loadingProps?: unknown;
    rowAttributes?: import("./type").TableRowAttributes<TableRowData>;
    rowClassName?: unknown;
    rowspanAndColspan?: import("./type").TableRowspanAndColspanFunc<TableRowData>;
    topContent?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    onRowClick?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowDblclick?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowMousedown?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowMouseenter?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowMouseleave?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowMouseover?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowMouseup?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onScrollX?: (params: {
        e: WheelEvent;
    }) => void;
    onScrollY?: (params: {
        e: WheelEvent;
    }) => void;
    bufferSize?: number;
    rowHeight?: number;
    trs?: Map<number, object>;
    scrollType?: string;
    tableElm?: unknown;
    tableContentElm?: unknown;
    rowAndColFixedPosition?: RowAndColFixedPosition;
    showColumnShadow?: {
        left: boolean;
        right: boolean;
    };
    handleRowMounted?: () => void;
    renderExpandedRow?: (h: CreateElement, params: import("./type").TableExpandedRowParams<TableRowData>) => JSX.Element;
    tableWidth?: number;
    translateY?: number;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    t: <T>(pattern: T, ...args: any[]) => any;
    global: import("@vue/composition-api").ComputedRef<import("..").TableConfig>;
    tableFullRowClasses: {
        base: string;
        innerFullRow: string;
        innerFullElement: string;
        firstFullRow: string;
        lastFullRow: string;
    };
    tbodyClasses: import("@vue/composition-api").ComputedRef<string[]>;
    tableBaseClass: {
        table: string;
        overflowVisible: string;
        body: string;
        content: string;
        topContent: string;
        bottomContent: string;
        tdLastRow: string;
        tdFirstCol: string;
        thCellInner: 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;
        affixedHeader: string;
        affixedHeaderElm: string;
        affixedFooterElm: string;
        affixedFooterWrap: string;
        scrollbarDivider: string;
        fullHeight: string;
        resizeLine: string;
    };
    isFixedLeftColumn: import("@vue/composition-api").ComputedRef<boolean>;
    renderTNode: (name: string, options?: import("../hooks/render-tnode").OptionsType) => any;
    getTrListeners: () => {
        [eventName: string]: (e: MouseEvent) => void;
    };
}>, import("@vue/composition-api").Data, {}, {}, {}, {}, {}, {
    tableLayout?: "fixed" | "auto";
    verticalAlign?: "top" | "bottom" | "middle";
    loading?: boolean | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    size?: import("../common").SizeEnum;
    hover?: boolean;
    empty?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    bordered?: boolean;
    stripe?: boolean;
    allowResizeColumnWidth?: boolean;
    disableDataPage?: boolean;
    footData?: TableRowData[];
    footerAffixedBottom?: boolean;
    headerAffixedTop?: boolean;
    rowKey?: string;
    tableContentWidth?: string;
    isVirtual: boolean;
    isWidthOverflow: boolean;
} & {
    data?: TableRowData[];
    height?: string | number;
    columns?: import("./type").BaseTableCol<TableRowData>[];
    maxHeight?: string | number;
    scroll?: import("./type").TableScroll;
    onScroll?: (params: {
        e: WheelEvent;
    }) => void;
    pagination?: unknown;
    onCellClick?: (context: import("./type").BaseTableCellEventContext<TableRowData>) => void;
    onPageChange?: (pageInfo: import("..").PageInfo, newDataSource: TableRowData[]) => void;
    bottomContent?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    firstFullRow?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    fixedRows?: number[];
    footerAffixProps?: unknown;
    headerAffixProps?: unknown;
    lastFullRow?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loadingProps?: unknown;
    rowAttributes?: import("./type").TableRowAttributes<TableRowData>;
    rowClassName?: unknown;
    rowspanAndColspan?: import("./type").TableRowspanAndColspanFunc<TableRowData>;
    topContent?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    onRowClick?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowDblclick?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowMousedown?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowMouseenter?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowMouseleave?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowMouseover?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onRowMouseup?: (context: import("./type").RowEventContext<TableRowData>) => void;
    onScrollX?: (params: {
        e: WheelEvent;
    }) => void;
    onScrollY?: (params: {
        e: WheelEvent;
    }) => void;
    bufferSize?: number;
    rowHeight?: number;
    trs?: Map<number, object>;
    scrollType?: string;
    tableElm?: unknown;
    tableContentElm?: unknown;
    rowAndColFixedPosition?: RowAndColFixedPosition;
    showColumnShadow?: {
        left: boolean;
        right: boolean;
    };
    handleRowMounted?: () => void;
    renderExpandedRow?: (h: CreateElement, params: import("./type").TableExpandedRowParams<TableRowData>) => JSX.Element;
    tableWidth?: number;
    translateY?: number;
}, {
    tableLayout?: "fixed" | "auto";
    verticalAlign?: "top" | "bottom" | "middle";
    loading?: boolean | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    size?: import("../common").SizeEnum;
    hover?: boolean;
    empty?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    bordered?: boolean;
    stripe?: boolean;
    allowResizeColumnWidth?: boolean;
    disableDataPage?: boolean;
    footData?: TableRowData[];
    footerAffixedBottom?: boolean;
    headerAffixedTop?: boolean;
    rowKey?: string;
    tableContentWidth?: string;
    isVirtual: boolean;
    isWidthOverflow: boolean;
}, true>);
export default _default;
