using System.Threading;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Configuration;
namespace MediaBrowser.Controller.BaseItemManager
{
///
/// The BaseItem manager.
///
public interface IBaseItemManager
{
///
/// Gets the semaphore used to limit the amount of concurrent metadata refreshes.
///
SemaphoreSlim MetadataRefreshThrottler { get; }
///
/// Is metadata fetcher enabled.
///
/// The base item.
/// The library options.
/// The metadata fetcher name.
/// true if metadata fetcher is enabled, else false.
bool IsMetadataFetcherEnabled(BaseItem baseItem, LibraryOptions libraryOptions, string name);
///
/// Is image fetcher enabled.
///
/// The base item.
/// The library options.
/// The image fetcher name.
/// true if image fetcher is enabled, else false.
bool IsImageFetcherEnabled(BaseItem baseItem, LibraryOptions libraryOptions, string name);
}
}