import { PrimaryTableCol } from '../type';
import { RenderExpandRow } from '../util/interface';
import { PageInfo } from '../../pagination/type';
declare const _default: import("vue/types/vue").ExtendedVue<{
    getExpandRowHandler(): (h: import("vue").CreateElement, props: {
        row: import("../type").TableRowData;
        index: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    getExpandColumns(columns: PrimaryTableCol<import("../type").TableRowData>[]): PrimaryTableCol<import("../type").TableRowData>[];
    renderExpandIconCell({ row, rowIndex }: Record<string, any>): import("vue").VNode;
    renderExpandedRow({ rows, row, columns: defaultColumns, rowIndex, }: RenderExpandRow): import("vue").VNode;
    handleExpandChange(record?: Record<string, any>): void;
} & {
    reRowKey: string;
} & {
    expandedRowKeys: (string | number)[];
    expandedRow: (h: import("vue").CreateElement, props: {
        row: import("../type").TableRowData;
        index: number;
    }) => import("vue/types/vnode").ScopedSlotReturnValue;
    expandIcon: boolean | ((h: import("vue").CreateElement, props: import("../type").ExpandArrowRenderParams<import("../type").TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue);
    expandOnRowClick: boolean;
    data: import("../type").TableRowData[];
    rowKey: string;
} & import("vue").default & {
    isDisabled(row: Record<string, any>, rowIndex: number): boolean;
    getSelectColumns(columns: PrimaryTableCol<import("../type").TableRowData>[]): PrimaryTableCol<import("../type").TableRowData>[];
    getSelectedHeader(): () => JSX.Element;
    renderSelectCell({ column, row, rowIndex }: Record<string, any>): import("vue").VNode;
    handleSelectChange(record?: Record<string, any>): void;
    handleSelectAll(): void;
} & {
    reRowKey: string;
    selectColumn: any;
    canSelectedRows: Record<string, any>[];
    isSelectedAll: boolean;
    isSelectedSome: boolean;
} & {
    columns: PrimaryTableCol<import("../type").TableRowData>[];
    data: import("../type").TableRowData[];
    rowKey: string;
    selectedRowKeys: (string | number)[];
} & {
    sorterFuncMap: {};
} & {
    handleDataSort(): import("../type").TableRowData[];
    needSort(column: PrimaryTableCol<import("../type").TableRowData>): boolean;
    getNextSortOrder(currentSortOrder: import("../type").SortType, sortType: import("../type").SortType): import("../type").SortType;
    handleSortHeaderClick(col: PrimaryTableCol<import("../type").TableRowData>): void;
    getSortColumn(colKey: string): PrimaryTableCol<import("../type").TableRowData>;
    getSortOrder(descending: boolean): "desc" | "asc";
    getNextDescending(current: import("../type").SortInfo, col: PrimaryTableCol<import("../type").TableRowData>): boolean;
    getSingleNextSort(col: PrimaryTableCol<import("../type").TableRowData>): import("../type").SortInfo;
    getMultipleNextSort(col: PrimaryTableCol<import("../type").TableRowData>): import("../type").SortInfo[];
    getSorterColumns(columns: PrimaryTableCol<import("../type").TableRowData>[]): PrimaryTableCol<import("../type").TableRowData>[];
} & {
    sortArray: import("../type").SortInfo[];
    sortMap: Record<string, import("../type").SortInfo & {
        index: number;
    }>;
    localDataSort: boolean;
} & {
    data: import("../type").TableRowData[];
    columns: PrimaryTableCol<import("../type").TableRowData>[];
    sort: import("../type").TableSort;
    multipleSort: boolean;
} & {
    draggingRowCurrentIndex: number;
    currentRowData: any;
} & {
    onDragStart({ index, row }: import("./mixins/row-draggable").RowDragEventArgs): void;
    onDragOver({ index: overIndex, row, targetElm }: import("./mixins/row-draggable").RowDragEventArgs): void;
    addDragEndListener(): void;
    emitChange(current: import("../type").TableRowData, target: import("../type").TableRowData, currentIndex: number, targetIndex: number): void;
} & {
    dragging: boolean;
} & Record<never, any> & {
    tableWidth: number;
    innerFilterValue: import("../type").FilterValue;
    filterPopupVisible: {};
} & {
    updateTableWidth(): void;
    onFilterPopupVisibleChange(visible: boolean, colKey: string): void;
    renderFirstFilterRow(): JSX.Element;
    getFilterResultContent(): string;
    onInnerFilterChange(val: any, column: PrimaryTableCol<import("../type").TableRowData>): void;
    emitFilterChange(filterValue: import("../type").FilterValue, column?: PrimaryTableCol<import("../type").TableRowData>): void;
    onReset(column: PrimaryTableCol<import("../type").TableRowData>): void;
    onResetAll(): void;
    onConfirm(column: PrimaryTableCol<import("../type").TableRowData>): void;
    getBottomButtons(column: PrimaryTableCol<import("../type").TableRowData>): JSX.Element;
    getFilterContent(column: PrimaryTableCol<import("../type").TableRowData>): JSX.Element;
    getFilterColumns(columns: PrimaryTableCol<import("../type").TableRowData>[]): PrimaryTableCol<import("../type").TableRowData>[];
} & {
    fixedLeftColumn: boolean;
    hasFilterCondition: boolean;
} & {
    columns: PrimaryTableCol<import("../type").TableRowData>[];
    pagination: import("../../pagination/type").TdPaginationProps;
    filterValue: import("../type").FilterValue;
    filterIcon: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
    data: import("../type").TableRowData[];
    filterRow: Function;
} & {
    showColumnKeys: string[];
    showColumnCheckboxKeys: string[];
    isShowColumnsDlg: boolean;
} & {
    getShowColumns(columns: PrimaryTableCol<import("../type").TableRowData>[]): PrimaryTableCol<import("../type").TableRowData>[];
    renderShowColumnsDlgFooter(): import("vue").VNode;
    renderShowColumnsDlg(): import("vue").VNode;
    renderShowColumns(): import("vue").VNode;
    handleClickAllShowColumns(): void;
    handleConfirmShowColumnsDlg(): void;
    handleCancelShowColumnsDlg(): void;
    updateColumns(): void;
} & {
    showColumnCheckboxOpts: Record<string, any>;
    isAllShowColumns: boolean;
    isSomeShowColumns: boolean;
} & {
    columns: PrimaryTableCol<import("../type").TableRowData>[];
    showColumns: boolean;
} & {
    pullDownLoading: boolean;
} & {
    asyncLoadingHandler(data: import("../type").TableRowData[]): import("../type").TableRowData[];
    onLoadClick(): void;
    renderAsyncLoadingRow(): import("vue").VNode;
} & {
    classes: import("../../common").ClassName;
} & {
    columns: PrimaryTableCol<import("../type").TableRowData>[];
    asyncLoading: "loading" | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | "load-more";
}, unknown, {
    renderRows(params: RenderExpandRow): void;
}, {
    rehandleData: import("../type").TableRowData[];
    rehandleColumns: PrimaryTableCol<import("../type").TableRowData>[];
}, {
    asyncLoading: "loading" | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | "load-more";
    columns: 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?: 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("../../pagination/type").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: 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 default _default;
