import * as PIXI from "pixi.js"; import { z } from "zod"; /** * Zod schema for serialized effect instances attached to clips. */ export declare const EffectSchema: z.ZodObject<{ id: z.ZodString; effectId: z.ZodString; provider: z.ZodString; clipId: z.ZodOptional; properties: z.ZodArray, "many">; }, "strip", z.ZodTypeAny, { properties: [string, any][]; id: string; provider: string; effectId: string; clipId?: string | undefined; }, { properties: [string, any][]; id: string; provider: string; effectId: string; clipId?: string | undefined; }>; /** * Represents an effect instance resolved from the library and applied to a clip. */ export declare class Effect { private id; private readonly effectId; private clipId?; private provider; private effect; private readonly inputTextures; private propertyMap; private initialized; private readonly tempProperties?; /** * Creates an effect wrapper for a library effect definition. * * @param effectId Library effect ID to instantiate. * @param properties Optional initial property values applied during initialization. */ constructor(effectId: string, properties?: Record); /** * Resolves the effect definition from the library and creates the underlying effect implementation. * * @returns Nothing. */ init(): void; /** * Updates the effect for the specified clip-local time. * * @param clipTime Clip-local playback time, in seconds. * @returns Nothing. */ update(clipTime: number): void; /** * Returns the underlying PIXI filter exposed by the effect implementation. * * @returns The PIXI filter, or `null` if the effect has not been initialized. */ getPixiFilter(): PIXI.Filter | null; /** * Updates an effect property value. * * @param propertyName Name of the effect property to update. * @param value New property value. * @returns Nothing. */ setProperty(propertyName: string, value: any): void; /** * Returns the current value of an effect property. * * @param propertyName Name of the effect property to read. * @returns A cloned copy of the property value, or `undefined` if the property is unknown. */ getProperty(propertyName: string): any; /** * Returns the unique instance ID of this effect. * * @returns The effect instance ID. */ getId(): string; /** * Overrides the effect instance ID. * * @param id Effect instance ID to assign. * @returns Nothing. */ setId(id: string): void; /** * Associates the effect with a clip. * * @param clipId Clip ID that owns the effect. * @returns Nothing. */ setClipId(clipId: string): void; /** * Returns the owning clip ID, if one has been assigned. * * @returns The owning clip ID, or `undefined` if the effect is not attached to a clip. */ getClipId(): string | undefined; /** * Returns the library effect ID used to create this instance. * * @returns The effect definition ID. */ getEffectId(): string; /** * Returns the provider identifier of the library effect definition. * * @returns The provider ID. */ getProvider(): string; /** * Indicates whether the underlying library effect is built into the SDK. * * @returns `true` if the effect definition is built in; otherwise `false`. */ getIsBuiltIn(): boolean; /** * Returns the live property map used by this effect instance. * * @returns The effect property map. */ getProperties(): Map; /** * Releases textures and destroys the underlying effect implementation. * * @returns Nothing. */ destroy(): void; /** * Serializes this effect instance. * * @returns The serialized effect payload. */ serialize(): { properties: [string, any][]; id: string; provider: string; effectId: string; clipId?: string | undefined; }; /** * Creates an effect instance from serialized data. * * @param data Serialized effect payload. * @returns The deserialized effect instance. */ static deserialize(data: object): Effect; }