export default DropDown; declare namespace DropDown { /** * Callback for transition in or out. */ type TransitCallbackType = ( /** * Target game object. */ gameObject: Phaser.GameObjects.GameObject, /** * Transition duration in ms. */ duration: number ) => void; /** * DropDown configuration. */ interface IConfig { /** * Transition durations. */ duration?: { /** * Duration for transit in. */ in?: number, /** * Duration for transit out. */ out?: number, }, /** * Transit in callback. */ transitIn?: TransitCallbackType, /** * Transit out callback. */ transitOut?: TransitCallbackType, /** * Expand direction. */ expandDirection?: 0 | 1 | 'down' | 'up', /** * Align target for both axes. */ alignTarget?: Phaser.GameObjects.GameObject, /** * Align target for x axis. */ alignTargetX?: Phaser.GameObjects.GameObject, /** * Align target for y axis. */ alignTargetY?: Phaser.GameObjects.GameObject, /** * Align offset x. */ alignOffsetX?: number, /** * Align offset y. */ alignOffsetY?: number, /** * Align side string. */ alignSide?: string, /** * Bounds rectangle. */ bounds?: Phaser.Geom.Rectangle, /** * True to close on touch outside. */ touchOutsideClose?: boolean, /** * True to close on any touch. */ anyTouchClose?: boolean, /** * True to destroy on close. */ destroy?: boolean, } } /** * Drop-down behavior for a game object. */ declare class DropDown extends Phaser.Events.EventEmitter { /** * Create a DropDown behavior. * @param gameObject - Target game object. * @param config - DropDown configuration. */ constructor( gameObject: Phaser.GameObjects.GameObject, config?: DropDown.IConfig, ); /** * Request to close the drop-down. * @param closeEventData - Event data for closing. * @returns This instance. */ requestClose(closeEventData: any): this; }