using System.IO;
namespace SabreTools.Serialization
{
///
/// Defines how to serialize to and from Streams
///
public interface IStreamSerializer
{
///
/// Deserialize a Stream into
///
/// Type of object to deserialize to
/// Stream to parse
/// Filled object on success, null on error
#if NET48
T Deserialize(Stream data);
#else
T? Deserialize(Stream? data);
#endif
///
/// Serialize a into a Stream
///
/// Type of object to serialize from
/// Data to serialize
/// Filled object on success, null on error
#if NET48
Stream Serialize(T obj);
#else
Stream? Serialize(T? obj);
#endif
}
}