import { EventEmitter, OnInit, ElementRef, OnDestroy } from '@angular/core'; import { UITouchEvent } from './helper'; import { TouchManager } from './touch-manager'; export declare type PanEventDirection = 'up' | 'down' | 'left' | 'right' | 'origin'; export interface PanEvent extends UITouchEvent { /** 第一次触发手势时,拖动的方向 */ firstDirection: PanEventDirection; /** 拖动起点 x 轴相对屏幕左边的距离 */ startX: number; /** 拖动起点 y 轴相对屏幕上边的距离 */ startY: number; /** 拖动时 x 轴相对屏幕左边的距离 */ moveX: number; /** 拖动时 y 轴相对屏幕上边的距离 */ moveY: number; /** 拖动位置距离起点位置 x 轴的距离 */ distanceX: number; /** 拖动位置距离起点位置 y 轴的距离 */ distanceY: number; /** 多次拖动后,距离初始位置 x 轴的距离 */ cumulativeDistanceX: number; /** 多次拖动后,距离初始位置 y 轴的距离 */ cumulativeDistanceY: number; } export declare class PanDirective extends TouchManager implements OnInit, OnDestroy { elementRef: ElementRef; uiPan: EventEmitter; private cumulativeDistanceX; private cumulativeDistanceY; private startX; private startY; private moveX; private moveY; private distanceX; private distanceY; private oldMoveX; private oldMoveY; private direction; private isFirst; private startTime; constructor(elementRef: ElementRef); ngOnInit(): void; ngOnDestroy(): void; touchStart(event: TouchEvent): void; touchMove(event: TouchEvent, unListen: Function): void; touchEnd(event: TouchEvent): void; reset(): void; }