import ComponentBase from '../../utils/componentbase/ComponentBase'; export default Drag; declare namespace Drag { /** * Axis mode identifiers. */ type AixsModeType = 0 | 1 | 2 | 'both' | 'h&v' | 'horizontal' | 'h' | 'vertical' | 'v'; /** * Drag configuration. */ interface IConfig { /** * True to enable. */ enable?: boolean, /** * Axis mode. */ axis?: AixsModeType, /** * Axis rotation in radians. */ rotation?: number } } /** * Drag input component for a game object. */ declare class Drag extends ComponentBase { /** * Create a drag component. * @param gameObject - Target game object. * @param config - Drag configuration. */ constructor( gameObject: Phaser.GameObjects.GameObject, config?: Drag.IConfig ); /** * Enable or disable dragging. * @param enable - True to enable. * @returns This instance. */ setEnable(enable?: boolean): this; /** * Toggle enable state. * @returns This instance. */ toggleEnable(): this; /** * True if enabled. */ enable: boolean; /** * Set axis rotation. * @param rad - Rotation in radians. * @returns This instance. */ setAxisRotation(rad?: number): this; /** * Axis rotation in radians. */ axisRotation: number; /** * Set axis mode. * @param axisMode - Axis mode. * @returns This instance. */ setAxisMode(axisMode: Drag.AixsModeType): this; /** * Axis mode value. */ axisMode: number; /** * Start dragging. * @returns This instance. */ drag(): this; /** * End dragging. * @returns This instance. */ dragend(): this; }