// import * as Phaser from 'phaser'; import Button from '../../../../plugins/button'; import Tap from '../../../../plugins/input/gestures/tap/Tap'; import Press from '../../../../plugins/input/gestures/press/Press'; import Swipe from '../../../../plugins/input/gestures/swipe/Swipe'; export default SetChildrenInteractive; declare namespace SetChildrenInteractive { /** * Configuration for enabling child interactivity on a parent game object. */ interface IConfig { /** Child game objects that should receive interactive behavior. */ targets?: Phaser.GameObjects.GameObject[], /** Strategy for resolving interaction targets. */ targetMode?: 'parent' | 'direct', /** Set to true to enable drop zone behavior on targets. */ dropZone?: boolean, /** Click behavior configuration, or true to use defaults. */ click?: Button.IConfig | boolean, /** Pointer-over behavior configuration, or true to use defaults. */ over?: {} | boolean, /** Tap gesture configuration, or true to use defaults. */ tap?: Tap.IConfig | boolean, /** Press gesture configuration, or true to use defaults. */ press?: Press.IConfig | boolean, /** Swipe gesture configuration, or true to use defaults. */ swipe?: Swipe.IConfig | boolean, /** Prefix used when emitting input-related events. */ inputEventPrefix?: string, /** Event emitter used to dispatch interaction events. */ eventEmitter?: Phaser.Events.EventEmitter, } } /** * Enable interactive input handling on the children of a game object. * * @param gameObject - The parent game object that owns interactive children. * @param config - Optional configuration for target selection and gesture handlers. * @returns The same game object with child interactivity enabled. */ declare function SetChildrenInteractive( gameObject: Phaser.GameObjects.GameObject, config?: SetChildrenInteractive.IConfig ): Phaser.GameObjects.GameObject;