using LibraryApp.Domain.Entities; namespace LibraryApp.Domain.Repositories; public interface IBookInstanceRepository { public Task> GetByIdAsync(BookInstanceId id); public Task> GetByBarcodeAsync(BookInstanceBarcode barcode); public Task>> GetAllByShelfIdAsync(ShelfId shelfId); public Task>> GetAllByStatusAsync(BookInstanceStatus status); public Task> UpdateAsync(BookInstance bookInstance); public Task>> GetAllAsync(int pageNumber, int pageSize); public Task> AddAsync(BookInstance bookInstance); public Task DeleteAsync(BookInstanceId id); }