import * as PIXI from "pixi.js"; import { z } from "zod"; /** * Zod schema for a serialized LUT filter definition. */ export declare const FilterDataSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; provider: z.ZodString; lutUrl: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; id: string; provider: string; lutUrl: string; }, { name: string; id: string; provider: string; lutUrl: string; }>; /** * Options used to create a reusable LUT-based library filter definition. */ export interface FilterDataOptions { id?: string; lutUrl: string; name?: string; provider?: string; serializable?: boolean; } /** * Library description of a LUT filter asset that can later be instantiated as a Pixi texture/filter pair. */ export declare class FilterData { private readonly id; private readonly lutUrl; private readonly name; private readonly provider; private lutImage; private readonly serializable; private initialized; constructor(options: FilterDataOptions); /** * Loads the LUT image referenced by the filter definition. * * @returns A promise that resolves after the LUT bitmap has been fetched or the load attempt has failed. */ init(): Promise; getId(): string; getName(): string; getProvider(): string; getLutUrl(): string; getIsSerializable(): boolean; /** * Creates a Pixi texture from the loaded LUT bitmap using nearest sampling. * * Nearest filtering is intentional here to avoid introducing interpolation artifacts when sampling LUT cells. * * @returns Pixi texture for the LUT image, or `null` if the LUT is not loaded. */ createPixiTexture(): PIXI.Texture | null; /** * Serializes the filter definition into project-safe data. * * @returns Serialized filter definition payload. */ serialize(): { name: string; id: string; provider: string; lutUrl: string; }; /** * Reconstructs a filter definition from serialized data. * * @param data Serialized filter definition payload. * @returns Deserialized filter definition. */ static deserialize(data: object): FilterData; }