using System; using System.Collections.Generic; using System.Threading.Tasks; using LCU.API.Internal.DocumentLib.Containers; using LCU.Library.Internal.DocumentIngestorModels.Models.Pagination; using LCU.Library.Internal.DocumentModels.Requests.Search; namespace LCU.API.Internal.DocumentLib.Repositories; public interface IDocumentInformationRepository { Task GetDocumentInformation(Guid documentId); Task GetDocumentInformationByBlobId(Guid documentBlobId); Task> SearchDocumentInformation(DocumentInformationFilter filter, int? skip = null, int? take = null, List? sortDefinition = null); Task SaveDocumentInformation(DocumentInformation document); Task UpdateDocumentInformation(Guid documentId, DocumentInformation newDocument); Task RemoveDocumentInformation(Guid documentId); Task CountDocuments(DocumentInformationFilter filter); Task> GetDocumentsForCleanup(GetDocumentCleanupRequest request); }