import { type Nullable } from "../types.js"; export declare function expandToProperty(callback: string, targetKey?: Nullable): (target: any, propertyKey: string) => void; export declare function serialize(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsTexture(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsColor3(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsFresnelParameters(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsVector2(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsVector3(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsMeshReference(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsColorCurves(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsColor4(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsImageProcessingConfiguration(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsQuaternion(sourceName?: string): (target: any, propertyKey: string | symbol) => void; export declare function serializeAsMatrix(sourceName?: string): (target: any, propertyKey: string | symbol) => void; /** * Decorator used to define property that can be serialized as reference to a camera * @param sourceName defines the name of the property to decorate * @returns Property Decorator */ export declare function serializeAsCameraReference(sourceName?: string): (target: any, propertyKey: string | symbol) => void; /** * Decorator used to redirect a function to a native implementation if available. * @internal */ export declare function nativeOverride boolean>(target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<(...params: Parameters) => any>, predicate?: T): void; export declare namespace nativeOverride { var filter: boolean>(predicate: T) => (target: any, propertyKey: string, descriptor: TypedPropertyDescriptor<(...params: Parameters) => unknown>) => void; } /** * Adds accessors for a material property. * @param setCallback - The name of the callback function to call when the property is set. * @param targetKey - The key to use for the target property (defaults to the original property key). * @returns A property decorator. */ export declare function addAccessorsForMaterialProperty(setCallback: string, targetKey?: Nullable): (target: any, propertyKey: string) => void;