import { ExtractPropTypes } from 'vue'; export declare const scrollProps: { flex: BooleanConstructor; /** * 是否使用模拟滚动条 */ virtual: { type: BooleanConstructor; default: boolean; }; /** * 滚动幅度(仅模拟滚动条支持) */ speed: { type: NumberConstructor; default: number; }; /** * 顶部间距 */ top: { type: (NumberConstructor | StringConstructor)[]; default: number; }; /** * 双向绑定的滚动位置,支持v-model */ modelValue: { type: (NumberConstructor | StringConstructor)[]; default: number; }; /** * 兼容旧版本,等同于modelValue * @deprecated 推荐使用modelValue */ value: { type: (NumberConstructor | StringConstructor)[]; default: number; }; /** * 内边距 */ padding: { type: (NumberConstructor | StringConstructor)[]; default: string; }; /** * 内边距位置 */ paddingPosition: { type: StringConstructor; default: string; }; /** * 底部间距 */ bottom: { type: (NumberConstructor | StringConstructor)[]; default: number; }; /** * 高度 */ height: { type: (NumberConstructor | StringConstructor)[]; default: string; }; /** * 滚动条显示方式 */ barDisplay: { type: StringConstructor; default: string; }; /** * 排除项 */ except: { type: StringConstructor; default: string; }; /** * 背景颜色 */ mode: { type: StringConstructor; default: string; }; /** * 滚动模式 */ type: { type: StringConstructor; default: string; }; }; export type ScrollProps = ExtractPropTypes; export interface ScrollInstance { /** * 滚动到指定位置 */ scrollTo: (options: ScrollToOptions | number, yCoord?: number) => void; /** * 滚动到指定元素 */ scrollToElement: (element: HTMLElement | null, offset?: number) => void; /** * 按步长滚动 */ scrollStep: (direction: 'up' | 'down' | 'left' | 'right') => void; /** * 滚动容器元素 */ scrollRef: HTMLElement | null; /** * 是否正在滚动 */ isScrolling: boolean; /** * 滚动到指定目标 */ to: (target: HTMLElement | string | number | any) => void; } /** * Scroll组件提供给子组件的上下文接口 */ export interface ScrollContext { /** * 注册滚动点 */ registerScrollPoint: (el: HTMLElement, value: string | number) => void; }