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.