import { TextSprite } from "./TextSprite"; import { TextStyle } from "./TextStyle"; import { /*AnimationTypeEnum,*/ Clip, ClipOptions } from "../../Clip"; import { PropertyDescriptionTypeEnum } from '../../../library/types/Property.types'; /** * Constructor payload for text clips, including the initial source text that will be rendered and serialized. * * `text` seeds both the stored clip content and the first rendered value before any text animation overrides are * applied. */ export interface TextClipOptions extends ClipOptions { text?: string; } /** * Clip implementation that renders editable text content with animated typography properties. */ export declare class TextClip extends Clip { text: string; /** * Creates a text clip. * * @param options Initial text clip configuration. */ constructor(options: TextClipOptions); init(layerId: string): Promise; /** * Returns the source text stored on the clip. * * @returns The clip text. */ getText(): string; /** * Sets the source text rendered by the clip. * * @param text Text to render. `undefined` is treated as an empty string. * @param force When `true`, reapplies the text even if it matches the current value. * @returns Nothing. */ setText(text?: string, force?: boolean): void; /** * Applies a temporary animation-driven text override without changing the clip's stored source text. * * @param text Animated text value. An empty string restores the stored clip text. * @returns Nothing. */ setAnimationText(text: string): void; protected registerAnimatableProperties(): void; seek(currentTime: number): void; preload(currentTime: number): void; update(currentTime: number): void; setAnimationPropertyValue(property: string, value: any): void; getAnimationPropertyValue(property: string): number | string; resetAnimationPropertyValue(property: string): void; /** * Creates a cloned text clip instance from serialized data. * * @returns A cloned text clip. */ clone(): TextClip; /** * Releases the text sprite and inherited clip resources. * * @returns Nothing. */ destroy(): void; /** * Serializes the text clip. * * @returns The serialized text clip payload. */ serialize(): { type: string; text: string; id: string; duration: number; subtitlesOffset: number; startTime: number; leftTrim: number; rightTrim: number; filters: { intensity: number; id: string; provider: string; filterId: string; clipId?: string | undefined; }[]; effects: any[]; isVisible: boolean; name?: string | undefined; customData?: [string, unknown][] | undefined; wrapMode?: import('../../../../index').WrapModeEnum | undefined; blendMode?: import('../../../../index').BlendModeEnum | undefined; style?: unknown; mediaDataId?: string | undefined; subtitlesId?: string | undefined; animationController?: { animationInDuration: number; animationOutDuration: number; animationLoopCount: number; loopSmoothing: number; animationDataIn?: { name: string; inOutOfRange: import('../../../../index').OutOfRangeEnum; outOutOfRange: import('../../../../index').OutOfRangeEnum; propertyAnimations: { property: string; keyframes: { value: string | number; time: number; easing: import('../../../../index').EasingEnum; space: import('../../../../index').AnimationSpaceEnum; relativeProperty?: string | undefined; }[]; inOutOfRange: import('../../../../index').OutOfRangeEnum; outOutOfRange: import('../../../../index').OutOfRangeEnum; }[]; speed?: number | undefined; offset?: number | undefined; amplification?: number | undefined; } | undefined; animationDataOut?: { name: string; inOutOfRange: import('../../../../index').OutOfRangeEnum; outOutOfRange: import('../../../../index').OutOfRangeEnum; propertyAnimations: { property: string; keyframes: { value: string | number; time: number; easing: import('../../../../index').EasingEnum; space: import('../../../../index').AnimationSpaceEnum; relativeProperty?: string | undefined; }[]; inOutOfRange: import('../../../../index').OutOfRangeEnum; outOutOfRange: import('../../../../index').OutOfRangeEnum; }[]; speed?: number | undefined; offset?: number | undefined; amplification?: number | undefined; } | undefined; animationDataLoop?: { name: string; inOutOfRange: import('../../../../index').OutOfRangeEnum; outOutOfRange: import('../../../../index').OutOfRangeEnum; propertyAnimations: { property: string; keyframes: { value: string | number; time: number; easing: import('../../../../index').EasingEnum; space: import('../../../../index').AnimationSpaceEnum; relativeProperty?: string | undefined; }[]; inOutOfRange: import('../../../../index').OutOfRangeEnum; outOutOfRange: import('../../../../index').OutOfRangeEnum; }[]; speed?: number | undefined; offset?: number | undefined; amplification?: number | undefined; } | undefined; } | undefined; clipMasks?: { wrapMode: import('../../../../index').MaskWrapModeEnum; id: string; clipId: string; }[] | undefined; propertyAnimator?: { tracks: { type: PropertyDescriptionTypeEnum; property: string; keyframes: { value: (string | number | boolean | number[]) & (string | number | boolean | number[] | undefined); time: number; handleIn: { value: number; time: number; }; handleOut: { value: number; time: number; }; hold?: boolean | undefined; }[]; defaults?: { handleIn?: { value: number; time: number; } | undefined; handleOut?: { value: number; time: number; } | undefined; hold?: boolean | undefined; } | undefined; customData?: [string, unknown][] | undefined; }[]; initialValues?: [string, string | number | boolean | number[]][] | undefined; } | undefined; }; /** * Creates a text clip instance from serialized data. * * @param payload Serialized text clip payload. * @returns The deserialized text clip. */ static deserialize(payload: object): TextClip; }