import * as PIXI from "pixi.js"; import { z } from "zod"; import { PropertyDescription } from "./types/Property.types"; import { InputTextureDescriptor } from "./types/Texture.types"; /** * Serializable and runtime options used to define a reusable transition in the library. */ export interface TransitionDataOptions { id?: string; name?: string; provider?: string; transitionSrc: string; properties?: PropertyDescription[]; inputTextures?: InputTextureDescriptor[]; serializable?: boolean; } /** * Zod schema for a serialized transition definition. */ export declare const TransitionDataSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; provider: z.ZodString; transitionSrc: z.ZodString; properties: z.ZodArray; label: z.ZodOptional; description: z.ZodOptional; defaultValue: z.ZodType, z.ZodTypeDef, Required>; min: z.ZodOptional]>>; max: z.ZodOptional]>>; step: z.ZodOptional]>>; initOnly: z.ZodOptional; }, "strip", z.ZodTypeAny, { type: import(".").PropertyDescriptionTypeEnum; name: string; defaultValue: Required; label?: string | undefined; description?: string | undefined; min?: number | number[] | undefined; max?: number | number[] | undefined; step?: number | number[] | undefined; initOnly?: boolean | undefined; }, { type: import(".").PropertyDescriptionTypeEnum; name: string; defaultValue: Required; label?: string | undefined; description?: string | undefined; min?: number | number[] | undefined; max?: number | number[] | undefined; step?: number | number[] | undefined; initOnly?: boolean | undefined; }>, "many">; inputTextures: z.ZodOptional>; scaleMode: z.ZodOptional>; mipmap: z.ZodOptional>; }, "strip", z.ZodTypeAny, { name: string; url: string; wrapMode?: import(".").InputTextureWrapMode | undefined; scaleMode?: import(".").InputTextureScaleMode | undefined; mipmap?: import(".").InputTextureMipmapMode | undefined; }, { name: string; url: string; wrapMode?: import(".").InputTextureWrapMode | undefined; scaleMode?: import(".").InputTextureScaleMode | undefined; mipmap?: import(".").InputTextureMipmapMode | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { name: string; properties: { type: import(".").PropertyDescriptionTypeEnum; name: string; defaultValue: Required; label?: string | undefined; description?: string | undefined; min?: number | number[] | undefined; max?: number | number[] | undefined; step?: number | number[] | undefined; initOnly?: boolean | undefined; }[]; id: string; provider: string; transitionSrc: string; inputTextures?: { name: string; url: string; wrapMode?: import(".").InputTextureWrapMode | undefined; scaleMode?: import(".").InputTextureScaleMode | undefined; mipmap?: import(".").InputTextureMipmapMode | undefined; }[] | undefined; }, { name: string; properties: { type: import(".").PropertyDescriptionTypeEnum; name: string; defaultValue: Required; label?: string | undefined; description?: string | undefined; min?: number | number[] | undefined; max?: number | number[] | undefined; step?: number | number[] | undefined; initOnly?: boolean | undefined; }[]; id: string; provider: string; transitionSrc: string; inputTextures?: { name: string; url: string; wrapMode?: import(".").InputTextureWrapMode | undefined; scaleMode?: import(".").InputTextureScaleMode | undefined; mipmap?: import(".").InputTextureMipmapMode | undefined; }[] | undefined; }>; /** * Library description of a reusable GPU transition. * * Transition data packages fragment shader source, editable parameters, and optional input textures * so timeline transitions can instantiate a Pixi filter at runtime with the correct uniforms. */ export declare class TransitionData { private readonly id; private readonly transitionSrc; private readonly name; private readonly provider; private readonly properties; private readonly inputTextures?; private readonly serializable; private initialized; private readonly defaultPropertyMap; private readonly textures; constructor(options: TransitionDataOptions); /** * Loads external input textures declared by the transition definition. * * @returns A promise that resolves after all input texture fetches have completed. */ init(): Promise; getInputTextures(): InputTextureDescriptor[] | undefined; getTextureImage(name: string): ImageBitmap | undefined; private fixTransitionSrc; /** * Creates a Pixi texture from one of the loaded transition input bitmaps. * * @param name Input texture name declared in the transition descriptor. * @returns Pixi texture for the input image, or `null` when the texture is unavailable. */ createPixiTexture(name: string): PIXI.Texture | null; /** * Creates the runtime Pixi filter used to render this transition. * * @param initPropertyMap Initial uniform/property values keyed by property name. * @param inputTextures Additional textures keyed by sampler/uniform name. * @returns Configured Pixi filter ready for transition rendering. */ createPixiFilter(initPropertyMap: Map, inputTextures: Record): PIXI.Filter; getId(): string; getName(): string; getProvider(): string; getProperties(): PropertyDescription[]; getDefaultPropertyMap(): ReadonlyMap; getIsSerializable(): boolean; /** * Serializes the transition definition into project-safe data. * * @returns Serialized transition definition payload. */ serialize(): { name: string; properties: { type: import(".").PropertyDescriptionTypeEnum; name: string; defaultValue: Required; label?: string | undefined; description?: string | undefined; min?: number | number[] | undefined; max?: number | number[] | undefined; step?: number | number[] | undefined; initOnly?: boolean | undefined; }[]; id: string; provider: string; transitionSrc: string; inputTextures?: { name: string; url: string; wrapMode?: import(".").InputTextureWrapMode | undefined; scaleMode?: import(".").InputTextureScaleMode | undefined; mipmap?: import(".").InputTextureMipmapMode | undefined; }[] | undefined; }; /** * Reconstructs a transition definition from serialized data. * * @param data Serialized transition definition payload. * @returns Deserialized transition definition. */ static deserialize(data: object): TransitionData; }