import ComponentBase from '../../utils/componentbase/ComponentBase'; export default OpenCloseTransition; declare namespace OpenCloseTransition { /** * Transition callback. */ type TransitCallbackType = ( /** * Target game object. */ gameObject: Phaser.GameObjects.GameObject, /** * Duration in ms. */ duration: number ) => void; /** * OpenCloseTransition configuration. */ interface IConfig { /** * Transition durations. */ duration?: { /** * Transit-in duration in ms. */ in?: number, /** * Transit-out duration in ms. */ out?: number, }, /** * Transit-in callback. */ transitIn?: TransitCallbackType, /** * Transit-out callback. */ transitOut?: TransitCallbackType, /** * True to allow only one open/close. */ oneShot?: boolean, /** * True to destroy on close. */ destroy?: boolean, /** * True if opened at start. */ opened?: boolean, } } /** * Open/close transition behavior for a game object. */ declare class OpenCloseTransition extends ComponentBase { /** * Create an OpenCloseTransition behavior. * @param gameObject - Target game object. * @param config - OpenCloseTransition configuration. */ constructor( gameObject: Phaser.GameObjects.GameObject, config?: OpenCloseTransition.IConfig ); /** * Set transit-in duration. * @param duration - Duration in ms. * @returns This instance. */ setTransitInTime(duration: number): this; /** * Transit-in duration in ms. */ transitInTime: number; /** * Set transit-out duration. * @param duration - Duration in ms. * @returns This instance. */ setTransitOutTime(duration: number): this; /** * Transit-out duration in ms. */ transitOutTime: number; /** * Set transit-in callback. * @param callback - Transit callback. * @returns This instance. */ setTransitInCallback( callback?: OpenCloseTransition.TransitCallbackType ): this; /** * Transit-in callback. */ transitInCallback: OpenCloseTransition.TransitCallbackType; /** * Set transit-out callback. * @param callback - Transit callback. * @returns This instance. */ setTransitOutCallback( callback?: OpenCloseTransition.TransitCallbackType ): this; /** * Transit-out callback. */ transitOutCallback: OpenCloseTransition.TransitCallbackType; /** * Request to open. * @param openEventData - Event data for opening. * @param duration - Override duration in ms. * @returns This instance. */ requestOpen(openEventData?: any, duration?: number): this; /** * Hook called on open. */ onOpen(): void; /** * Request to close. * @param closeEventData - Event data for closing. * @param duration - Override duration in ms. * @returns This instance. */ requestClose(closeEventData?: any, duration?: number): this; /** * Hook called on close. */ onClose(): void; }