/// <reference types="sortablejs" />
import type { PropType } from 'vue';
import type { TypeBaseTableProps, TypePrimaryTableProps } from './type';
export declare const BaseTableProps: {
    allowResizeColumnWidth: {
        type: BooleanConstructor;
        default: any;
    };
    bordered: BooleanConstructor;
    bottomContent: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    cellEmptyContent: {
        type: PropType<string | ((h: import("vue").CreateElement, props: import("./type").BaseTableCellParams<import("./type").TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    columns: {
        type: PropType<import("./type").BaseTableCol<import("./type").TableRowData>[]>;
        default: () => TypeBaseTableProps['columns'];
    };
    data: {
        type: PropType<import("./type").TableRowData[]>;
        default: () => TypeBaseTableProps['data'];
    };
    disableDataPage: BooleanConstructor;
    empty: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: string;
    };
    firstFullRow: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    fixedRows: {
        type: PropType<number[]>;
    };
    footData: {
        type: PropType<import("./type").TableRowData[]>;
        default: () => TypeBaseTableProps['footData'];
    };
    footerAffixProps: {
        type: PropType<Partial<import("../affix").TypeAffixProps>>;
    };
    footerAffixedBottom: {
        type: PropType<boolean | Partial<import("../affix").TypeAffixProps>>;
        default: boolean;
    };
    footerSummary: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    headerAffixProps: {
        type: PropType<Partial<import("../affix").TypeAffixProps>>;
    };
    headerAffixedTop: {
        type: PropType<boolean | Partial<import("../affix").TypeAffixProps>>;
        default: boolean;
    };
    height: {
        type: PropType<string | number>;
    };
    horizontalScrollAffixedBottom: {
        type: PropType<boolean | Partial<import("../affix").TypeAffixProps>>;
    };
    hover: BooleanConstructor;
    lastFullRow: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    loading: {
        type: PropType<boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: any;
    };
    loadingProps: {
        type: PropType<import("../loading").TypeLoadingProps>;
    };
    maxHeight: {
        type: PropType<string | number>;
    };
    pagination: {
        type: PropType<import("../pagination").TypePaginationProps>;
    };
    paginationAffixedBottom: {
        type: PropType<boolean | Partial<import("../affix").TypeAffixProps>>;
    };
    resizable: BooleanConstructor;
    rowAttributes: {
        type: PropType<import("./type").TableRowAttributes<import("./type").TableRowData>>;
    };
    rowClassName: {
        type: PropType<import("../../common.type").ClassName | ((params: import("./type").RowClassNameParams<import("./type").TableRowData>) => import("../../common.type").ClassName)>;
    };
    rowKey: {
        type: StringConstructor;
        default: string;
        required: boolean;
    };
    rowspanAndColspan: {
        type: PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
    };
    rowspanAndColspanInFooter: {
        type: PropType<import("./type").TableRowspanAndColspanFunc<import("./type").TableRowData>>;
    };
    scroll: {
        type: PropType<import("./type").TableScroll>;
    };
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: PropType<import("../../common.type").SizeType>;
        default: import("../../common.type").SizeType;
        validator(val: TypeBaseTableProps['size']): boolean;
    };
    stripe: BooleanConstructor;
    tableContentWidth: {
        type: StringConstructor;
        default: string;
    };
    tableLayout: {
        type: PropType<"fixed" | "auto">;
        default: "fixed" | "auto";
        validator(val: TypeBaseTableProps['tableLayout']): boolean;
    };
    topContent: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    verticalAlign: {
        type: PropType<"top" | "middle" | "bottom">;
        default: "top" | "middle" | "bottom";
        validator(val: TypeBaseTableProps['verticalAlign']): boolean;
    };
    onCellClick: PropType<(context: import("./type").BaseTableCellEventContext<import("./type").TableRowData>) => void>;
    onPageChange: PropType<(pageInfo: import("../pagination").PageInfo, newDataSource: import("./type").TableRowData[]) => void>;
    onRowClick: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowDblclick: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMousedown: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseenter: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseleave: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseover: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onRowMouseup: PropType<(context: import("./type").RowEventContext<import("./type").TableRowData>) => void>;
    onScroll: PropType<(params: {
        e: WheelEvent;
    }) => void>;
    onScrollX: PropType<(params: {
        e: WheelEvent;
    }) => void>;
    onScrollY: PropType<(params: {
        e: WheelEvent;
    }) => void>;
};
export declare const EnhancedTableProps: {
    beforeDragSort: {
        type: PropType<(context: import("./type").DragSortContext<import("./type").TableRowData>) => boolean>;
    };
    tree: {
        type: PropType<import("./type").TableTreeConfig>;
    };
    treeExpandAndFoldIcon: {
        type: PropType<(h: import("vue").CreateElement, props: {
            type: "expand" | "fold";
        }) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    onAbnormalDragSort: PropType<(context: import("./type").TableAbnormalDragSortContext<import("./type").TableRowData>) => void>;
    onTreeExpandChange: PropType<(context: import("./type").TableTreeExpandChangeContext<import("./type").TableRowData>) => void>;
};
export declare const PrimaryTableProps: {
    asyncLoading: {
        type: PropType<((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | "loading" | "load-more">;
    };
    columnController: {
        type: PropType<import("./type").TableColumnController>;
    };
    columnControllerVisible: {
        type: BooleanConstructor;
        default: any;
    };
    defaultColumnControllerVisible: {
        type: BooleanConstructor;
        default: any;
    };
    columns: {
        type: PropType<import("./type").PrimaryTableCol<import("./type").TableRowData>[]>;
        default: () => TypePrimaryTableProps['columns'];
    };
    displayColumns: {
        type: PropType<import("../checkbox").CheckboxGroupValue>;
        default: any;
    };
    defaultDisplayColumns: {
        type: PropType<import("../checkbox").CheckboxGroupValue>;
    };
    dragSort: {
        type: PropType<"col" | "row" | "row-handler" | "row-handler-col" | "drag-col">;
        validator(val: TypePrimaryTableProps['dragSort']): boolean;
    };
    dragSortOptions: {
        type: PropType<import("sortablejs").SortableOptions>;
    };
    editableCellState: {
        type: PropType<import("./type").EditableCellType<import("./type").TableRowData>>;
    };
    editableRowKeys: {
        type: PropType<(string | number)[]>;
    };
    expandIcon: {
        type: PropType<boolean | ((h: import("vue").CreateElement, props: import("./type").ExpandArrowRenderParams<import("./type").TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue)>;
        default: boolean;
    };
    expandOnRowClick: BooleanConstructor;
    expandedRow: {
        type: PropType<(h: import("vue").CreateElement, props: import("./type").TableExpandedRowParams<import("./type").TableRowData>) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    expandedRowKeys: {
        type: PropType<(string | number)[]>;
        default: String[];
    };
    defaultExpandedRowKeys: {
        type: PropType<(string | number)[]>;
        default: () => TypePrimaryTableProps['defaultExpandedRowKeys'];
    };
    filterIcon: {
        type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    filterRow: {
        type: PropType<string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue)>;
    };
    filterValue: {
        type: PropType<import("./type").FilterValue>;
        default: any;
    };
    defaultFilterValue: {
        type: PropType<import("./type").FilterValue>;
    };
    hideSortTips: BooleanConstructor;
    indeterminateSelectedRowKeys: {
        type: PropType<(string | number)[]>;
    };
    multipleSort: BooleanConstructor;
    selectedRowKeys: {
        type: PropType<(string | number)[]>;
        default: any;
    };
    defaultSelectedRowKeys: {
        type: PropType<(string | number)[]>;
        default: () => TypePrimaryTableProps['defaultSelectedRowKeys'];
    };
    showSortColumnBgColor: BooleanConstructor;
    sort: {
        type: PropType<import("./type").TableSort>;
        default: any;
    };
    defaultSort: {
        type: PropType<import("./type").TableSort>;
    };
    sortIcon: {
        type: PropType<(h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue>;
    };
    sortOnRowDraggable: BooleanConstructor;
    onAsyncLoadingClick: PropType<(context: {
        status: "loading" | "load-more";
    }) => void>;
    onCellClick: PropType<(context: import("./type").PrimaryTableCellEventContext<import("./type").TableRowData>) => void>;
    onChange: PropType<(data: import("./type").TableChangeData, context: import("./type").TableChangeContext<import("./type").TableRowData>) => void>;
    onColumnChange: PropType<(context: import("./type").PrimaryTableColumnChange<import("./type").TableRowData>) => void>;
    onColumnControllerVisibleChange: PropType<(visible: boolean, context: {
        trigger: "cancel" | "confirm";
    }) => void>;
    onDataChange: PropType<(data: import("./type").TableRowData[], context: import("./type").TableDataChangeContext) => void>;
    onDisplayColumnsChange: PropType<(value: import("../checkbox").CheckboxGroupValue) => void>;
    onDragSort: PropType<(context: import("./type").DragSortContext<import("./type").TableRowData>) => void>;
    onExpandChange: PropType<(expandedRowKeys: (string | number)[], options: import("./type").ExpandOptions<import("./type").TableRowData>) => void>;
    onFilterChange: PropType<(filterValue: import("./type").FilterValue, context: {
        col?: import("./type").PrimaryTableCol<import("./type").TableRowData>;
    }) => void>;
    onRowEdit: PropType<(context: import("./type").PrimaryTableRowEditContext<import("./type").TableRowData>) => void>;
    onRowValidate: PropType<(context: import("./type").PrimaryTableRowValidateContext<import("./type").TableRowData>) => void>;
    onSelectChange: PropType<(selectedRowKeys: (string | number)[], options: import("./type").SelectOptions<import("./type").TableRowData>) => void>;
    onSortChange: PropType<(sort: import("./type").TableSort, options: import("./type").SortOptions<import("./type").TableRowData>) => void>;
    onValidate: PropType<(context: import("./type").PrimaryTableValidateContext) => void>;
};
