namespace ErsatzTV.Core.Interfaces.Metadata; public interface ILocalFileSystem { Unit EnsureFolderExists(string folder); DateTime GetLastWriteTime(string path); IEnumerable ListSubdirectories(string folder); IEnumerable ListFiles(string folder); IEnumerable ListFiles(string folder, string searchPattern); IEnumerable ListFiles(string folder, params string[] searchPatterns); Task> CopyFile(string source, string destination); Unit EmptyFolder(string folder); Task GetHash(string path); string GetCustomOrDefaultFile(string folder, string file); }