using System.IO;
using System.Threading.Tasks;
using MediaBrowser.Controller.Net;
using MediaBrowser.Model.ClientLog;
namespace MediaBrowser.Controller.ClientEvent
{
    /// 
    /// The client event logger.
    /// 
    public interface IClientEventLogger
    {
        /// 
        /// Logs the event from the client.
        /// 
        /// The client log event.
        void Log(ClientLogEvent clientLogEvent);
        /// 
        /// Writes a file to the log directory.
        /// 
        /// The client name writing the document.
        /// The client version writing the document.
        /// The file contents to write.
        /// The created file name.
        Task WriteDocumentAsync(
            string clientName,
            string clientVersion,
            Stream fileContents);
    }
}