// import * as Phaser from 'phaser'; import TwoPointersTracer from '../twopointerstracer/TwoPointersTracer'; export default Rotate; declare namespace Rotate { /** * Rotate configuration. */ interface IConfig extends TwoPointersTracer.IConfig { /** * Drag threshold in pixels. */ threshold?: number, } namespace Events { /** * Rotate callback. */ type RotateCallbackType = ( /** * Rotate component. */ rotate: Rotate, ) => void; } } /** * Rotate gesture component. */ declare class Rotate extends TwoPointersTracer { /** * Create a Rotate component. * @param gameObject - Target game object or scene. * @param config - Rotate configuration. */ constructor( gameObject: Phaser.GameObjects.GameObject | Phaser.Scene, config?: Rotate.IConfig ); /** * Set drag threshold. * @param distance - Threshold distance in pixels. * @returns This instance. */ setDragThreshold(distance: number): this; /** * Drag threshold in pixels. */ dragThreshold: number; /** * Spin one or more game objects. * @param gameObejects - Game object or array of game objects. * @returns This instance. */ spinObject( gameObejects: Phaser.GameObjects.GameObject | Phaser.GameObjects.GameObject[] ): this; /** * Current rotation in radians. */ readonly rotation: number; /** * True if rotating is in progress. */ readonly isRotating: boolean; /** * True if a rotation has occurred. */ readonly isRotated: boolean; }