using Robust.Shared.Serialization.TypeSerializers.Interfaces;
namespace Robust.Shared.Serialization
{
///
/// Allows a type with an argument-free constructor (i.e. new()) to provide its own serializer and
/// deserializer in place from a string, without deferring to an .
///
///
/// This is much more limited than a full serializer, and only allows working with a scalar, but may be
/// convenient.
///
public interface ISelfSerialize
{
///
/// Deserialize the type from a given string value, after having already constructed one with new().
///
/// The scalar to deserialize from.
void Deserialize(string value);
///
/// Serialize the type to a yaml scalar (i.e. string).
///
/// The serialized representation of the data.
string Serialize();
}
}