using System;
namespace MediaBrowser.Controller.Library
{
    public interface ILibraryMonitor : IDisposable
    {
        /// 
        /// Starts this instance.
        /// 
        void Start();
        /// 
        /// Stops this instance.
        /// 
        void Stop();
        /// 
        /// Reports the file system change beginning.
        /// 
        /// The path.
        void ReportFileSystemChangeBeginning(string path);
        /// 
        /// Reports the file system change complete.
        /// 
        /// The path.
        /// if set to true [refresh path].
        void ReportFileSystemChangeComplete(string path, bool refreshPath);
        /// 
        /// Reports the file system changed.
        /// 
        /// The path.
        void ReportFileSystemChanged(string path);
        /// 
        /// Determines whether [is path locked] [the specified path].
        /// 
        /// The path.
        /// true if [is path locked] [the specified path]; otherwise, false.
        bool IsPathLocked(string path);
    }
}