import type { FerrsignView0 } from "ferrsign"; import type { WebGLRenderer } from "three"; import type { UILayer } from "../../layers/UILayer/UILayer"; import { UIColor } from "../../miscellaneous/color/UIColor"; import type { UIColorConfig } from "../../miscellaneous/color/UIColor.Internal"; import { UITextureView } from "../../miscellaneous/texture/UITextureView"; import type { UITextureConfig } from "../../miscellaneous/texture/UITextureView.Internal"; import { UIElement } from "../UIElement/UIElement"; import type { UIAnimatedImageOptions } from "./UIAnimatedImage.Internal"; import { UIAnimatedImageLoopMode } from "./UIAnimatedImage.Internal"; /** Frame-based texture animation element */ export declare class UIAnimatedImage extends UIElement { private readonly colorInternal; private readonly sequenceInternal; private frameRateInternal; private timeScaleInternal; private loopModeInternal; private readonly textureTransform; private isPlaying; private sequenceFrameIndex; private currentFrameIndexDirty; private accumulatedTime; private readonly signalPlayedInternal; private readonly signalPausedInternal; private readonly signalStoppedInternal; /** * Creates a new UIAnimatedImage instance. * * Defaults size to first frame dimensions if width and height not provided. * * @param layer - Layer containing this element * @param sequence - Array of textures forming animation * @param options - Configuration options */ constructor(layer: UILayer, sequence: UITextureConfig[], options?: Partial); /** Multiplicative tint. Alpha channel controls opacity. */ get color(): UIColor; /** Total animation duration in seconds */ get duration(): number; /** Animation speed in frames per second */ get frameRate(): number; /** Loop behavior */ get loopMode(): UIAnimatedImageLoopMode; /** Animation frames as readonly array */ get sequence(): readonly UITextureView[]; /** Playback speed multiplier. Can be negative for reverse playback. */ get timeScale(): number; /** Signal fired when animation starts or resumes */ get signalPlayed(): FerrsignView0; /** Signal fired when animation pauses */ get signalPaused(): FerrsignView0; /** Signal fired when animation stops and resets */ get signalStopped(): FerrsignView0; /** Multiplicative tint. Alpha channel controls opacity. */ set color(value: UIColorConfig); /** Animation speed in frames per second */ set frameRate(value: number); /** Loop behavior */ set loopMode(value: UIAnimatedImageLoopMode); /** Replaces animation frames. Stops playback. */ set sequence(sequence: UITextureConfig[]); /** Playback speed multiplier. Can be negative for reverse playback. */ set timeScale(value: number); /** Removes element and frees resources */ destroy(): void; /** Starts or resumes animation playback */ play(): void; /** Pauses animation at current frame */ pause(): void; /** Stops animation and resets to first frame */ stop(): void; protected onWillRender(renderer: WebGLRenderer, deltaTime: number): void; protected setPlaneTransform(): void; private readonly onTextureDimensionsChanged; private subscribeSequenceEvents; private unsubscribeSequenceEvents; }