using System;
namespace QFSW.QC
{
///
/// Creates a Serializer that is loaded and used by the QuantumSerializer.
///
public interface IQcSerializer
{
///
/// The priority of this serializer to resolve multiple serializers covering the same type.
///
int Priority { get; }
///
/// If this serializer can serialize the incoming type.
///
/// The type to test.
/// If it can serialize.
bool CanSerialize(Type type);
///
/// Serializes the incoming data.
///
/// The value to serialize.
/// The (optional) theme to use for formatted serialization.
/// Delegate back to the main serializer to allow for recursive serialization of sub elements.
/// The serialized result.
string SerializeFormatted(object value, QuantumTheme theme, Func