import { animateType } from '@/utils/animate/animate-type';
import {ScrollConfig} from "./on";

interface scrollCallBack {
    (value:ScrollConfig):any
}

export interface scrollAnimateParams {
    // 过渡时间
    duration?: number,
    // 动画类型
    animate?: animateType,
    // 执行完成后触发
    complete?:scrollCallBack,
    // 执行中被中止
    fail?:scrollCallBack
}

export interface scrollParams extends scrollAnimateParams{
    // y轴 可以为 number 或者 %
    y?:number | string,
    // x轴 可以为 number 或者 %
    x?:number | string,
}

export interface scrollRunningParams extends scrollAnimateParams{
    x?:number,
    y?:number
}

export interface ScrollRefComponents {

    // 动画滚动到具体位置
    scrollTo(scrollParams:scrollParams):void,

    // 滚动到顶部
    scrollToStart(scrollParams?:scrollAnimateParams,all:boolean):void,

    // 滚动到底部
    scrollToEnd(scrollParams?:scrollAnimateParams,all:boolean):void

}