using ErsatzTV.Core.Domain; namespace ErsatzTV.Core.Interfaces.Metadata; public interface ILocalFileSystem { Unit EnsureFolderExists(string folder); DateTime GetLastWriteTime(string path); bool IsLibraryPathAccessible(LibraryPath libraryPath); IEnumerable ListSubdirectories(string folder); IEnumerable ListFiles(string folder); IEnumerable ListFiles(string folder, string searchPattern); bool FileExists(string path); bool FolderExists(string folder); Task> CopyFile(string source, string destination); Unit EmptyFolder(string folder); }