namespace MediaBrowser.Controller.Library
{
    /// 
    /// Service responsible for monitoring library filesystems for changes.
    /// 
    public interface ILibraryMonitor
    {
        /// 
        /// 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);
    }
}