import { TableV2Instance } from 'element-plus'; import { ShallowRef, Ref, CSSProperties, ComputedRef } from 'vue'; export interface UseVirtualScrollOptions { /** 表格高度(响应式 getter) */ height?: () => number | string | undefined; /** 表格宽度(响应式 getter) */ width?: () => number | string | undefined; /** 行高度 */ rowHeight?: () => number; /** 表头高度 */ headerHeight?: () => number; } export interface UseVirtualScrollReturn { /** el-table-v2 组件实例引用 */ tableRef: ShallowRef; /** 容器 wrapper 元素引用 */ wrapperRef: ShallowRef; /** 滚动到指定行 */ scrollToRow: (rowIndex: number) => void; /** 是否使用 AutoResizer(当未指定固定高宽时启用) */ useAutoResizer: ComputedRef; /** 容器样式(当使用 AutoResizer 时需要 100% 高度) */ containerStyle: ComputedRef; /** 行高 */ rowHeight: ComputedRef; /** 表头高度 */ headerHeight: ComputedRef; /** 容器实际宽度(通过 ResizeObserver 监听,用于列宽自适应分配) */ containerWidth: Ref; } /** * 虚拟滚动辅助逻辑 composable */ export declare function useVirtualScroll(options?: UseVirtualScrollOptions): UseVirtualScrollReturn;