import type { State } from "./state"; import type { MovePanoEffect } from './movePanoEffect'; import type { EasingFunction } from '../utils/easing'; /** * 点位移动参数 */ interface MovePanoOptions extends Partial> { /** * 动画模式 */ effect?: MovePanoEffect; /** 走点图片过度策略 */ effectEasing?: EasingFunction; /** * 运动耗时 * @description * - `数字或者字符串类型` 直接当作运动耗时 * - `函数类型` 传入 距离和速度(速度为five初始化设置) 返回运动耗时 * - `不传或者null` 通过距离和速度(速度为five初始化设置) */ duration?: number | ((distance: number, speed: number) => number) | string | null; /** 运动开始回调 */ moveStartCallback?: (toState: State) => void; /** 运动结束回调 */ moveEndCallback?: (state: State) => void; /** * 运动被取消回调 * @description * 这个有一些情况会导致 * - 移动过程中切换模态 * - 移动过程中 five 被析构 * - 移动过程点击切换到另一个点位 */ moveCancelCallback?: () => void; } export { MovePanoOptions };