abstract class Gesture { private callback = null; constructor(eventName, callback) { this.callback = callback; } protected dispatchEvent(event, params = null) { this.callback(event, params); } abstract handleTouchStart(event); abstract handleTouchMove(event); abstract handleTouchEnd(event); } const THRESHOLD = { PAN_BEFORE_HOLD: 100, HOLD: 800, DOUBLE_TAP: 300, TAP: 500, }; export { Gesture, THRESHOLD };