/**
 * 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;
