using AuthorBuddy.Web.Models; namespace AuthorBuddy.Web.Services; public interface IProjectService { Task CreateNewProjectAsync(string projectName, string rootPath, int userId, ProjectTemplate template = ProjectTemplate.Novel); Task> GetAllProjectsAsync(int? userId = null); Task GetProjectAsync(int projectId); Task> GetProjectFileTreeAsync(int projectId); Task SyncProjectFilesAsync(int projectId, string directoryPath, IProgress progress); Task CopyProjectAsync(int sourceProjectId, string newName, string newRootPath, int userId); Task> GetFileCategoriesAsync(int projectId); Task SetFileCategoryAsync(int projectId, string filePath, FileCategory category); Task ClearFileCategoryAsync(int projectId, string filePath); }