import { TdBaseTableProps, TdPrimaryTableProps } from './type';
import './style';
export declare type BaseTableProps = TdBaseTableProps;
export declare type PrimaryTableProps = TdPrimaryTableProps;
export * from './type';
export declare const BaseTable: import("vue/types/vue").ExtendedVue<{
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("..").TableConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default, {
    scrollableToLeft: boolean;
    scrollableToRight: boolean;
    scrollBarWidth: number;
    defaultCurrent: number;
    defaultPageSize: number;
    useFixedHeader: boolean;
}, {
    checkScrollableToLeftOrRight(): void;
    addWindowResizeEventListener(): void;
    renderHeader(): import("vue").VNode;
    registerRowEvents(): {};
    renderBody(): import("vue").VNode;
    renderEmptyTable(): import("vue").VNode;
    renderPagination(): import("vue").VNode;
    renderTableWithFixedHeader(): import("vue").VNode[];
    renderLoadingContent(): import("vue").VNode;
    renderFooter(): JSX.Element;
    handleScroll(e: WheelEvent): void;
}, {
    current: number;
    pageSize: number;
    dataSource: import("./type").TableRowData[];
    flattedColumns: import("./type").BaseTableCol<import("./type").TableRowData>[];
    isEmpty: boolean;
    hasFixedColumns: boolean;
    hasPagination: boolean;
    isLoading: boolean;
    tableHeight: string | number;
    fixedHeader: boolean;
    commonClass: import("../common").ClassName;
    usePadding: boolean;
}, {
    selectedRowKeys: (string | number)[];
    provider: any;
    bordered: boolean;
    columns: import("./type").BaseTableCol<import("./type").TableRowData>[];
    data: import("./type").TableRowData[];
    empty: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    expandedRow: string | ((h: import("vue").CreateElement, props: {
        row: import("./type").TableRowData;
        index: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue);
    firstFullRow: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    height: string | number;
    hover: boolean;
    lastFullRow: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loading: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    maxHeight: string | number;
    pagination: import("..").TdPaginationProps;
    rowClassName: import("../common").ClassName | ((params: {
        row: import("./type").TableRowData;
        rowIndex: number;
    }) => import("../common").ClassName);
    rowKey: string;
    rowspanAndColspan: (params: import("./type").RowspanAndColspanParams<import("./type").TableRowData>) => import("./type").RowspanColspan;
    size: import("../common").SizeEnum;
    stripe: boolean;
    tableLayout: "fixed" | "auto";
    topContent: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    verticalAlign: "top" | "bottom" | "middle";
    onPageChange: (pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void;
    onRowClick: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowDbClick: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowHover: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMousedown: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseenter: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseleave: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseup: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onScrollX: (params: {
        e: WheelEvent;
    }) => void;
    onScrollY: (params: {
        e: WheelEvent;
    }) => void;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<{
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("..").TableConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default, {
    scrollableToLeft: boolean;
    scrollableToRight: boolean;
    scrollBarWidth: number;
    defaultCurrent: number;
    defaultPageSize: number;
    useFixedHeader: boolean;
}, {
    checkScrollableToLeftOrRight(): void;
    addWindowResizeEventListener(): void;
    renderHeader(): import("vue").VNode;
    registerRowEvents(): {};
    renderBody(): import("vue").VNode;
    renderEmptyTable(): import("vue").VNode;
    renderPagination(): import("vue").VNode;
    renderTableWithFixedHeader(): import("vue").VNode[];
    renderLoadingContent(): import("vue").VNode;
    renderFooter(): JSX.Element;
    handleScroll(e: WheelEvent): void;
}, {
    current: number;
    pageSize: number;
    dataSource: import("./type").TableRowData[];
    flattedColumns: import("./type").BaseTableCol<import("./type").TableRowData>[];
    isEmpty: boolean;
    hasFixedColumns: boolean;
    hasPagination: boolean;
    isLoading: boolean;
    tableHeight: string | number;
    fixedHeader: boolean;
    commonClass: import("../common").ClassName;
    usePadding: boolean;
}, {
    selectedRowKeys: (string | number)[];
    provider: any;
    bordered: boolean;
    columns: import("./type").BaseTableCol<import("./type").TableRowData>[];
    data: import("./type").TableRowData[];
    empty: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    expandedRow: string | ((h: import("vue").CreateElement, props: {
        row: import("./type").TableRowData;
        index: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue);
    firstFullRow: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    height: string | number;
    hover: boolean;
    lastFullRow: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loading: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    maxHeight: string | number;
    pagination: import("..").TdPaginationProps;
    rowClassName: import("../common").ClassName | ((params: {
        row: import("./type").TableRowData;
        rowIndex: number;
    }) => import("../common").ClassName);
    rowKey: string;
    rowspanAndColspan: (params: import("./type").RowspanAndColspanParams<import("./type").TableRowData>) => import("./type").RowspanColspan;
    size: import("../common").SizeEnum;
    stripe: boolean;
    tableLayout: "fixed" | "auto";
    topContent: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    verticalAlign: "top" | "bottom" | "middle";
    onPageChange: (pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void;
    onRowClick: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowDbClick: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowHover: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMousedown: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseenter: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseleave: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseup: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onScrollX: (params: {
        e: WheelEvent;
    }) => void;
    onScrollY: (params: {
        e: WheelEvent;
    }) => void;
}>>;
export declare const PrimaryTable: import("vue/types/vue").ExtendedVue<import("vue").default, unknown, {
    updateData(this: any, propName: string, v: any, ...args: any[]): any;
}, unknown, {
    [x: string]: any;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<import("vue").default, unknown, {
    updateData(this: any, propName: string, v: any, ...args: any[]): any;
}, unknown, {
    [x: string]: any;
}>>;
export declare const EnhancedTable: import("vue/types/vue").ExtendedVue<{
    store: import("./enhanced-table/tree-store").default<import("./type").TableRowData>;
    dataSource: any[];
} & {
    getTreeNodeStyle(level: number): {
        paddingLeft: string;
    };
    toggleExpandData(p: import("./type").PrimaryTableCellParams<import("./type").TableRowData>): void;
    setData<T>(key: import("./type").TableRowValue, newRowData: T): void;
    getData(key: import("./type").TableRowValue): import("./type").TableRowState<import("./type").TableRowData>;
    remove(key: import("./type").TableRowValue): void;
    appendTo<T_1>(key: import("./type").TableRowValue, newData: T_1): void;
} & {
    rowDataKeys: import("./enhanced-table/tree-store").KeysType;
    childrenKey: string;
    columnsSource: import("./type").PrimaryTableCol<import("./type").TableRowData>[];
} & {
    rowKey: string;
    data: import("./type").TableRowData[];
    columns: import("./type").PrimaryTableCol<import("./type").TableRowData>[];
    tree: import("./type").TableTreeConfig;
} & import("vue").default & {
    dataSource: import("./type").TableRowData[];
    store: import("./enhanced-table/tree-store").default<import("./type").TableRowData>;
} & {
    onInnerSelectChange(rowKeys: (string | number)[], extraData: import("./type").SelectOptions<import("./type").TableRowData>): void;
    handleSelectAll(extraData: import("./type").SelectOptions<import("./type").TableRowData>): void;
    handleSelect(rowKeys: (string | number)[], extraData: import("./type").SelectOptions<import("./type").TableRowData>): void;
} & {
    childrenKey: string;
    rowDataKeys: import("./enhanced-table/tree-store").KeysType;
} & {
    data: import("./type").TableRowData[];
    rowKey: string;
    columns: import("./type").PrimaryTableCol<import("./type").TableRowData>[];
    tree: import("./type").TableTreeConfig;
}, {
    dataSource: any[];
}, unknown, {
    childrenKey: string;
}, {
    tree: import("./type").TableTreeConfig;
    asyncLoading: "loading" | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | "load-more";
    columns: import("./type").PrimaryTableCol<import("./type").TableRowData>[];
    expandedRow: (h: import("vue").CreateElement, props: {
        row: import("./type").TableRowData;
        index: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    expandedRowKeys: (string | number)[];
    defaultExpandedRowKeys: (string | number)[];
    expandIcon: boolean | ((h: import("vue").CreateElement, props: import("./type").ExpandArrowRenderParams<import("./type").TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    expandOnRowClick: boolean;
    filterIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    filterRow: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    filterValue: import("./type").FilterValue;
    defaultFilterValue: import("./type").FilterValue;
    multipleSort: boolean;
    selectedRowKeys: (string | number)[];
    defaultSelectedRowKeys: (string | number)[];
    showColumnController: boolean;
    showDragCol: boolean;
    sort: import("./type").TableSort;
    defaultSort: import("./type").TableSort;
    sortOnRowDraggable: boolean;
    onAsyncLoadingClick: (context: {
        status: "loading" | "load-more";
    }) => void;
    onChange: (data: import("./type").TableChangeData, context: import("./type").TableChangeContext<import("./type").TableRowData[]>) => void;
    onDataChange: (data: import("./type").TableRowData[]) => void;
    onDragSort: (context: import("./type").DragSortContext<import("./type").TableRowData>) => void;
    onExpandChange: (expandedRowKeys: (string | number)[], options: import("./type").ExpandOptions<import("./type").TableRowData>) => void;
    onFilterChange: (filterValue: import("./type").FilterValue, context: {
        col?: import("./type").PrimaryTableCol<import("./type").TableRowData>;
    }) => void;
    onSelectChange: (selectedRowKeys: (string | number)[], options: import("./type").SelectOptions<import("./type").TableRowData>) => void;
    onSortChange: (sort: import("./type").TableSort, options: import("./type").SortOptions<import("./type").TableRowData>) => void;
    bordered: boolean;
    data: import("./type").TableRowData[];
    empty: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    firstFullRow: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    height: string | number;
    hover: boolean;
    lastFullRow: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loading: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    maxHeight: string | number;
    pagination: import("..").TdPaginationProps;
    rowClassName: import("../common").ClassName | ((params: {
        row: import("./type").TableRowData;
        rowIndex: number;
    }) => import("../common").ClassName);
    rowKey: string;
    rowspanAndColspan: (params: import("./type").RowspanAndColspanParams<import("./type").TableRowData>) => import("./type").RowspanColspan;
    size: import("../common").SizeEnum;
    stripe: boolean;
    tableLayout: "fixed" | "auto";
    topContent: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    verticalAlign: "top" | "bottom" | "middle";
    onPageChange: (pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void;
    onRowClick: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowDbClick: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowHover: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMousedown: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseenter: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseleave: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseup: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onScrollX: (params: {
        e: WheelEvent;
    }) => void;
    onScrollY: (params: {
        e: WheelEvent;
    }) => void;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<{
    store: import("./enhanced-table/tree-store").default<import("./type").TableRowData>;
    dataSource: any[];
} & {
    getTreeNodeStyle(level: number): {
        paddingLeft: string;
    };
    toggleExpandData(p: import("./type").PrimaryTableCellParams<import("./type").TableRowData>): void;
    setData<T>(key: import("./type").TableRowValue, newRowData: T): void;
    getData(key: import("./type").TableRowValue): import("./type").TableRowState<import("./type").TableRowData>;
    remove(key: import("./type").TableRowValue): void;
    appendTo<T_1>(key: import("./type").TableRowValue, newData: T_1): void;
} & {
    rowDataKeys: import("./enhanced-table/tree-store").KeysType;
    childrenKey: string;
    columnsSource: import("./type").PrimaryTableCol<import("./type").TableRowData>[];
} & {
    rowKey: string;
    data: import("./type").TableRowData[];
    columns: import("./type").PrimaryTableCol<import("./type").TableRowData>[];
    tree: import("./type").TableTreeConfig;
} & import("vue").default & {
    dataSource: import("./type").TableRowData[];
    store: import("./enhanced-table/tree-store").default<import("./type").TableRowData>;
} & {
    onInnerSelectChange(rowKeys: (string | number)[], extraData: import("./type").SelectOptions<import("./type").TableRowData>): void;
    handleSelectAll(extraData: import("./type").SelectOptions<import("./type").TableRowData>): void;
    handleSelect(rowKeys: (string | number)[], extraData: import("./type").SelectOptions<import("./type").TableRowData>): void;
} & {
    childrenKey: string;
    rowDataKeys: import("./enhanced-table/tree-store").KeysType;
} & {
    data: import("./type").TableRowData[];
    rowKey: string;
    columns: import("./type").PrimaryTableCol<import("./type").TableRowData>[];
    tree: import("./type").TableTreeConfig;
}, {
    dataSource: any[];
}, unknown, {
    childrenKey: string;
}, {
    tree: import("./type").TableTreeConfig;
    asyncLoading: "loading" | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | "load-more";
    columns: import("./type").PrimaryTableCol<import("./type").TableRowData>[];
    expandedRow: (h: import("vue").CreateElement, props: {
        row: import("./type").TableRowData;
        index: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    expandedRowKeys: (string | number)[];
    defaultExpandedRowKeys: (string | number)[];
    expandIcon: boolean | ((h: import("vue").CreateElement, props: import("./type").ExpandArrowRenderParams<import("./type").TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    expandOnRowClick: boolean;
    filterIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    filterRow: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    filterValue: import("./type").FilterValue;
    defaultFilterValue: import("./type").FilterValue;
    multipleSort: boolean;
    selectedRowKeys: (string | number)[];
    defaultSelectedRowKeys: (string | number)[];
    showColumnController: boolean;
    showDragCol: boolean;
    sort: import("./type").TableSort;
    defaultSort: import("./type").TableSort;
    sortOnRowDraggable: boolean;
    onAsyncLoadingClick: (context: {
        status: "loading" | "load-more";
    }) => void;
    onChange: (data: import("./type").TableChangeData, context: import("./type").TableChangeContext<import("./type").TableRowData[]>) => void;
    onDataChange: (data: import("./type").TableRowData[]) => void;
    onDragSort: (context: import("./type").DragSortContext<import("./type").TableRowData>) => void;
    onExpandChange: (expandedRowKeys: (string | number)[], options: import("./type").ExpandOptions<import("./type").TableRowData>) => void;
    onFilterChange: (filterValue: import("./type").FilterValue, context: {
        col?: import("./type").PrimaryTableCol<import("./type").TableRowData>;
    }) => void;
    onSelectChange: (selectedRowKeys: (string | number)[], options: import("./type").SelectOptions<import("./type").TableRowData>) => void;
    onSortChange: (sort: import("./type").TableSort, options: import("./type").SortOptions<import("./type").TableRowData>) => void;
    bordered: boolean;
    data: import("./type").TableRowData[];
    empty: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    firstFullRow: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    height: string | number;
    hover: boolean;
    lastFullRow: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    loading: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    maxHeight: string | number;
    pagination: import("..").TdPaginationProps;
    rowClassName: import("../common").ClassName | ((params: {
        row: import("./type").TableRowData;
        rowIndex: number;
    }) => import("../common").ClassName);
    rowKey: string;
    rowspanAndColspan: (params: import("./type").RowspanAndColspanParams<import("./type").TableRowData>) => import("./type").RowspanColspan;
    size: import("../common").SizeEnum;
    stripe: boolean;
    tableLayout: "fixed" | "auto";
    topContent: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    verticalAlign: "top" | "bottom" | "middle";
    onPageChange: (pageInfo: import("..").PageInfo, newDataSource: import("./type").TableRowData[]) => void;
    onRowClick: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowDbClick: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowHover: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMousedown: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseenter: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseleave: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onRowMouseup: (context: import("./type").RowEventContext<import("./type").TableRowData>) => void;
    onScrollX: (params: {
        e: WheelEvent;
    }) => void;
    onScrollY: (params: {
        e: WheelEvent;
    }) => void;
}>>;
export declare const Table: import("vue/types/vue").ExtendedVue<import("vue").default, unknown, {
    updateData(this: any, propName: string, v: any, ...args: any[]): any;
}, unknown, {
    [x: string]: any;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<import("vue").default, unknown, {
    updateData(this: any, propName: string, v: any, ...args: any[]): any;
}, unknown, {
    [x: string]: any;
}>>;
export default Table;
