import * as PIXI from "pixi.js"; import { z } from "zod"; /** * Zod schema for serialized LUT filter instances attached to clips. */ export declare const FilterSchema: z.ZodObject<{ id: z.ZodString; filterId: z.ZodString; provider: z.ZodString; clipId: z.ZodOptional; intensity: z.ZodNumber; }, "strip", z.ZodTypeAny, { intensity: number; id: string; provider: string; filterId: string; clipId?: string | undefined; }, { intensity: number; id: string; provider: string; filterId: string; clipId?: string | undefined; }>; /** * Constructor options for {@link Filter}. */ export interface FilterOptions { filterId: string; intensity?: number; clipId?: string; } /** * Represents a clip filter backed by a LUT texture and PIXI filter instance. */ export declare class Filter { private id; private readonly filterId; private provider; private clipId?; private intensity; private lutTexture; private pixiFilter; private initialized; /** * Creates a filter wrapper for a library filter definition. * * @param options Filter creation options. */ constructor(options: FilterOptions); /** * Resolves the filter definition from the library and creates the underlying PIXI filter. * * @returns Nothing. */ init(): void; /** * Returns the unique instance ID of this filter. * * @returns The filter instance ID. */ getId(): string; /** * Associates the filter with a clip. * * @param clipId Clip ID that owns the filter. * @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 filter is not attached to a clip. */ getClipId(): string | undefined; /** * Returns the provider identifier of the library filter definition. * * @returns The provider ID. */ getProvider(): string; /** * Updates the LUT blend intensity. * * @param intensity Blend amount applied by the LUT filter. * @returns Nothing. */ setIntensity(intensity: number): void; /** * Returns the current LUT blend intensity. * * @returns The intensity value. */ getIntensity(): number; /** * Returns the library filter ID used to create this instance. * * @returns The filter definition ID. */ getFilterId(): string; /** * Returns the underlying PIXI filter once initialized. * * @returns The PIXI filter, or `null` if the filter has not been initialized. */ getPixiFilter(): PIXI.Filter | null; /** * Serializes this filter instance. * * @returns The serialized filter payload. */ serialize(): { intensity: number; id: string; provider: string; filterId: string; clipId?: string | undefined; }; /** * Creates a filter instance from serialized data. * * @param data Serialized filter payload. * @returns The deserialized filter instance. */ static deserialize(data: object): Filter; }