import { Ref } from 'vue';
import { ElTableInstance } from '../ele-app/el';
import { DataKey, DataItem, Column, Columns, Sorter, Filter } from './types';

declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    stripe: {
        type: BooleanConstructor;
        default: null;
    };
    border: {
        type: BooleanConstructor;
        default: null;
    };
    rowKey: {
        type: import('vue').PropType<import('./types').RowKey>;
        required: boolean;
    };
    columns: {
        type: import('vue').PropType<Columns>;
        required: boolean;
    };
    pageIndex: NumberConstructor;
    errorText: StringConstructor;
    headerEllipsis: {
        type: BooleanConstructor;
        default: boolean;
    };
    slotNormalize: {
        type: BooleanConstructor;
        default: boolean;
    };
    sticky: BooleanConstructor;
    bottomLine: {
        type: BooleanConstructor;
        default: boolean;
    };
    emptyProps: {
        type: import('vue').PropType<import('./types').TableEmptyProps>;
        default: () => null;
    };
    rowClickChecked: import('vue').PropType<import('./types').RowClickChecked>;
    reserveCurrent: BooleanConstructor;
    selectedRowKeys: import('vue').PropType<DataKey[]>;
    cacheData: import('vue').PropType<DataItem[]>;
    data: {
        type: import('vue').PropType<any[]>;
        default: () => never[];
    };
    width: (NumberConstructor | StringConstructor)[];
    height: (NumberConstructor | StringConstructor)[];
    size: {
        readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    fit: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxHeight: (NumberConstructor | StringConstructor)[];
    lazy: BooleanConstructor;
    className: {
        type: StringConstructor;
        default: string;
    };
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    showSummary: BooleanConstructor;
    sumText: StringConstructor;
    summaryMethod: import('vue').PropType<import('element-plus').SummaryMethod<any> | undefined>;
    rowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
    rowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
    cellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
    cellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
    headerRowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
    headerRowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
    headerCellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
    headerCellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
    highlightCurrentRow: BooleanConstructor;
    currentRowKey: (NumberConstructor | StringConstructor)[];
    emptyText: StringConstructor;
    expandRowKeys: import('vue').PropType<string[] | undefined>;
    defaultExpandAll: BooleanConstructor;
    defaultSort: import('vue').PropType<import('element-plus').Sort | undefined>;
    tooltipEffect: StringConstructor;
    tooltipOptions: import('vue').PropType<Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
    spanMethod: import('vue').PropType<((data: {
        row: any;
        rowIndex: number;
        column: import('element-plus').TableColumnCtx<any>;
        columnIndex: number;
    }) => number[] | {
        rowspan: number;
        colspan: number;
    } | undefined) | undefined>;
    selectOnIndeterminate: {
        type: BooleanConstructor;
        default: boolean;
    };
    indent: {
        type: NumberConstructor;
        default: number;
    };
    treeProps: {
        type: import('vue').PropType<import('element-plus/es/components/table/src/table/defaults').TreeProps | undefined>;
        default: () => {
            hasChildren: string;
            children: string;
            checkStrictly: boolean;
        };
    };
    load: import('vue').PropType<((row: any, treeNode: import('element-plus').TreeNode, resolve: (data: any[]) => void) => void) | undefined>;
    tableLayout: {
        type: import('vue').PropType<"fixed" | "auto">;
        default: string;
    };
    scrollbarAlwaysOn: BooleanConstructor;
    flexible: BooleanConstructor;
    showOverflowTooltip: import('vue').PropType<boolean | Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
    appendFilterPanelTo: StringConstructor;
    scrollbarTabindex: {
        type: (NumberConstructor | StringConstructor)[];
        default: undefined;
    };
}>, {
    clearSort: () => void;
    clearSelection: () => void;
    toggleRowSelection: (row: DataItem, selected?: boolean) => void;
    setCurrentRow: (row?: DataItem | null) => void;
    setCurrentRowKey: (key?: DataKey | null) => void;
    getCurrentRow: () => DataItem | undefined;
    setSelectedRows: (rows?: DataItem[]) => void;
    setSelectedRowKeys: (keys?: DataKey[]) => void;
    toggleRowExpansionAll: (expanded?: boolean) => void;
    updateSelectedAndChecked: () => void;
    updateKeyChildren: (key?: DataKey | null, rows?: DataItem[]) => void;
    tableRef: Ref<ElTableInstance, ElTableInstance>;
    getSelectionRows: () => DataItem[] | undefined;
    toggleAllSelection: () => void;
    toggleRowExpansion: (row: DataItem, expanded?: boolean) => void;
    clearFilter: (columnKeys?: string[]) => void;
    doLayout: () => void;
    sort: (prop: string, order: string) => void;
    scrollTo: (options: number | ScrollToOptions, yCoord?: number) => void;
    setScrollTop: (top?: number) => void;
    setScrollLeft: (left?: number) => void;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    select: (_selection: DataItem[], _row: DataItem) => boolean;
    selectAll: (_selection: DataItem[]) => boolean;
    selectionChange: (_selection: DataItem[]) => boolean;
    cellMouseEnter: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
    cellMouseLeave: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
    cellClick: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
    cellDblclick: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
    cellContextmenu: (_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => boolean;
    rowClick: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
    rowContextmenu: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
    rowDblclick: (_row: DataItem, _column: Column, _e: MouseEvent) => boolean;
    headerClick: (_column: Column, _e: MouseEvent) => boolean;
    headerContextmenu: (_column: Column, _e: MouseEvent) => boolean;
    sortChange: (_sorter: Sorter) => boolean;
    filterChange: (_filter: Filter) => boolean;
    currentChange: (_current?: DataItem | null, _old?: DataItem | null) => boolean;
    headerDragend: (_width: number, _old: number, _column: Column, _e: MouseEvent) => boolean;
    expandChange: (_row: DataItem, _expanded: boolean) => boolean;
    'update:currentRowKey': (_currentRowKey?: DataKey) => boolean;
    'update:selectedRowKeys': (_selectedRowKeys?: DataKey[]) => boolean;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    stripe: {
        type: BooleanConstructor;
        default: null;
    };
    border: {
        type: BooleanConstructor;
        default: null;
    };
    rowKey: {
        type: import('vue').PropType<import('./types').RowKey>;
        required: boolean;
    };
    columns: {
        type: import('vue').PropType<Columns>;
        required: boolean;
    };
    pageIndex: NumberConstructor;
    errorText: StringConstructor;
    headerEllipsis: {
        type: BooleanConstructor;
        default: boolean;
    };
    slotNormalize: {
        type: BooleanConstructor;
        default: boolean;
    };
    sticky: BooleanConstructor;
    bottomLine: {
        type: BooleanConstructor;
        default: boolean;
    };
    emptyProps: {
        type: import('vue').PropType<import('./types').TableEmptyProps>;
        default: () => null;
    };
    rowClickChecked: import('vue').PropType<import('./types').RowClickChecked>;
    reserveCurrent: BooleanConstructor;
    selectedRowKeys: import('vue').PropType<DataKey[]>;
    cacheData: import('vue').PropType<DataItem[]>;
    data: {
        type: import('vue').PropType<any[]>;
        default: () => never[];
    };
    width: (NumberConstructor | StringConstructor)[];
    height: (NumberConstructor | StringConstructor)[];
    size: {
        readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    fit: {
        type: BooleanConstructor;
        default: boolean;
    };
    maxHeight: (NumberConstructor | StringConstructor)[];
    lazy: BooleanConstructor;
    className: {
        type: StringConstructor;
        default: string;
    };
    showHeader: {
        type: BooleanConstructor;
        default: boolean;
    };
    showSummary: BooleanConstructor;
    sumText: StringConstructor;
    summaryMethod: import('vue').PropType<import('element-plus').SummaryMethod<any> | undefined>;
    rowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
    rowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
    cellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
    cellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
    headerRowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
    headerRowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
    headerCellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
    headerCellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
    highlightCurrentRow: BooleanConstructor;
    currentRowKey: (NumberConstructor | StringConstructor)[];
    emptyText: StringConstructor;
    expandRowKeys: import('vue').PropType<string[] | undefined>;
    defaultExpandAll: BooleanConstructor;
    defaultSort: import('vue').PropType<import('element-plus').Sort | undefined>;
    tooltipEffect: StringConstructor;
    tooltipOptions: import('vue').PropType<Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
    spanMethod: import('vue').PropType<((data: {
        row: any;
        rowIndex: number;
        column: import('element-plus').TableColumnCtx<any>;
        columnIndex: number;
    }) => number[] | {
        rowspan: number;
        colspan: number;
    } | undefined) | undefined>;
    selectOnIndeterminate: {
        type: BooleanConstructor;
        default: boolean;
    };
    indent: {
        type: NumberConstructor;
        default: number;
    };
    treeProps: {
        type: import('vue').PropType<import('element-plus/es/components/table/src/table/defaults').TreeProps | undefined>;
        default: () => {
            hasChildren: string;
            children: string;
            checkStrictly: boolean;
        };
    };
    load: import('vue').PropType<((row: any, treeNode: import('element-plus').TreeNode, resolve: (data: any[]) => void) => void) | undefined>;
    tableLayout: {
        type: import('vue').PropType<"fixed" | "auto">;
        default: string;
    };
    scrollbarAlwaysOn: BooleanConstructor;
    flexible: BooleanConstructor;
    showOverflowTooltip: import('vue').PropType<boolean | Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
    appendFilterPanelTo: StringConstructor;
    scrollbarTabindex: {
        type: (NumberConstructor | StringConstructor)[];
        default: undefined;
    };
}>> & Readonly<{
    onSelect?: ((_selection: DataItem[], _row: DataItem) => any) | undefined;
    onFilterChange?: ((_filter: Filter) => any) | undefined;
    onSelectAll?: ((_selection: DataItem[]) => any) | undefined;
    onSelectionChange?: ((_selection: DataItem[]) => any) | undefined;
    onCellMouseEnter?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
    onCellMouseLeave?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
    onCellClick?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
    onCellDblclick?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
    onCellContextmenu?: ((_row: DataItem, _column: Column, _cell: HTMLTableCellElement, _e: MouseEvent) => any) | undefined;
    onRowClick?: ((_row: DataItem, _column: Column, _e: MouseEvent) => any) | undefined;
    onRowContextmenu?: ((_row: DataItem, _column: Column, _e: MouseEvent) => any) | undefined;
    onRowDblclick?: ((_row: DataItem, _column: Column, _e: MouseEvent) => any) | undefined;
    onHeaderClick?: ((_column: Column, _e: MouseEvent) => any) | undefined;
    onHeaderContextmenu?: ((_column: Column, _e: MouseEvent) => any) | undefined;
    onSortChange?: ((_sorter: Sorter) => any) | undefined;
    onCurrentChange?: ((_current?: DataItem | null | undefined, _old?: DataItem | null | undefined) => any) | undefined;
    onHeaderDragend?: ((_width: number, _old: number, _column: Column, _e: MouseEvent) => any) | undefined;
    onExpandChange?: ((_row: DataItem, _expanded: boolean) => any) | undefined;
    "onUpdate:currentRowKey"?: ((_currentRowKey?: DataKey | undefined) => any) | undefined;
    "onUpdate:selectedRowKeys"?: ((_selectedRowKeys?: DataKey[] | undefined) => any) | undefined;
}>, {
    data: any[];
    fit: boolean;
    lazy: boolean;
    className: string;
    stripe: boolean;
    border: boolean;
    showHeader: boolean;
    showSummary: boolean;
    highlightCurrentRow: boolean;
    defaultExpandAll: boolean;
    selectOnIndeterminate: boolean;
    indent: number;
    treeProps: import('element-plus/es/components/table/src/table/defaults').TreeProps | undefined;
    tableLayout: "fixed" | "auto";
    scrollbarAlwaysOn: boolean;
    flexible: boolean;
    scrollbarTabindex: string | number;
    sticky: boolean;
    headerEllipsis: boolean;
    slotNormalize: boolean;
    bottomLine: boolean;
    emptyProps: import('./types').TableEmptyProps;
    reserveCurrent: boolean;
}, {}, {
    ElTable: import('element-plus/es/utils/index').SFCWithInstall<import('vue').DefineComponent<{
        data: {
            type: import('vue').PropType<any[]>;
            default: () => never[];
        };
        size: {
            readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        width: (NumberConstructor | StringConstructor)[];
        height: (NumberConstructor | StringConstructor)[];
        maxHeight: (NumberConstructor | StringConstructor)[];
        fit: {
            type: BooleanConstructor;
            default: boolean;
        };
        stripe: BooleanConstructor;
        border: BooleanConstructor;
        rowKey: import('vue').PropType<string | ((row: any) => string) | undefined>;
        showHeader: {
            type: BooleanConstructor;
            default: boolean;
        };
        showSummary: BooleanConstructor;
        sumText: StringConstructor;
        summaryMethod: import('vue').PropType<import('element-plus').SummaryMethod<any> | undefined>;
        rowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
        rowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
        cellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
        cellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
        headerRowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
        headerRowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
        headerCellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
        headerCellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
        highlightCurrentRow: BooleanConstructor;
        currentRowKey: (NumberConstructor | StringConstructor)[];
        emptyText: StringConstructor;
        expandRowKeys: import('vue').PropType<string[] | undefined>;
        defaultExpandAll: BooleanConstructor;
        defaultSort: import('vue').PropType<import('element-plus').Sort | undefined>;
        tooltipEffect: StringConstructor;
        tooltipOptions: import('vue').PropType<Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
        spanMethod: import('vue').PropType<((data: {
            row: any;
            rowIndex: number;
            column: import('element-plus').TableColumnCtx<any>;
            columnIndex: number;
        }) => number[] | {
            rowspan: number;
            colspan: number;
        } | undefined) | undefined>;
        selectOnIndeterminate: {
            type: BooleanConstructor;
            default: boolean;
        };
        indent: {
            type: NumberConstructor;
            default: number;
        };
        treeProps: {
            type: import('vue').PropType<import('element-plus/es/components/table/src/table/defaults').TreeProps | undefined>;
            default: () => {
                hasChildren: string;
                children: string;
                checkStrictly: boolean;
            };
        };
        lazy: BooleanConstructor;
        load: import('vue').PropType<((row: any, treeNode: import('element-plus').TreeNode, resolve: (data: any[]) => void) => void) | undefined>;
        style: {
            type: import('vue').PropType<import('vue').CSSProperties>;
            default: () => {};
        };
        className: {
            type: StringConstructor;
            default: string;
        };
        tableLayout: {
            type: import('vue').PropType<"fixed" | "auto">;
            default: string;
        };
        scrollbarAlwaysOn: BooleanConstructor;
        flexible: BooleanConstructor;
        showOverflowTooltip: import('vue').PropType<boolean | Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
        appendFilterPanelTo: StringConstructor;
        scrollbarTabindex: {
            type: (NumberConstructor | StringConstructor)[];
            default: undefined;
        };
    }, {
        ns: {
            namespace: import('vue').ComputedRef<string>;
            b: (blockSuffix?: string) => string;
            e: (element?: string | undefined) => string;
            m: (modifier?: string | undefined) => string;
            be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
            em: (element?: string | undefined, modifier?: string | undefined) => string;
            bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
            bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
            is: {
                (name: string, state: boolean | undefined): string;
                (name: string): string;
            };
            cssVar: (object: Record<string, string>) => Record<string, string>;
            cssVarName: (name: string) => string;
            cssVarBlock: (object: Record<string, string>) => Record<string, string>;
            cssVarBlockName: (name: string) => string;
        };
        layout: import('element-plus/es/components/table/src/table-layout').default<any>;
        store: any;
        columns: import('vue').ComputedRef<import('element-plus').TableColumnCtx<unknown>>;
        handleHeaderFooterMousewheel: (event: any, data: any) => void;
        handleMouseLeave: () => void;
        tableId: string;
        tableSize: import('vue').ComputedRef<"" | "small" | "default" | "large">;
        isHidden: import('vue/dist/vue.js').Ref<boolean>;
        isEmpty: import('vue').ComputedRef<boolean>;
        renderExpanded: import('vue/dist/vue.js').Ref<null>;
        resizeProxyVisible: import('vue/dist/vue.js').Ref<boolean>;
        resizeState: import('vue/dist/vue.js').Ref<{
            width: number | null;
            height: number | null;
            headerHeight: number | null;
        }>;
        isGroup: import('vue/dist/vue.js').Ref<boolean>;
        bodyWidth: import('vue').ComputedRef<string>;
        tableBodyStyles: import('vue').ComputedRef<{
            width: string;
        }>;
        emptyBlockStyle: import('vue').ComputedRef<{
            width: string;
            height: string;
        } | null>;
        debouncedUpdateLayout: import('lodash').DebouncedFunc<() => void>;
        handleFixedMousewheel: (event: any, data: any) => void;
        setCurrentRow: (row: any) => void;
        getSelectionRows: () => any;
        toggleRowSelection: (row: any, selected?: boolean | undefined, ignoreSelectable?: boolean) => void;
        clearSelection: () => void;
        clearFilter: (columnKeys?: string[] | undefined) => void;
        toggleAllSelection: () => void;
        toggleRowExpansion: (row: any, expanded?: boolean | undefined) => void;
        clearSort: () => void;
        doLayout: () => void;
        sort: (prop: string, order: string) => void;
        updateKeyChildren: (key: string, data: any[]) => void;
        t: import('element-plus').Translator;
        setDragVisible: (visible: boolean) => void;
        context: import('element-plus').Table<any>;
        computedSumText: import('vue').ComputedRef<string>;
        computedEmptyText: import('vue').ComputedRef<string>;
        tableLayout: import('vue').ComputedRef<("fixed" | "auto") | undefined>;
        scrollbarViewStyle: {
            display: string;
            verticalAlign: string;
        };
        tableInnerStyle: import('vue').ComputedRef<{
            height: string | number;
            maxHeight?: undefined;
        } | {
            maxHeight: string | number;
            height?: undefined;
        } | {
            height?: undefined;
            maxHeight?: undefined;
        }>;
        scrollbarStyle: import('vue').ComputedRef<{
            height: string;
            maxHeight?: undefined;
        } | {
            maxHeight: string;
            height?: undefined;
        } | {
            height?: undefined;
            maxHeight?: undefined;
        }>;
        scrollBarRef: import('vue/dist/vue.js').Ref<any>;
        scrollTo: (options: number | ScrollToOptions, yCoord?: number | undefined) => void;
        setScrollLeft: (left? /** 更新单选和多选选中 */: number | undefined) => void;
        setScrollTop: (top?: number | undefined) => void;
    }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("select" | "select-all" | "expand-change" | "current-change" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "header-dragend")[], "select" | "select-all" | "expand-change" | "current-change" | "selection-change" | "cell-mouse-enter" | "cell-mouse-leave" | "cell-contextmenu" | "cell-click" | "cell-dblclick" | "row-click" | "row-contextmenu" | "row-dblclick" | "header-click" | "header-contextmenu" | "sort-change" | "filter-change" | "header-dragend", import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, Readonly<import('vue').ExtractPropTypes<{
        data: {
            type: import('vue').PropType<any[]>;
            default: () => never[];
        };
        size: {
            readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "small" | "default" | "large", never>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        width: (NumberConstructor | StringConstructor)[];
        height: (NumberConstructor | StringConstructor)[];
        maxHeight: (NumberConstructor | StringConstructor)[];
        fit: {
            type: BooleanConstructor;
            default: boolean;
        };
        stripe: BooleanConstructor;
        border: BooleanConstructor;
        rowKey: import('vue').PropType<string | ((row: any) => string) | undefined>;
        showHeader: {
            type: BooleanConstructor;
            default: boolean;
        };
        showSummary: BooleanConstructor;
        sumText: StringConstructor;
        summaryMethod: import('vue').PropType<import('element-plus').SummaryMethod<any> | undefined>;
        rowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
        rowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
        cellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
        cellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
        headerRowClassName: import('vue').PropType<import('element-plus').ColumnCls<any> | undefined>;
        headerRowStyle: import('vue').PropType<import('element-plus').ColumnStyle<any> | undefined>;
        headerCellClassName: import('vue').PropType<import('element-plus').CellCls<any> | undefined>;
        headerCellStyle: import('vue').PropType<import('element-plus').CellStyle<any> | undefined>;
        highlightCurrentRow: BooleanConstructor;
        currentRowKey: (NumberConstructor | StringConstructor)[];
        emptyText: StringConstructor;
        expandRowKeys: import('vue').PropType<string[] | undefined>;
        defaultExpandAll: BooleanConstructor;
        defaultSort: import('vue').PropType<import('element-plus').Sort | undefined>;
        tooltipEffect: StringConstructor;
        tooltipOptions: import('vue').PropType<Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
        spanMethod: import('vue').PropType<((data: {
            row: any;
            rowIndex: number;
            column: import('element-plus').TableColumnCtx<any>;
            columnIndex: number;
        }) => number[] | {
            rowspan: number;
            colspan: number;
        } | undefined) | undefined>;
        selectOnIndeterminate: {
            type: BooleanConstructor;
            default: boolean;
        };
        indent: {
            type: NumberConstructor;
            default: number;
        };
        treeProps: {
            type: import('vue').PropType<import('element-plus/es/components/table/src/table/defaults').TreeProps | undefined>;
            default: () => {
                hasChildren: string;
                children: string;
                checkStrictly: boolean;
            };
        };
        lazy: BooleanConstructor;
        load: import('vue').PropType<((row: any, treeNode: import('element-plus').TreeNode, resolve: (data: any[]) => void) => void) | undefined>;
        style: {
            type: import('vue').PropType<import('vue').CSSProperties>;
            default: () => {};
        };
        className: {
            type: StringConstructor;
            default: string;
        };
        tableLayout: {
            type: import('vue').PropType<"fixed" | "auto">;
            default: string;
        };
        scrollbarAlwaysOn: BooleanConstructor;
        flexible: BooleanConstructor;
        showOverflowTooltip: import('vue').PropType<boolean | Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
        appendFilterPanelTo: StringConstructor;
        scrollbarTabindex: {
            type: (NumberConstructor | StringConstructor)[];
            default: undefined;
        };
    }>> & {
        onSelect?: ((...args: any[]) => any) | undefined;
        "onExpand-change"?: ((...args: any[]) => any) | undefined;
        "onCurrent-change"?: ((...args: any[]) => any) | undefined;
        "onSelect-all"?: ((...args: any[]) => any) | undefined;
        "onSelection-change"?: ((...args: any[]) => any) | undefined;
        "onCell-mouse-enter"?: ((...args: any[]) => any) | undefined;
        "onCell-mouse-leave"?: ((...args: any[]) => any) | undefined;
        "onCell-contextmenu"?: ((...args: any[]) => any) | undefined;
        "onCell-click"?: ((...args: any[]) => any) | undefined;
        "onCell-dblclick"?: ((...args: any[]) => any) | undefined;
        "onRow-click"?: ((...args: any[]) => any) | undefined;
        "onRow-contextmenu"?: ((...args: any[]) => any) | undefined;
        "onRow-dblclick"?: ((...args: any[]) => any) | undefined;
        "onHeader-click"?: ((...args: any[]) => any) | undefined;
        "onHeader-contextmenu"?: ((...args: any[]) => any) | undefined;
        "onSort-change"?: ((...args: any[]) => any) | undefined;
        "onFilter-change"?: ((...args: any[]) => any) | undefined;
        "onHeader-dragend"?: ((...args: any[]) => any) | undefined;
    }, {
        data: any[];
        style: import('vue').CSSProperties;
        tableLayout: "fixed" | "auto";
        border: boolean;
        className: string;
        fit: boolean;
        lazy: boolean;
        scrollbarAlwaysOn: boolean;
        defaultExpandAll: boolean;
        indent: number;
        stripe: boolean;
        treeProps: import('element-plus/es/components/table/src/table/defaults').TreeProps | undefined;
        showHeader: boolean;
        showSummary: boolean;
        highlightCurrentRow: boolean;
        selectOnIndeterminate: boolean;
        flexible: boolean;
        scrollbarTabindex: string | number;
    }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>> & {
        TableColumn: import('vue').DefineComponent<{
            type: {
                type: StringConstructor;
                default: string;
            };
            label: StringConstructor;
            className: StringConstructor;
            labelClassName: StringConstructor;
            property: StringConstructor;
            prop: StringConstructor;
            width: {
                type: (NumberConstructor | StringConstructor)[];
                default: string;
            };
            minWidth: {
                type: (NumberConstructor | StringConstructor)[];
                default: string;
            };
            renderHeader: import('vue').PropType<(data: {
                column: import('element-plus').TableColumnCtx<any>;
                $index: number;
            }) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
                [key: string]: any;
            }>>;
            sortable: {
                type: (StringConstructor | BooleanConstructor)[];
                default: boolean;
            };
            sortMethod: import('vue').PropType<(a: any, b: any) => number>;
            sortBy: import('vue').PropType<string | string[] | ((row: any, index: number) => string)>;
            resizable: {
                type: BooleanConstructor;
                default: boolean;
            };
            columnKey: StringConstructor;
            align: StringConstructor;
            headerAlign: StringConstructor;
            showOverflowTooltip: {
                type: import('vue').PropType<boolean | Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
                default: undefined;
            };
            fixed: (StringConstructor | BooleanConstructor)[];
            formatter: import('vue').PropType<(row: any, column: import('element-plus').TableColumnCtx<any>, cellValue: any, index: number) => string | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
                [key: string]: any;
            }>>;
            selectable: import('vue').PropType<(row: any, index: number) => boolean>;
            reserveSelection: BooleanConstructor;
            filterMethod: import('vue').PropType<import('element-plus/es/components/table/src/table-column/defaults').FilterMethods<any>>;
            filteredValue: import('vue').PropType<string[]>;
            filters: import('vue').PropType<import('element-plus/es/components/table/src/table-column/defaults').Filters>;
            filterPlacement: StringConstructor;
            filterMultiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            filterClassName: StringConstructor;
            index: import('vue').PropType<number | ((index: number) => number)>;
            sortOrders: {
                type: import('vue').PropType<("ascending" | "descending" | null)[]>;
                default: () => (string | null)[];
                validator: (val: ("ascending" | "descending" | null)[]) => boolean;
            };
        }, void, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, Readonly<import('vue').ExtractPropTypes<{
            type: {
                type: StringConstructor;
                default: string;
            };
            label: StringConstructor;
            className: StringConstructor;
            labelClassName: StringConstructor;
            property: StringConstructor;
            prop: StringConstructor;
            width: {
                type: (NumberConstructor | StringConstructor)[];
                default: string;
            };
            minWidth: {
                type: (NumberConstructor | StringConstructor)[];
                default: string;
            };
            renderHeader: import('vue').PropType<(data: {
                column: import('element-plus').TableColumnCtx<any>;
                $index: number;
            }) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
                [key: string]: any;
            }>>;
            sortable: {
                type: (StringConstructor | BooleanConstructor)[];
                default: boolean;
            };
            sortMethod: import('vue').PropType<(a: any, b: any) => number>;
            sortBy: import('vue').PropType<string | string[] | ((row: any, index: number) => string)>;
            resizable: {
                type: BooleanConstructor;
                default: boolean;
            };
            columnKey: StringConstructor;
            align: StringConstructor;
            headerAlign: StringConstructor;
            showOverflowTooltip: {
                type: import('vue').PropType<boolean | Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined>;
                default: undefined;
            };
            fixed: (StringConstructor | BooleanConstructor)[];
            formatter: import('vue').PropType<(row: any, column: import('element-plus').TableColumnCtx<any>, cellValue: any, index: number) => string | import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
                [key: string]: any;
            }>>;
            selectable: import('vue').PropType<(row: any, index: number) => boolean>;
            reserveSelection: BooleanConstructor;
            filterMethod: import('vue').PropType<import('element-plus/es/components/table/src/table-column/defaults').FilterMethods<any>>;
            filteredValue: import('vue').PropType<string[]>;
            filters: import('vue').PropType<import('element-plus/es/components/table/src/table-column/defaults').Filters>;
            filterPlacement: StringConstructor;
            filterMultiple: {
                type: BooleanConstructor;
                default: boolean;
            };
            filterClassName: StringConstructor;
            index: import('vue').PropType<number | ((index: number) => number)>;
            sortOrders: {
                type: import('vue').PropType<("ascending" | "descending" | null)[]>;
                default: () => (string | null)[];
                validator: (val: ("ascending" | "descending" | null)[]) => boolean;
            };
        }>>, {
            width: string | number;
            minWidth: string | number;
            type: string;
            showOverflowTooltip: boolean | Partial<Pick<import('element-plus').ElTooltipProps, "offset" | "transition" | "placement" | "effect" | "showAfter" | "hideAfter" | "popperOptions" | "enterable" | "popperClass" | "appendTo" | "showArrow">> | undefined;
            sortOrders: ("ascending" | "descending" | null)[];
            sortable: string | boolean;
            resizable: boolean;
            reserveSelection: boolean;
            filterMultiple: boolean;
        }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
    };
    ElEmpty: import('element-plus/es/utils/index').SFCWithInstall<{
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
            readonly image: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly imageSize: NumberConstructor;
            readonly description: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        }>>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, {
            readonly image: string;
            readonly description: string;
        }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('vue').ExtractPropTypes<{
            readonly image: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
            readonly imageSize: NumberConstructor;
            readonly description: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        }>>, {}, {}, {}, {}, {
            readonly image: string;
            readonly description: string;
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
        readonly image: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
        readonly imageSize: NumberConstructor;
        readonly description: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
    }>>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record<string, any>, string, {
        readonly image: string;
        readonly description: string;
    }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
        $slots: {
            image?(_: {}): any;
            description?(_: {}): any;
            default?(_: {}): any;
        };
    })>;
}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
export default _default;
