The namespace provides types that support customization and control of serialization at design time. The classes in this namespace can be divided into the following categories: Serialization attributes that can be used to indicate the serializer to use for a specific type: , to indicate the serializer to use for a particular type; and , to indicate the base serializer to use for the root designer. Classes that a designer can implement to customize serialization: , for loading a designer document from a serialized state; and , for loading a designer document when external components and asynchronous loading are involved. Interfaces that a designer can use to manage the serialization process: , to register or retrieve custom serializers; , to make a serializer available to an ; and , which provides methods to invoke serialization and deserialization. An interface that can be implemented to customize the loading process of a designer: . An interface that can be used to optimize the reloading of a designer: . Other helper classes: , an interface for generating unique names for objects; , a data structure useful for sharing serialization context information with serializers; and , an object that can describe a serializable object.