import { z } from "zod"; /** * Property value categories supported by library-defined effect/transition/property descriptors. */ export declare enum PropertyDescriptionTypeEnum { NUMBER = "number", NUMBER_ARRAY = "numberArray", VECTOR2 = "vector2", VECTOR2_ARRAY = "vector2Array", VECTOR3 = "vector3", VECTOR3_ARRAY = "vector3Array", VECTOR4 = "vector4", VECTOR4_ARRAY = "vector4Array", RGB = "rgb", RGB_ARRAY = "rgbArray", RGBA = "rgba", RGBA_ARRAY = "rgbaArray", MATRIX2 = "matrix2", MATRIX2_ARRAY = "matrix2Array", MATRIX3 = "matrix3", MATRIX3_ARRAY = "matrix3Array", MATRIX4 = "matrix4", MATRIX4_ARRAY = "matrix4Array", STRING = "string", STRING_ARRAY = "stringArray", BOOLEAN = "boolean", BOOLEAN_ARRAY = "booleanArray", OTHER = "other", OTHER_ARRAY = "otherArray" } /** * Metadata describing one editable property exposed by an effect, transition, or similar library item. */ export interface PropertyDescription { name: string; type: PropertyDescriptionTypeEnum; label?: string; description?: string; defaultValue: any; min?: number | number[]; max?: number | number[]; step?: number | number[]; validateFunction?: (value: any) => boolean; initOnly?: boolean; } /** * Zod schema for a serialized property descriptor. */ export declare const PropertyDescriptionSchema: z.ZodObject<{ name: z.ZodString; type: z.ZodNativeEnum; 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: 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: 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; }>;