import ComponentBase from '../../utils/componentbase/ComponentBase'; declare namespace PanScroll { /** * Configuration options for drag-to-pan camera control. */ interface IConfig { /** * Target camera, camera index, or camera name. */ camera?: string | number | Phaser.Cameras.Scene2D.Camera, /** * Set to true to enable pan scrolling. */ enable?: boolean, /** * Input source used for drag events. */ inputTarget?: Phaser.Scene | Phaser.GameObjects.GameObject, } } /** * Camera controller that pans camera by pointer dragging. */ declare class PanScroll extends ComponentBase { /** * Create a pan scroll controller. * * @param scene - Scene that owns this controller. * @param config - Optional controller configuration. */ constructor( scene: Phaser.Scene, config?: PanScroll.IConfig ); /** * Enable or disable pan scrolling. * * @param enable - True to enable, false to disable. * @returns This controller instance. */ setEnable(enable?: boolean): this; /** * Current enabled state. */ enable: boolean; /** * Set target camera instance. * * @param camera - Camera to control. * @returns This controller instance. */ setCamera(camera?: Phaser.Cameras.Scene2D.Camera): this; /** * Current target camera. */ camera?: Phaser.Cameras.Scene2D.Camera; /** * True while pointer dragging is actively panning camera. */ readonly isPanning: boolean; } export default PanScroll;