import type { TableV2Instance } from 'element-plus';
declare var __VLS_10: {}, __VLS_13: {}, __VLS_16: {}, __VLS_19: any, __VLS_22: {}, __VLS_25: {}, __VLS_28: {};
type __VLS_Slots = {} & {
    cell?: (props: typeof __VLS_10) => any;
} & {
    header?: (props: typeof __VLS_13) => any;
} & {
    headerCell?: (props: typeof __VLS_16) => any;
} & {
    row?: (props: typeof __VLS_19) => any;
} & {
    footer?: (props: typeof __VLS_22) => any;
} & {
    empty?: (props: typeof __VLS_25) => any;
} & {
    overlay?: (props: typeof __VLS_28) => any;
};
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
    tableId: {
        type: StringConstructor;
    };
    cache: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 2;
    };
    estimatedRowHeight: {
        readonly default: undefined;
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        readonly __epPropKey: true;
    };
    rowKey: {
        readonly type: import("vue").PropType<string | number | symbol>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "id";
    };
    headerClass: {
        readonly type: import("vue").PropType<string | import("element-plus").HeaderClassNameGetter<any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    headerProps: {
        readonly type: import("vue").PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    headerCellProps: {
        readonly type: import("vue").PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    headerHeight: {
        readonly type: import("vue").PropType<number | number[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 50;
    };
    footerHeight: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 0;
    };
    rowClass: {
        readonly type: import("vue").PropType<string | import("element-plus").RowClassNameGetter<any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    rowProps: {
        readonly type: import("vue").PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    rowHeight: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 50;
    };
    cellProps: {
        readonly type: import("vue").PropType<Record<string, any> | import("element-plus").ExtraCellPropGetter<any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    columns: {
        readonly type: import("vue").PropType<{
            [key: string]: any;
            align?: "left" | "right" | "center" | undefined;
            class?: string | ((params: {
                cellData: any;
            } & {
                rowData: any;
                rowIndex: number;
            } & {
                columns: import("element-plus").Column<any>[];
                column: import("element-plus").Column<any>;
                columnIndex: number;
            }) => string) | undefined;
            key?: (string | number | symbol) | undefined;
            dataKey?: (string | number | symbol) | undefined;
            fixed?: true | import("element-plus").TableV2FixedDir | undefined;
            flexGrow?: import("csstype").Property.FlexGrow | undefined;
            flexShrink?: import("csstype").Property.FlexShrink | undefined;
            title?: string | undefined;
            hidden?: boolean | undefined;
            headerClass?: string | ((params: {
                columns: import("element-plus").Column<any>[];
                column: import("element-plus").Column<any>;
                columnIndex: number;
            } & {
                headerIndex: number;
            }) => string) | undefined;
            maxWidth?: number | undefined;
            minWidth?: number | undefined;
            style?: import("vue").CSSProperties | undefined;
            sortable?: boolean | undefined;
            width: number;
            cellRenderer?: ((params: {
                cellData: any;
            } & {
                rowData: any;
                rowIndex: number;
            } & {
                columns: import("element-plus").Column<any>[];
                column: import("element-plus").Column<any>;
                columnIndex: number;
            }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) | undefined;
            headerCellRenderer?: ((params: {
                headerIndex: number;
            } & {
                columns: import("element-plus").Column<any>[];
                column: import("element-plus").Column<any>;
                columnIndex: number;
            }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) | undefined;
        }[]>;
        readonly required: true;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    data: {
        readonly type: import("vue").PropType<any[]>;
        readonly required: true;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    dataGetter: {
        readonly type: import("vue").PropType<(params: {
            columns: import("element-plus").Column<any>[];
            column: import("element-plus").Column<any>;
            columnIndex: number;
        } & {
            rowData: any;
            rowIndex: number;
        }) => any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    fixedData: {
        readonly type: import("vue").PropType<any[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    expandColumnKey: StringConstructor;
    expandedRowKeys: {
        readonly type: import("vue").PropType<(string | number | symbol)[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => never[];
    };
    defaultExpandedRowKeys: {
        readonly type: import("vue").PropType<(string | number | symbol)[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => never[];
    };
    class: StringConstructor;
    fixed: BooleanConstructor;
    style: {
        readonly type: import("vue").PropType<import("vue").CSSProperties>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    width: {
        readonly type: import("vue").PropType<number>;
        readonly required: true;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    height: {
        readonly type: import("vue").PropType<number>;
        readonly required: true;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    maxHeight: NumberConstructor;
    useIsScrolling: BooleanConstructor;
    indentSize: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 12;
    };
    iconSize: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 12;
    };
    hScrollbarSize: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 6;
    };
    vScrollbarSize: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 6;
    };
    scrollbarAlwaysOn: BooleanConstructor;
    sortBy: {
        readonly type: import("vue").PropType<import("element-plus").SortBy>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => {
            key: string | number | symbol;
            order: import("element-plus").TableV2SortOrder;
        };
    };
    sortState: {
        readonly type: import("vue").PropType<import("element-plus").SortState>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: undefined;
    };
    onColumnSort: {
        readonly type: import("vue").PropType<import("element-plus").ColumnSortHandler<any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onExpandedRowsChange: {
        readonly type: import("vue").PropType<import("element-plus").ExpandedRowsChangeHandler>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onEndReached: {
        readonly type: import("vue").PropType<(remainDistance: number) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onRowExpand: {
        readonly type: import("vue").PropType<import("element-plus").RowExpandHandler>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onScroll: {
        readonly type: import("vue").PropType<(...args: any[]) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onRowsRendered: {
        readonly type: import("vue").PropType<(params: {
            rowCacheStart: number;
            rowCacheEnd: number;
            rowVisibleStart: number;
            rowVisibleEnd: number;
        }) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    rowEventHandlers: {
        readonly type: import("vue").PropType<import("element-plus").RowEventHandlers>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
}, {
    scrollTo: (param: {
        scrollLeft?: number | undefined;
        scrollTop?: number | undefined;
    }) => void;
    scrollToLeft: (scrollLeft: number) => void;
    scrollToTop: (scrollTop: number) => void;
    scrollToRow: (row: number, strategy?: import("element-plus").Alignment | undefined) => void;
    elRef: import("vue").Ref<TableV2Instance | undefined>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    scroll: (...args: any[]) => void;
    "end-reached": (...args: any[]) => void;
    "column-sort": (...args: any[]) => void;
    "expended-rows-change": (...args: any[]) => void;
    "rows-rendered": (...args: any[]) => void;
    "row-expand": (...args: any[]) => void;
    "row-event-handlers": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    tableId: {
        type: StringConstructor;
    };
    cache: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 2;
    };
    estimatedRowHeight: {
        readonly default: undefined;
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        readonly __epPropKey: true;
    };
    rowKey: {
        readonly type: import("vue").PropType<string | number | symbol>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "id";
    };
    headerClass: {
        readonly type: import("vue").PropType<string | import("element-plus").HeaderClassNameGetter<any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    headerProps: {
        readonly type: import("vue").PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    headerCellProps: {
        readonly type: import("vue").PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    headerHeight: {
        readonly type: import("vue").PropType<number | number[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 50;
    };
    footerHeight: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 0;
    };
    rowClass: {
        readonly type: import("vue").PropType<string | import("element-plus").RowClassNameGetter<any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    rowProps: {
        readonly type: import("vue").PropType<any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    rowHeight: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 50;
    };
    cellProps: {
        readonly type: import("vue").PropType<Record<string, any> | import("element-plus").ExtraCellPropGetter<any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    columns: {
        readonly type: import("vue").PropType<{
            [key: string]: any;
            align?: "left" | "right" | "center" | undefined;
            class?: string | ((params: {
                cellData: any;
            } & {
                rowData: any;
                rowIndex: number;
            } & {
                columns: import("element-plus").Column<any>[];
                column: import("element-plus").Column<any>;
                columnIndex: number;
            }) => string) | undefined;
            key?: (string | number | symbol) | undefined;
            dataKey?: (string | number | symbol) | undefined;
            fixed?: true | import("element-plus").TableV2FixedDir | undefined;
            flexGrow?: import("csstype").Property.FlexGrow | undefined;
            flexShrink?: import("csstype").Property.FlexShrink | undefined;
            title?: string | undefined;
            hidden?: boolean | undefined;
            headerClass?: string | ((params: {
                columns: import("element-plus").Column<any>[];
                column: import("element-plus").Column<any>;
                columnIndex: number;
            } & {
                headerIndex: number;
            }) => string) | undefined;
            maxWidth?: number | undefined;
            minWidth?: number | undefined;
            style?: import("vue").CSSProperties | undefined;
            sortable?: boolean | undefined;
            width: number;
            cellRenderer?: ((params: {
                cellData: any;
            } & {
                rowData: any;
                rowIndex: number;
            } & {
                columns: import("element-plus").Column<any>[];
                column: import("element-plus").Column<any>;
                columnIndex: number;
            }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) | undefined;
            headerCellRenderer?: ((params: {
                headerIndex: number;
            } & {
                columns: import("element-plus").Column<any>[];
                column: import("element-plus").Column<any>;
                columnIndex: number;
            }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) | undefined;
        }[]>;
        readonly required: true;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    data: {
        readonly type: import("vue").PropType<any[]>;
        readonly required: true;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    dataGetter: {
        readonly type: import("vue").PropType<(params: {
            columns: import("element-plus").Column<any>[];
            column: import("element-plus").Column<any>;
            columnIndex: number;
        } & {
            rowData: any;
            rowIndex: number;
        }) => any>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    fixedData: {
        readonly type: import("vue").PropType<any[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    expandColumnKey: StringConstructor;
    expandedRowKeys: {
        readonly type: import("vue").PropType<(string | number | symbol)[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => never[];
    };
    defaultExpandedRowKeys: {
        readonly type: import("vue").PropType<(string | number | symbol)[]>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => never[];
    };
    class: StringConstructor;
    fixed: BooleanConstructor;
    style: {
        readonly type: import("vue").PropType<import("vue").CSSProperties>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    width: {
        readonly type: import("vue").PropType<number>;
        readonly required: true;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    height: {
        readonly type: import("vue").PropType<number>;
        readonly required: true;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    maxHeight: NumberConstructor;
    useIsScrolling: BooleanConstructor;
    indentSize: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 12;
    };
    iconSize: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 12;
    };
    hScrollbarSize: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 6;
    };
    vScrollbarSize: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: 6;
    };
    scrollbarAlwaysOn: BooleanConstructor;
    sortBy: {
        readonly type: import("vue").PropType<import("element-plus").SortBy>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => {
            key: string | number | symbol;
            order: import("element-plus").TableV2SortOrder;
        };
    };
    sortState: {
        readonly type: import("vue").PropType<import("element-plus").SortState>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: undefined;
    };
    onColumnSort: {
        readonly type: import("vue").PropType<import("element-plus").ColumnSortHandler<any>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onExpandedRowsChange: {
        readonly type: import("vue").PropType<import("element-plus").ExpandedRowsChangeHandler>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onEndReached: {
        readonly type: import("vue").PropType<(remainDistance: number) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onRowExpand: {
        readonly type: import("vue").PropType<import("element-plus").RowExpandHandler>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onScroll: {
        readonly type: import("vue").PropType<(...args: any[]) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    onRowsRendered: {
        readonly type: import("vue").PropType<(params: {
            rowCacheStart: number;
            rowCacheEnd: number;
            rowVisibleStart: number;
            rowVisibleEnd: number;
        }) => void>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    rowEventHandlers: {
        readonly type: import("vue").PropType<import("element-plus").RowEventHandlers>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
}>> & {
    onScroll?: ((...args: any[]) => any) | undefined;
    "onEnd-reached"?: ((...args: any[]) => any) | undefined;
    "onColumn-sort"?: ((...args: any[]) => any) | undefined;
    "onExpended-rows-change"?: ((...args: any[]) => any) | undefined;
    "onRows-rendered"?: ((...args: any[]) => any) | undefined;
    "onRow-expand"?: ((...args: any[]) => any) | undefined;
    "onRow-event-handlers"?: ((...args: any[]) => any) | undefined;
}, {
    fixed: boolean;
    cache: number;
    scrollbarAlwaysOn: boolean;
    rowKey: string | number | symbol;
    estimatedRowHeight: number;
    headerHeight: number | number[];
    footerHeight: number;
    rowHeight: number;
    expandedRowKeys: (string | number | symbol)[];
    defaultExpandedRowKeys: (string | number | symbol)[];
    useIsScrolling: boolean;
    indentSize: number;
    iconSize: number;
    hScrollbarSize: number;
    vScrollbarSize: number;
    sortBy: import("element-plus").SortBy;
    sortState: import("element-plus").SortState;
}, {}>, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
