interface TspComponentSliderConstructorParams {
  /**
   * 需要滑动的容器
   */
  sliderElem: HTMLElement;
  /**
   * 组件容器
   */
  containerElem: HTMLElement;
   /**
   * 滑块个数
   */
  count: number;
  /**
   * 滑动方向
   */
  direction: TspComponentSliderModel;
  /**
   * 是否滑动
   */
  // swipeable?: boolean;
  /**
   * 容器宽度
   */
  width: number;
  /**
   * 容器高度
   */
  height: number;
  /**
   * 当前索引
   */
  selectedIndex: number;
}

type TspComponentSliderModel = 'horizontal' | 'vertical';

interface TspComponentSliderEvt {
  /**
   * 手指移动的距离
   */
  distance?: number;
  /**
   * X轴的偏移值
   */
  deltaX: number;
  /**
   * y轴的偏移值
   */
  deltaY: number;
  /**
   * 阻止默认行为
   */
  preventDefault: Function;
  /**
   * 事件响应的元素
   */
  target?: HTMLElement;
  /**
   * 事件类型
   */
  eventType?: number;
}

interface TspComponentSliderAfterChangeReturn {
  /**
   * 滑动之前的索引
   */
  beforeSelectIndex: number;
  /**
   * 滑动之后的索引
   */
  afterSelectedIndex: number
}