// import * as Phaser from 'phaser'; import OnePointerTracer from '../onepointertracer/OnePointerTracer'; export default Pan; declare namespace Pan { /** * Pan configuration. */ interface IConfig extends OnePointerTracer.IConfig { /** * Drag threshold in pixels. */ threshold?: number, } namespace Events { /** * Pan callback. */ type PanCallbackType = ( /** * Pan component. */ pan: Pan, /** * Target game object. */ gameObject: Phaser.GameObjects.GameObject, /** * Last pointer input. */ lastPointer: Phaser.Input.Pointer ) => void; } } /** * Pan gesture component. */ declare class Pan extends OnePointerTracer { /** * Create a Pan component. * @param gameObject - Target game object or scene. * @param config - Pan configuration. */ constructor( gameObject: Phaser.GameObjects.GameObject | Phaser.Scene, config?: Pan.IConfig ); /** * Delta x in local space. */ dx: number; /** * Delta y in local space. */ dy: number; /** * Current x in local space. */ x: number; /** * Current y in local space. */ y: number; /** * Delta x in world space. */ dWorldX: number; /** * Delta y in world space. */ dWorldY: number; /** * Current x in world space. */ worldX: number; /** * Current y in world space. */ worldY: number; /** * Set drag threshold. * @param distance - Threshold distance in pixels. * @returns This instance. */ setDragThreshold(distance: number): this; /** * Drag threshold in pixels. */ dragThreshold: number; /** * True if panning is in progress. */ readonly isPanning: boolean; /** * True if a pan has occurred. */ readonly isPanned: boolean; }