#pragma warning disable CA1002, CS1591
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Dto;
namespace MediaBrowser.Controller.Library
{
    public interface IMediaSourceProvider
    {
        /// 
        /// Gets the media sources.
        /// 
        /// The item.
        /// The cancellation token.
        /// Task<IEnumerable<MediaSourceInfo>>.
        Task> GetMediaSources(BaseItem item, CancellationToken cancellationToken);
        /// 
        /// Opens the media source.
        /// 
        /// Token to use.
        /// List of live streams.
        /// CancellationToken to use for operation.
        /// The media source wrapped as an awaitable task.
        Task OpenMediaSource(string openToken, List currentLiveStreams, CancellationToken cancellationToken);
    }
}