/** * A symbol used to mark properties that should be ignored during cloning operations. */ export declare const ignoreSymbol: unique symbol; /** * A symbol used to mark properties that should be ignored during cloning operations. */ export declare const ignoreCloneSymbol: unique symbol; /** * A symbol used to mark properties that should be serializable. */ export declare const serializeSymbol: unique symbol; /** * A decorator function that marks a property of a class to be ignored during cloning. * * @param target - The target object (class prototype) where the property resides. * @param propertyKey - The key of the property to be ignored during cloning. */ export declare function BrainIgnoreClone(target: any, propertyKey: string | symbol): void; /** * A decorator function that marks a property of a class to be ignored. No proxy will be created for this object. * * @param target - The target object (class prototype) where the property resides. * @param propertyKey - The key of the property to be ignored. */ export declare function BrainIgnore(target: any, propertyKey: string | symbol): void; /** * A decorator function that marks a property of a class to be serializable. * * @param target - The target object (class prototype) where the property resides. * @param propertyKey - The key of the property to be ignored during cloning. */ export declare function BrainSerialize(target: any, propertyKey: string | symbol): void; export interface IBrainSerializable { isBrainSerializable: boolean; } export declare function isBrainSerializable(obj: any): obj is IBrainSerializable;