import 'dart:typed_data'; import 'package:paperless_mobile/features/documents/model/document.model.dart'; import 'package:paperless_mobile/features/documents/model/document_filter.dart'; import 'package:paperless_mobile/features/documents/model/document_meta_data.model.dart'; import 'package:paperless_mobile/features/documents/model/paged_search_result.dart'; import 'package:paperless_mobile/features/documents/model/similar_document.model.dart'; abstract class DocumentRepository { Future create( Uint8List documentBytes, String filename, { required String title, int? documentType, int? correspondent, List? tags, DateTime? createdAt, }); Future update(DocumentModel doc); Future findNextAsn(); Future find(DocumentFilter filter); Future> findSimilar(int docId); Future delete(DocumentModel doc); Future getMetaData(DocumentModel document); Future> bulkDelete(List models); Future getPreview(int docId); String getThumbnailUrl(int docId); Future waitForConsumptionFinished( String filename, String title); Future download(DocumentModel document); Future> autocomplete(String query, [int limit = 10]); }