/// <reference types="lodash" />
import type { PropType } from '@vue/composition-api';
import type { CreateElement } from 'vue';
import type { Styles } from '../../../common.type';
import type { BaseTableCol, TableRowData } from '../type';
export declare const BASE_TABLE_EVENTS: string[];
export declare const BASE_TABLE_ALL_EVENTS: string[];
export interface TableListeners {
    [key: string]: Function;
}
declare const _default: import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<{
    columnResizable: import("@vue/composition-api").ComputedRef<boolean>;
    thList: import("@vue/composition-api").ComputedRef<BaseTableCol<TableRowData>[][]>;
    classPrefix: string;
    isVirtual: import("@vue/composition-api").ComputedRef<boolean>;
    global: import("@vue/composition-api").Ref<{
        cancelText?: string;
        clearFilterResultButtonText?: string;
        columnConfigButtonText?: string;
        columnConfigDescriptionText?: string;
        columnConfigTitleText?: string;
        confirmText?: string;
        empty?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        expandIcon?: (h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
        filterIcon?: (h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
        hideSortTips?: boolean;
        loadingMoreText?: string;
        loadingText?: string;
        resetText?: string;
        searchResultText?: string;
        selectAllText?: string;
        sortAscendingOperationText?: string;
        sortCancelOperationText?: string;
        sortDescendingOperationText?: string;
        sortIcon?: (h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
        treeExpandAndFoldIcon?: (h: CreateElement, props: {
            type: "expand" | "fold";
        }) => import("vue/types/vnode").ScopedSlotReturnValue;
    }>;
    tableFootHeight: import("@vue/composition-api").Ref<number>;
    tableWidth: import("@vue/composition-api").Ref<number>;
    tableElmWidth: import("@vue/composition-api").Ref<number>;
    tableRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    tableElmRef: import("@vue/composition-api").Ref<HTMLTableElement>;
    sizeClassNames: {
        small: string;
        medium: string;
        large: string;
        default: string;
        xs: string;
        xl: string;
        block: 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;
    };
    spansAndLeafNodes: import("@vue/composition-api").ComputedRef<{
        rowspanAndColspanMap: import("../type").ThRowspanAndColspan;
        leafColumns: BaseTableCol<TableRowData>[];
    }>;
    dynamicBaseTableClasses: import("@vue/composition-api").ComputedRef<import("../../../common.type").ClassName[]>;
    tableContentStyles: import("@vue/composition-api").ComputedRef<Styles>;
    tableElementStyles: import("@vue/composition-api").ComputedRef<Styles>;
    virtualScrollClasses: {
        cursor: string;
        header: string;
    };
    tableLayoutClasses: {
        auto: string;
        fixed: string;
    };
    tableElmClasses: import("@vue/composition-api").ComputedRef<(string[] | {
        [x: string]: string | number;
    })[]>;
    tableContentRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    isFixedHeader: import("@vue/composition-api").Ref<boolean>;
    isWidthOverflow: import("@vue/composition-api").Ref<boolean>;
    isFixedColumn: import("@vue/composition-api").Ref<boolean>;
    rowAndColFixedPosition: import("@vue/composition-api").Ref<import("../type").RowAndColFixedPosition>;
    showColumnShadow: {
        left: boolean;
        right: boolean;
    };
    thWidthList: import("@vue/composition-api").Ref<{
        [x: string]: number;
    }>;
    isPaginateData: import("@vue/composition-api").Ref<boolean>;
    dataSource: import("@vue/composition-api").Ref<{
        [x: string]: any;
        children?: any[];
    }[]>;
    scrollType: "lazy" | "virtual";
    rowHeight: number;
    trs: Map<any, any>;
    bufferSize: number;
    scrollHeight: import("@vue/composition-api").ComputedRef<any>;
    visibleData: import("@vue/composition-api").Ref<any[]>;
    translateY: import("@vue/composition-api").ComputedRef<any>;
    affixHeaderRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    affixFooterRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    paginationRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    showAffixHeader: import("@vue/composition-api").Ref<boolean>;
    showAffixFooter: import("@vue/composition-api").Ref<boolean>;
    scrollbarWidth: import("@vue/composition-api").Ref<number>;
    isMultipleHeader: import("@vue/composition-api").ComputedRef<boolean>;
    showRightDivider: import("@vue/composition-api").ComputedRef<boolean>;
    resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    resizeLineStyle: {
        display: string;
        height: string;
        left: string;
        bottom: string;
    };
    columnResizeParams: {
        resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
        resizeLineStyle: {
            display: string;
            height: string;
            left: string;
            bottom: string;
        };
        onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        recalculateColWidth: import("../type").RecalculateColumnWidthFunc;
        setEffectColMap: (nodes: BaseTableCol<TableRowData>[], parent: BaseTableCol<TableRowData>) => void;
    };
    horizontalScrollbarRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    tableBodyRef: import("@vue/composition-api").Ref<HTMLTableElement>;
    showAffixPagination: import("@vue/composition-api").Ref<boolean>;
    getListener: () => TableListeners;
    renderPagination: (h: CreateElement) => JSX.Element;
    renderLNode: (name: string, options?: import("../../../hooks/render-lnode").OptionsType) => any;
    handleRowMounted: () => void;
    onFixedChange: () => void;
    onHorizontalScroll: (scrollElement?: HTMLElement) => void;
    updateAffixHeaderOrFooter: () => void;
    refreshTable: import("lodash").DebouncedFunc<() => void>;
    onInnerVirtualScroll: (e: WheelEvent) => void;
    paginationAffixRef: import("@vue/composition-api").Ref<any>;
    horizontalScrollAffixRef: import("@vue/composition-api").Ref<any>;
    headerTopAffixRef: import("@vue/composition-api").Ref<any>;
    footerBottomAffixRef: import("@vue/composition-api").Ref<any>;
}> & import("@vue/composition-api").Data, {
    renderColGroup(columns: BaseTableCol<TableRowData>[]): JSX.Element;
    getHeadProps(): {
        isFixedHeader: boolean;
        rowAndColFixedPosition: import("../type").RowAndColFixedPosition;
        isMultipleHeader: boolean;
        bordered: boolean;
        spansAndLeafNodes: {
            rowspanAndColspanMap: import("../type").ThRowspanAndColspan;
            leafColumns: BaseTableCol<TableRowData>[];
        };
        thList: BaseTableCol<TableRowData>[][];
        thWidthList: {
            [x: string]: number;
        };
        resizable: boolean;
        columnResizeParams: {
            resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
            resizeLineStyle: {
                display: string;
                height: string;
                left: string;
                bottom: string;
            };
            onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
            onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
            recalculateColWidth: import("../type").RecalculateColumnWidthFunc;
            setEffectColMap: (nodes: BaseTableCol<TableRowData>[], parent: BaseTableCol<TableRowData>) => void;
        };
        classPrefix: string;
        ellipsisOverlayClassName: string;
    };
    renderFixedHeader(columns: BaseTableCol<TableRowData>[]): JSX.Element;
    renderAffixedFooter(columns: BaseTableCol<TableRowData>[]): JSX.Element;
    renderAffixedHeader(columns: BaseTableCol<TableRowData>[]): JSX.Element;
}, {}, {
    renderExpandedRow: PropType<(h: CreateElement, params: import("../type").TableExpandedRowParams<TableRowData>) => JSX.Element>;
    onLeafColumnsChange: PropType<(columns: BaseTableCol<TableRowData>[]) => void>;
    allowResizeColumnWidth: {
        type: BooleanConstructor;
        default: any;
    };
    bordered: BooleanConstructor;
    bottomContent: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    cellEmptyContent: {
        type: import("vue").PropType<string | ((h: CreateElement, props: import("../type").BaseTableCellParams<TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    columns: {
        type: import("vue").PropType<BaseTableCol<TableRowData>[]>;
        default: () => BaseTableCol<TableRowData>[];
    };
    data: {
        type: import("vue").PropType<TableRowData[]>;
        default: () => TableRowData[];
    };
    disableDataPage: BooleanConstructor;
    empty: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: string;
    };
    firstFullRow: {
        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[];
    };
    footerAffixProps: {
        type: import("vue").PropType<Partial<import("../../affix").TypeAffixProps>>;
    };
    footerAffixedBottom: {
        type: import("vue").PropType<boolean | Partial<import("../../affix").TypeAffixProps>>;
        default: boolean;
    };
    footerSummary: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    headerAffixProps: {
        type: import("vue").PropType<Partial<import("../../affix").TypeAffixProps>>;
    };
    headerAffixedTop: {
        type: import("vue").PropType<boolean | Partial<import("../../affix").TypeAffixProps>>;
        default: boolean;
    };
    height: {
        type: import("vue").PropType<string | number>;
    };
    horizontalScrollAffixedBottom: {
        type: import("vue").PropType<boolean | Partial<import("../../affix").TypeAffixProps>>;
    };
    hover: BooleanConstructor;
    lastFullRow: {
        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("../../loading").TypeLoadingProps>;
    };
    maxHeight: {
        type: import("vue").PropType<string | number>;
    };
    pagination: {
        type: import("vue").PropType<import("../../pagination").TypePaginationProps>;
    };
    paginationAffixedBottom: {
        type: import("vue").PropType<boolean | Partial<import("../../affix").TypeAffixProps>>;
    };
    resizable: BooleanConstructor;
    rowAttributes: {
        type: import("vue").PropType<import("../type").TableRowAttributes<TableRowData>>;
    };
    rowClassName: {
        type: import("vue").PropType<import("../../../common.type").ClassName | ((params: import("../type").RowClassNameParams<TableRowData>) => import("../../../common.type").ClassName)>;
    };
    rowKey: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    rowspanAndColspan: {
        type: import("vue").PropType<import("../type").TableRowspanAndColspanFunc<TableRowData>>;
    };
    rowspanAndColspanInFooter: {
        type: import("vue").PropType<import("../type").TableRowspanAndColspanFunc<TableRowData>>;
    };
    scroll: {
        type: import("vue").PropType<import("../type").TableScroll>;
    };
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: import("vue").PropType<import("../../../common.type").SizeType>;
        default: import("../../../common.type").SizeType;
        validator(val: import("../../../common.type").SizeType): 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" | "middle" | "bottom">;
        default: "top" | "middle" | "bottom";
        validator(val: "top" | "middle" | "bottom"): boolean;
    };
    onCellClick: import("vue").PropType<(context: import("../type").BaseTableCellEventContext<TableRowData>) => void>;
    onPageChange: import("vue").PropType<(pageInfo: import("../../pagination").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>;
}, import("@vue/composition-api").ExtractPropTypes<{
    renderExpandedRow: PropType<(h: CreateElement, params: import("../type").TableExpandedRowParams<TableRowData>) => JSX.Element>;
    onLeafColumnsChange: PropType<(columns: BaseTableCol<TableRowData>[]) => void>;
    allowResizeColumnWidth: {
        type: BooleanConstructor;
        default: any;
    };
    bordered: BooleanConstructor;
    bottomContent: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    cellEmptyContent: {
        type: import("vue").PropType<string | ((h: CreateElement, props: import("../type").BaseTableCellParams<TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    columns: {
        type: import("vue").PropType<BaseTableCol<TableRowData>[]>;
        default: () => BaseTableCol<TableRowData>[];
    };
    data: {
        type: import("vue").PropType<TableRowData[]>;
        default: () => TableRowData[];
    };
    disableDataPage: BooleanConstructor;
    empty: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: string;
    };
    firstFullRow: {
        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[];
    };
    footerAffixProps: {
        type: import("vue").PropType<Partial<import("../../affix").TypeAffixProps>>;
    };
    footerAffixedBottom: {
        type: import("vue").PropType<boolean | Partial<import("../../affix").TypeAffixProps>>;
        default: boolean;
    };
    footerSummary: {
        type: import("vue").PropType<string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    headerAffixProps: {
        type: import("vue").PropType<Partial<import("../../affix").TypeAffixProps>>;
    };
    headerAffixedTop: {
        type: import("vue").PropType<boolean | Partial<import("../../affix").TypeAffixProps>>;
        default: boolean;
    };
    height: {
        type: import("vue").PropType<string | number>;
    };
    horizontalScrollAffixedBottom: {
        type: import("vue").PropType<boolean | Partial<import("../../affix").TypeAffixProps>>;
    };
    hover: BooleanConstructor;
    lastFullRow: {
        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("../../loading").TypeLoadingProps>;
    };
    maxHeight: {
        type: import("vue").PropType<string | number>;
    };
    pagination: {
        type: import("vue").PropType<import("../../pagination").TypePaginationProps>;
    };
    paginationAffixedBottom: {
        type: import("vue").PropType<boolean | Partial<import("../../affix").TypeAffixProps>>;
    };
    resizable: BooleanConstructor;
    rowAttributes: {
        type: import("vue").PropType<import("../type").TableRowAttributes<TableRowData>>;
    };
    rowClassName: {
        type: import("vue").PropType<import("../../../common.type").ClassName | ((params: import("../type").RowClassNameParams<TableRowData>) => import("../../../common.type").ClassName)>;
    };
    rowKey: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    rowspanAndColspan: {
        type: import("vue").PropType<import("../type").TableRowspanAndColspanFunc<TableRowData>>;
    };
    rowspanAndColspanInFooter: {
        type: import("vue").PropType<import("../type").TableRowspanAndColspanFunc<TableRowData>>;
    };
    scroll: {
        type: import("vue").PropType<import("../type").TableScroll>;
    };
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: import("vue").PropType<import("../../../common.type").SizeType>;
        default: import("../../../common.type").SizeType;
        validator(val: import("../../../common.type").SizeType): 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" | "middle" | "bottom">;
        default: "top" | "middle" | "bottom";
        validator(val: "top" | "middle" | "bottom"): boolean;
    };
    onCellClick: import("vue").PropType<(context: import("../type").BaseTableCellEventContext<TableRowData>) => void>;
    onPageChange: import("vue").PropType<(pageInfo: import("../../pagination").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>;
}>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
    data: TableRowData[];
    hover: boolean;
    empty: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    size: import("../../../common.type").SizeType;
    loading: boolean | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    stripe: boolean;
    bordered: boolean;
    showHeader: boolean;
    columns: BaseTableCol<TableRowData>[];
    allowResizeColumnWidth: boolean;
    disableDataPage: boolean;
    footData: TableRowData[];
    footerAffixedBottom: boolean;
    headerAffixedTop: boolean;
    resizable: boolean;
    rowKey: string;
    tableContentWidth: string;
    tableLayout: "fixed" | "auto";
    verticalAlign: "top" | "middle" | "bottom";
} & {
    pagination?: unknown;
    onScroll?: (params: {
        e: WheelEvent;
    }) => void;
    height?: string | number;
    scroll?: import("../type").TableScroll;
    onCellClick?: (context: import("../type").BaseTableCellEventContext<TableRowData>) => void;
    maxHeight?: string | number;
    onPageChange?: (pageInfo: import("../../pagination").PageInfo, newDataSource: TableRowData[]) => void;
    bottomContent?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    cellEmptyContent?: string | ((h: CreateElement, props: import("../type").BaseTableCellParams<TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    firstFullRow?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    fixedRows?: number[];
    footerAffixProps?: unknown;
    footerSummary?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    headerAffixProps?: unknown;
    horizontalScrollAffixedBottom?: unknown;
    lastFullRow?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loadingProps?: unknown;
    paginationAffixedBottom?: unknown;
    rowAttributes?: import("../type").TableRowAttributes<TableRowData>;
    rowClassName?: unknown;
    rowspanAndColspan?: import("../type").TableRowspanAndColspanFunc<TableRowData>;
    rowspanAndColspanInFooter?: 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;
    renderExpandedRow?: (h: CreateElement, params: import("../type").TableExpandedRowParams<TableRowData>) => JSX.Element;
    onLeafColumnsChange?: (columns: BaseTableCol<TableRowData>[]) => void;
}, import("@vue/composition-api").ShallowUnwrapRef<{
    columnResizable: import("@vue/composition-api").ComputedRef<boolean>;
    thList: import("@vue/composition-api").ComputedRef<BaseTableCol<TableRowData>[][]>;
    classPrefix: string;
    isVirtual: import("@vue/composition-api").ComputedRef<boolean>;
    global: import("@vue/composition-api").Ref<{
        cancelText?: string;
        clearFilterResultButtonText?: string;
        columnConfigButtonText?: string;
        columnConfigDescriptionText?: string;
        columnConfigTitleText?: string;
        confirmText?: string;
        empty?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        expandIcon?: (h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
        filterIcon?: (h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
        hideSortTips?: boolean;
        loadingMoreText?: string;
        loadingText?: string;
        resetText?: string;
        searchResultText?: string;
        selectAllText?: string;
        sortAscendingOperationText?: string;
        sortCancelOperationText?: string;
        sortDescendingOperationText?: string;
        sortIcon?: (h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
        treeExpandAndFoldIcon?: (h: CreateElement, props: {
            type: "expand" | "fold";
        }) => import("vue/types/vnode").ScopedSlotReturnValue;
    }>;
    tableFootHeight: import("@vue/composition-api").Ref<number>;
    tableWidth: import("@vue/composition-api").Ref<number>;
    tableElmWidth: import("@vue/composition-api").Ref<number>;
    tableRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    tableElmRef: import("@vue/composition-api").Ref<HTMLTableElement>;
    sizeClassNames: {
        small: string;
        medium: string;
        large: string;
        default: string;
        xs: string;
        xl: string;
        block: 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;
    };
    spansAndLeafNodes: import("@vue/composition-api").ComputedRef<{
        rowspanAndColspanMap: import("../type").ThRowspanAndColspan;
        leafColumns: BaseTableCol<TableRowData>[];
    }>;
    dynamicBaseTableClasses: import("@vue/composition-api").ComputedRef<import("../../../common.type").ClassName[]>;
    tableContentStyles: import("@vue/composition-api").ComputedRef<Styles>;
    tableElementStyles: import("@vue/composition-api").ComputedRef<Styles>;
    virtualScrollClasses: {
        cursor: string;
        header: string;
    };
    tableLayoutClasses: {
        auto: string;
        fixed: string;
    };
    tableElmClasses: import("@vue/composition-api").ComputedRef<(string[] | {
        [x: string]: string | number;
    })[]>;
    tableContentRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    isFixedHeader: import("@vue/composition-api").Ref<boolean>;
    isWidthOverflow: import("@vue/composition-api").Ref<boolean>;
    isFixedColumn: import("@vue/composition-api").Ref<boolean>;
    rowAndColFixedPosition: import("@vue/composition-api").Ref<import("../type").RowAndColFixedPosition>;
    showColumnShadow: {
        left: boolean;
        right: boolean;
    };
    thWidthList: import("@vue/composition-api").Ref<{
        [x: string]: number;
    }>;
    isPaginateData: import("@vue/composition-api").Ref<boolean>;
    dataSource: import("@vue/composition-api").Ref<{
        [x: string]: any;
        children?: any[];
    }[]>;
    scrollType: "lazy" | "virtual";
    rowHeight: number;
    trs: Map<any, any>;
    bufferSize: number;
    scrollHeight: import("@vue/composition-api").ComputedRef<any>;
    visibleData: import("@vue/composition-api").Ref<any[]>;
    translateY: import("@vue/composition-api").ComputedRef<any>;
    affixHeaderRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    affixFooterRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    paginationRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    showAffixHeader: import("@vue/composition-api").Ref<boolean>;
    showAffixFooter: import("@vue/composition-api").Ref<boolean>;
    scrollbarWidth: import("@vue/composition-api").Ref<number>;
    isMultipleHeader: import("@vue/composition-api").ComputedRef<boolean>;
    showRightDivider: import("@vue/composition-api").ComputedRef<boolean>;
    resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    resizeLineStyle: {
        display: string;
        height: string;
        left: string;
        bottom: string;
    };
    columnResizeParams: {
        resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
        resizeLineStyle: {
            display: string;
            height: string;
            left: string;
            bottom: string;
        };
        onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
        recalculateColWidth: import("../type").RecalculateColumnWidthFunc;
        setEffectColMap: (nodes: BaseTableCol<TableRowData>[], parent: BaseTableCol<TableRowData>) => void;
    };
    horizontalScrollbarRef: import("@vue/composition-api").Ref<HTMLDivElement>;
    tableBodyRef: import("@vue/composition-api").Ref<HTMLTableElement>;
    showAffixPagination: import("@vue/composition-api").Ref<boolean>;
    getListener: () => TableListeners;
    renderPagination: (h: CreateElement) => JSX.Element;
    renderLNode: (name: string, options?: import("../../../hooks/render-lnode").OptionsType) => any;
    handleRowMounted: () => void;
    onFixedChange: () => void;
    onHorizontalScroll: (scrollElement?: HTMLElement) => void;
    updateAffixHeaderOrFooter: () => void;
    refreshTable: import("lodash").DebouncedFunc<() => void>;
    onInnerVirtualScroll: (e: WheelEvent) => void;
    paginationAffixRef: import("@vue/composition-api").Ref<any>;
    horizontalScrollAffixRef: import("@vue/composition-api").Ref<any>;
    headerTopAffixRef: import("@vue/composition-api").Ref<any>;
    footerBottomAffixRef: import("@vue/composition-api").Ref<any>;
}>, import("@vue/composition-api").Data, {}, {
    renderColGroup(columns: BaseTableCol<TableRowData>[]): JSX.Element;
    getHeadProps(): {
        isFixedHeader: boolean;
        rowAndColFixedPosition: import("../type").RowAndColFixedPosition;
        isMultipleHeader: boolean;
        bordered: boolean;
        spansAndLeafNodes: {
            rowspanAndColspanMap: import("../type").ThRowspanAndColspan;
            leafColumns: BaseTableCol<TableRowData>[];
        };
        thList: BaseTableCol<TableRowData>[][];
        thWidthList: {
            [x: string]: number;
        };
        resizable: boolean;
        columnResizeParams: {
            resizeLineRef: import("@vue/composition-api").Ref<HTMLDivElement>;
            resizeLineStyle: {
                display: string;
                height: string;
                left: string;
                bottom: string;
            };
            onColumnMouseover: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
            onColumnMousedown: (e: MouseEvent, col: BaseTableCol<TableRowData>) => void;
            recalculateColWidth: import("../type").RecalculateColumnWidthFunc;
            setEffectColMap: (nodes: BaseTableCol<TableRowData>[], parent: BaseTableCol<TableRowData>) => void;
        };
        classPrefix: string;
        ellipsisOverlayClassName: string;
    };
    renderFixedHeader(columns: BaseTableCol<TableRowData>[]): JSX.Element;
    renderAffixedFooter(columns: BaseTableCol<TableRowData>[]): JSX.Element;
    renderAffixedHeader(columns: BaseTableCol<TableRowData>[]): JSX.Element;
}, {}, {}, {}, {
    data: TableRowData[];
    hover: boolean;
    empty: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    size: import("../../../common.type").SizeType;
    loading: boolean | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    stripe: boolean;
    bordered: boolean;
    showHeader: boolean;
    columns: BaseTableCol<TableRowData>[];
    allowResizeColumnWidth: boolean;
    disableDataPage: boolean;
    footData: TableRowData[];
    footerAffixedBottom: boolean;
    headerAffixedTop: boolean;
    resizable: boolean;
    rowKey: string;
    tableContentWidth: string;
    tableLayout: "fixed" | "auto";
    verticalAlign: "top" | "middle" | "bottom";
} & {
    pagination?: unknown;
    onScroll?: (params: {
        e: WheelEvent;
    }) => void;
    height?: string | number;
    scroll?: import("../type").TableScroll;
    onCellClick?: (context: import("../type").BaseTableCellEventContext<TableRowData>) => void;
    maxHeight?: string | number;
    onPageChange?: (pageInfo: import("../../pagination").PageInfo, newDataSource: TableRowData[]) => void;
    bottomContent?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    cellEmptyContent?: string | ((h: CreateElement, props: import("../type").BaseTableCellParams<TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    firstFullRow?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    fixedRows?: number[];
    footerAffixProps?: unknown;
    footerSummary?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    headerAffixProps?: unknown;
    horizontalScrollAffixedBottom?: unknown;
    lastFullRow?: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loadingProps?: unknown;
    paginationAffixedBottom?: unknown;
    rowAttributes?: import("../type").TableRowAttributes<TableRowData>;
    rowClassName?: unknown;
    rowspanAndColspan?: import("../type").TableRowspanAndColspanFunc<TableRowData>;
    rowspanAndColspanInFooter?: 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;
    renderExpandedRow?: (h: CreateElement, params: import("../type").TableExpandedRowParams<TableRowData>) => JSX.Element;
    onLeafColumnsChange?: (columns: BaseTableCol<TableRowData>[]) => void;
}, {
    data: TableRowData[];
    hover: boolean;
    empty: string | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    size: import("../../../common.type").SizeType;
    loading: boolean | ((h: CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    stripe: boolean;
    bordered: boolean;
    showHeader: boolean;
    columns: BaseTableCol<TableRowData>[];
    allowResizeColumnWidth: boolean;
    disableDataPage: boolean;
    footData: TableRowData[];
    footerAffixedBottom: boolean;
    headerAffixedTop: boolean;
    resizable: boolean;
    rowKey: string;
    tableContentWidth: string;
    tableLayout: "fixed" | "auto";
    verticalAlign: "top" | "middle" | "bottom";
}, true>);
export default _default;
