import { MaybeRef } from '@vueuse/shared'; import { Component } from 'vue'; export type DragScrollTargetType = MaybeRef; export type DragScrollConfig = Partial<{ dragEle: DragScrollTargetType; changeCursor: boolean; scrollTarget: T; duration: number; type: 'percent' | 'px'; isDraggableEle: (event: MouseEvent) => boolean; getScrollState: (target: DragScrollTargetType | undefined) => { scrollTop: number; scrollLeft: number; }; setScrollState: (target: DragScrollTargetType | undefined, state: { scrollTarget: T; scrollTop: number; scrollLeft: number; offsetX: number; offsetY: number; startScrollX: number; startScrollY: number; }) => void; }>;