import * as PIXI from "pixi.js"; import { Clip, ClipOptions } from "../../Clip"; import { ClipStyle } from "../../ClipStyle"; /** * Base clip implementation used for engine-registered custom clip types. * * The actual subclass constructor/deserializer is resolved through the engine at runtime, which allows * host applications to expose proprietary clip implementations while still participating in the SDK's * serialization, layering, and playback systems. */ export declare class CustomClip extends Clip { /** * Creates a custom clip shell around a sprite supplied by the custom clip implementation. * * @param options Serialized or runtime clip options for the custom clip type. */ constructor(options: ClipOptions); init(layerId: string): Promise; updateVisibility(currentTime: number): void; update(currentTime: number): void; clone(): any; destroy(): void; serialize(): { type: 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; mediaDataId?: string | undefined; subtitlesId?: string | undefined; wrapMode?: import('../../../../types').WrapModeEnum | undefined; blendMode?: import('../../../../types').BlendModeEnum | undefined; style?: unknown; text?: 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; customData?: [string, unknown][] | undefined; clipMasks?: { wrapMode: import('../../../../index').MaskWrapModeEnum; id: string; clipId: string; }[] | undefined; propertyAnimator?: { tracks: { type: import('../../../../index').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; }; /** * Rehydrates a custom clip instance from serialized data using the engine's custom clip registry. * * Unknown properties are preserved so custom implementations can store additional state beyond the base schema. * * @param payload Serialized custom clip payload. * @returns Custom clip instance created by the registered factory. */ static deserialize(payload: object): CustomClip; }