import ContainerLite from '../containerlite/ContainerLite'; export default TransitionImage; declare namespace TransitionImage { /** * Direction for the transition. */ type TransitionDirectionType = 0 | 1 | 'out' | 'in'; /** * Transition callback signature. * * @param parent - The TransitionImage instance. * @param currentImage - The current image. * @param nextImage - The next image. * @param t - Progress value from 0 to 1. */ type TransitionCallbackType = ( parent: TransitionImage, currentImage: Phaser.GameObjects.Image, nextImage: Phaser.GameObjects.Image, t: number ) => void; /** * Base configuration for a transition. */ interface ITransitConfigBase { /** * Texture key for the next image. */ texture?: string, /** * Frame key for the next image. */ frame?: string, /** * Transition direction. */ dir?: TransitionDirectionType, /** * Callback fired when transition starts. */ onStart?: TransitionCallbackType, /** * Scope for onStart callback. */ onStartScope?: unknown, /** * Callback fired on transition progress. */ onProgress?: TransitionCallbackType, /** * Scope for onProgress callback. */ onProgressScope?: unknown, /** * Callback fired when transition completes. */ onComplete?: TransitionCallbackType, /** * Scope for onComplete callback. */ onCompleteScope?: unknown, /** * Duration in milliseconds. */ duration?: number, /** * Easing name. */ ease?: string, /** * Mask configuration for the transition. */ mask?: boolean | Phaser.GameObjects.GameObject, } /** * Transition configuration used for transit calls. */ interface ITransitConfig { /** * Transition mode name or list of names. */ mode?: string | string[], } /** * Configuration options for creating a TransitionImage. */ interface IConfig extends ITransitConfigBase { /** * X position. */ x?: number, /** * Y position. */ y?: number, /** * Width of the container. */ width?: number, /** * Height of the container. */ height?: number, /** * Scaling mode for images. */ scaleMode?: 0 | 1 | 'fit' | 'FIT' | 2 | 'envelop' | 'ENVELOP', } } /** * Container that transitions between images. */ declare class TransitionImage extends ContainerLite { /** * Create a TransitionImage with texture and frame. * * @param scene - The Phaser.Scene that owns this TransitionImage. * @param x - X position. * @param y - Y position. * @param texture - Texture key. * @param frame - Frame key. * @param config - Configuration options. */ constructor( scene: Phaser.Scene, x?: number, y?: number, texture?: string, frame?: string, config?: TransitionImage.IConfig ); /** * Create a TransitionImage with position and config. * * @param scene - The Phaser.Scene that owns this TransitionImage. * @param x - X position. * @param y - Y position. * @param config - Configuration options. */ constructor( scene: Phaser.Scene, x?: number, y?: number, config?: TransitionImage.IConfig ); /** * Create a TransitionImage with config only. * * @param scene - The Phaser.Scene that owns this TransitionImage. * @param config - Configuration options. */ constructor( scene: Phaser.Scene, config?: TransitionImage.IConfig ); /** * Current texture. */ texture: Phaser.Textures.Texture; /** * Current frame. */ frame: Phaser.Textures.Frame; /** * Set the transition direction. * * @param dir - The transition direction. * @returns This TransitionImage instance. */ setTransitionDirection( dir: TransitionImage.TransitionDirectionType ): this; /** * Set the transition start callback. * * @param callback - The callback function. * @param scope - Callback scope. * @returns This TransitionImage instance. */ setTransitionStartCallback( callback: TransitionImage.TransitionCallbackType, scope?: object ): this; /** * Set the transition progress callback. * * @param callback - The callback function. * @param scope - Callback scope. * @returns This TransitionImage instance. */ setTransitionProgressCallback( callback: TransitionImage.TransitionCallbackType, scope?: object ): this; /** * Set the transition complete callback. * * @param callback - The callback function. * @param scope - Callback scope. * @returns This TransitionImage instance. */ setTransitionCompleteCallback( callback: TransitionImage.TransitionCallbackType, scope?: object ): this; /** * Set transition duration. * * @param duration - Duration in milliseconds. * @returns This TransitionImage instance. */ setDuration(duration: number): this; /** * Set transition easing. * * @param ease - The easing name. * @returns This TransitionImage instance. */ setDuration(ease: string): this; /** * Enable or disable the mask. * * @param enable - Whether to enable the mask. * @returns This TransitionImage instance. */ setMaskEnable(enable?: boolean): this; /** * Start a transition with texture and mode. * * @param texture - Texture key. * @param frame - Frame key. * @param mode - Transition mode name or list. * @returns This TransitionImage instance. */ transit( texture: string, frame?: string, mode?: string | string[] ): this; /** * Start a transition with configuration. * * @param config - Transition configuration. * @returns This TransitionImage instance. */ transit( config: TransitionImage.ITransitConfig ): this; /** * Current transition mode name. */ readonly currentTransitionMode: string; /** * Add a transition mode by name. * * @param name - The mode name. * @param config - Transition configuration. * @returns This TransitionImage instance. */ addTransitionMode( name: string, config: TransitionImage.ITransitConfig ): this; /** * Add a transition mode using configuration. * * @param config - Transition configuration. * @returns This TransitionImage instance. */ addTransitionMode( config: TransitionImage.ITransitConfig ): this; /** * Pause the transition. * * @returns This TransitionImage instance. */ pause(): this; /** * Resume the transition. * * @returns This TransitionImage instance. */ resume(): this; /** * Stop the transition. * * @returns This TransitionImage instance. */ stop(): this; /** * Set horizontal flip. * * @param value - True to flip horizontally. * @returns This TransitionImage instance. */ setFlipX(value: boolean): this; /** * Set vertical flip. * * @param value - True to flip vertically. * @returns This TransitionImage instance. */ setFlipY(value: boolean): this; /** * Toggle horizontal flip. * * @returns This TransitionImage instance. */ toggleFlipX(): this; /** * Toggle vertical flip. * * @returns This TransitionImage instance. */ toggleFlipY(): this; /** * Set both horizontal and vertical flip. * * @param x - True to flip horizontally. * @param y - True to flip vertically. * @returns This TransitionImage instance. */ setFlip(x: boolean, y: boolean): this; /** * Whether the image is flipped horizontally. */ flipX: boolean; /** * Whether the image is flipped vertically. */ flipY: boolean; /** * Set tint color. * * @param value - The tint color value. * @returns This TransitionImage instance. */ setTint(value: number): this; /** * Current tint color. */ tint: number; }