using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Jellyfin.Data.Events;
using Microsoft.AspNetCore.Http;
namespace MediaBrowser.Controller.Net
{
    /// 
    /// Interface IHttpServer.
    /// 
    public interface IWebSocketManager
    {
        /// 
        /// Occurs when [web socket connected].
        /// 
        event EventHandler> WebSocketConnected;
        /// 
        /// Inits this instance.
        /// 
        /// The websocket listeners.
        void Init(IEnumerable listeners);
        /// 
        /// The HTTP request handler.
        /// 
        /// The current HTTP context.
        /// The task.
        Task WebSocketRequestHandler(HttpContext context);
    }
}