import { ShapeSprite } from "./ShapeSprite"; import { ShapeStyle } from "./ShapeStyle"; import { ShapeTypeEnum } from "./types/Shape.types"; import { Clip, ClipOptions } from "../../Clip"; import { PropertyDescriptionTypeEnum } from '../../../library/types/Property.types'; /** * Options for creating a shape clip. */ export interface ShapeClipOptions extends ClipOptions { shape: ShapeTypeEnum; } /** * Clip implementation that renders vector shapes using the shape style configuration. */ export declare class ShapeClip extends Clip { /** * Creates a shape clip. * * @param options Initial shape clip configuration. */ constructor(options: ShapeClipOptions); protected registerAnimatableProperties(): void; updateVisibility(currentTime: number): void; update(currentTime: number): void; /** * Creates a cloned shape clip instance from serialized data. * * @returns A cloned shape clip. */ clone(): ShapeClip; /** * Releases the shape sprite and inherited clip resources. * * @returns Nothing. */ destroy(): void; /** * Serializes the shape clip. * * @returns The serialized shape clip payload. */ 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("../../../..").OutOfRangeEnum; outOutOfRange: import("../../../..").OutOfRangeEnum; propertyAnimations: { property: string; keyframes: { value: string | number; time: number; easing: import("../../../..").EasingEnum; space: import("../../../..").AnimationSpaceEnum; relativeProperty?: string | undefined; }[]; inOutOfRange: import("../../../..").OutOfRangeEnum; outOutOfRange: import("../../../..").OutOfRangeEnum; }[]; speed?: number | undefined; offset?: number | undefined; amplification?: number | undefined; } | undefined; animationDataOut?: { name: string; inOutOfRange: import("../../../..").OutOfRangeEnum; outOutOfRange: import("../../../..").OutOfRangeEnum; propertyAnimations: { property: string; keyframes: { value: string | number; time: number; easing: import("../../../..").EasingEnum; space: import("../../../..").AnimationSpaceEnum; relativeProperty?: string | undefined; }[]; inOutOfRange: import("../../../..").OutOfRangeEnum; outOutOfRange: import("../../../..").OutOfRangeEnum; }[]; speed?: number | undefined; offset?: number | undefined; amplification?: number | undefined; } | undefined; animationDataLoop?: { name: string; inOutOfRange: import("../../../..").OutOfRangeEnum; outOutOfRange: import("../../../..").OutOfRangeEnum; propertyAnimations: { property: string; keyframes: { value: string | number; time: number; easing: import("../../../..").EasingEnum; space: import("../../../..").AnimationSpaceEnum; relativeProperty?: string | undefined; }[]; inOutOfRange: import("../../../..").OutOfRangeEnum; outOutOfRange: import("../../../..").OutOfRangeEnum; }[]; speed?: number | undefined; offset?: number | undefined; amplification?: number | undefined; } | undefined; } | undefined; customData?: [string, unknown][] | undefined; clipMasks?: { wrapMode: import("../../../filter").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 shape clip instance from serialized data. * * @param payload Serialized shape clip payload. * @returns The deserialized shape clip. */ static deserialize(payload: object): ShapeClip; }