import * as PIXI from "pixi.js"; import { ReplaceMediaOptions } from '../../../../index'; import { Clip, ClipOptions } from "../../Clip"; import { ClipStyle } from "../../ClipStyle"; /** * Options for creating an image-backed clip. */ export interface ImageClipOptions extends ClipOptions { /** * Library media identifier for the image asset displayed by the clip. */ mediaDataId: string; } /** * Clip implementation for still-image media. * * Image clips keep the regular clip timing and styling model but do not advance any internal playback state, * which makes them the simplest media-backed clip variant used by the timeline. */ export declare class ImageClip extends Clip> { constructor(options: ImageClipOptions); init(layerId: string): Promise; /** * Replaces the backing image asset and remaps crop/fit state so the clip keeps a similar framing intent. * * @param newMediaId Optional replacement media id. When omitted, the current media source is reloaded. * @param options Replacement behavior controlling fit and crop translation. * @returns `true` when the image swap completed successfully. */ updateMediaData(newMediaId?: string, options?: ReplaceMediaOptions): Promise; /** * Image clips have no asynchronous playback state to preload; the hook is kept for base-class symmetry. * * @param currentTime Current timeline time in seconds. */ preload(currentTime: number): void; updateVisibility(currentTime: number): void; update(currentTime: number): void; /** * Creates a cloned image clip from serialized data. * * @returns Cloned image clip instance. */ clone(): Clip>; /** * Releases the Pixi sprite owned by the image clip. */ destroy(): void; }