using Avalonia_Common.Core; namespace Avalonia_Services.Services.FileLibrary { public interface IFileLibraryService { Task> GetDrivesAsync(CancellationToken cancellationToken = default); Task> GetDirectoriesAsync(string? path, CancellationToken cancellationToken = default); Task> GetRootsAsync(CancellationToken cancellationToken = default); Task AddRootAsync(AddLibraryRootRequest request, CancellationToken cancellationToken = default); Task SetRootEnabledAsync(UpdateLibraryRootRequest request, CancellationToken cancellationToken = default); Task DeleteRootAsync(DeleteLibraryRootRequest request, CancellationToken cancellationToken = default); Task ScanRootAsync(int rootId, CancellationToken cancellationToken = default); Task ScanDueRootsAsync(CancellationToken cancellationToken = default); Task> SearchFilesAsync(SearchFilesRequest request, CancellationToken cancellationToken = default); Task GetFileAsync(int id, CancellationToken cancellationToken = default); Task GetTextPreviewAsync(int id, CancellationToken cancellationToken = default); } }