namespace SabreTools.Serialization.Interfaces
{
///
/// Defines how to serialize to and from strings
///
public interface IStringSerializer
{
///
/// Deserialize a string into
///
/// Type of object to deserialize to
/// String to deserialize from
/// Filled object on success, null on error
#if NET48
T Deserialize(string str);
#else
T? Deserialize(string? str);
#endif
///
/// Serialize a into a string
///
/// Type of object to serialize from
/// Data to serialize
/// Filled string on successful serialization, null otherwise
#if NET48
string Serialize(T obj);
#else
string? Serialize(T? obj);
#endif
}
}