namespace ProtoBuf
{
    /// 
    /// Represents the ability to deserialize values from an input of type 
    /// 
    public interface IProtoInput
    {
        /// 
        /// Deserialize a value from the input
        /// 
        T Deserialize(TInput source, T value = default, object userState = null);
    }
}