import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs'; import { DocumentShareOptions } from '../crypto/entities/DocumentShareOptions.mjs'; import { Document } from '../model/Document.mjs'; import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs'; import { GroupScoped } from '../model/GroupScoped.mjs'; import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs'; import { ArrayWithUniqueKeys } from '../utils/ArrayWithUniqueKeys.mjs'; export interface DocumentFlavouredInGroupApi { /** * * In-group version of [DocumentFlavouredApi.shareWith] */ shareWith(delegate: EntityReferenceInGroup, document: GroupScoped, options?: { options?: DocumentShareOptions | undefined; }): Promise>; /** * * In-group version of [DocumentFlavouredApi.shareWithMany] */ shareWithMany(document: GroupScoped, delegates: ArrayWithUniqueKeys<{ delegate: EntityReferenceInGroup; shareOptions: DocumentShareOptions; }, 'delegate'>): Promise>; /** * * In-group version of [DocumentFlavouredApi.filterDocumentsBy] */ filterDocumentsBy(groupId: string, filter: FilterOptions): Promise>>; /** * * In-group version of [DocumentFlavouredApi.filterDocumentsBySorted] */ filterDocumentsBySorted(groupId: string, filter: SortableFilterOptions): Promise>>; /** * * In-group version of [DocumentBasicFlavouredApi.createDocument]. */ createDocument(entity: GroupScoped): Promise>; /** * * In-group version of [DocumentBasicFlavouredApi.createDocuments]. */ createDocuments(entities: Array>): Promise>>; /** * * In-group version of [DocumentBasicFlavouredApi.undeleteDocumentById] */ undeleteDocumentById(entityId: GroupScoped): Promise>; /** * * In-group version of [DocumentBasicFlavouredApi.undeleteDocumentsByIds] */ undeleteDocumentsByIds(entityIds: Array>): Promise>>; /** * * In-group version of [DocumentBasicFlavouredApi.undeleteDocument] */ undeleteDocument(document: GroupScoped): Promise>; /** * * In-group version of [DocumentBasicFlavouredApi.undeleteDocuments] */ undeleteDocuments(documents: Array>): Promise>>; /** * * In-group version of [DocumentBasicFlavouredApi.modifyDocument] */ modifyDocument(entity: GroupScoped): Promise>; /** * * In-group version of [DocumentBasicFlavouredApi.modifyDocuments] */ modifyDocuments(entities: Array>): Promise>>; /** * * In-group version of [DocumentBasicFlavouredApi.getDocument] */ getDocument(groupId: string, entityId: string): Promise | undefined>; /** * * In-group version of [DocumentBasicFlavouredApi.getDocuments] */ getDocuments(groupId: string, entityIds: Array): Promise>>; }