import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs'; import { RelatedPersonShareOptions } from '../crypto/entities/RelatedPersonShareOptions.mjs'; import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs'; import { GroupScoped } from '../model/GroupScoped.mjs'; import { RelatedPerson } from '../model/RelatedPerson.mjs'; import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs'; import { ArrayWithUniqueKeys } from '../utils/ArrayWithUniqueKeys.mjs'; export interface RelatedPersonFlavouredInGroupApi { /** * * In-group version of [RelatedPersonFlavouredApi.shareWith] */ shareWith(delegate: EntityReferenceInGroup, relatedPerson: GroupScoped, options?: { options?: RelatedPersonShareOptions | undefined; }): Promise>; /** * * In-group version of [RelatedPersonFlavouredApi.shareWithMany] */ shareWithMany(relatedPerson: GroupScoped, delegates: ArrayWithUniqueKeys<{ delegate: EntityReferenceInGroup; shareOptions: RelatedPersonShareOptions; }, 'delegate'>): Promise>; /** * * In-group version of [RelatedPersonFlavouredApi.filterRelatedPersonsBy] */ filterRelatedPersonsBy(groupId: string, filter: FilterOptions): Promise>>; /** * * In-group version of [RelatedPersonFlavouredApi.filterRelatedPersonsBySorted] */ filterRelatedPersonsBySorted(groupId: string, filter: SortableFilterOptions): Promise>>; /** * * In-group version of [RelatedPersonBasicFlavouredApi.createRelatedPerson] */ createRelatedPerson(entity: GroupScoped): Promise>; /** * * In-group version of [RelatedPersonBasicFlavouredApi.createRelatedPersons] */ createRelatedPersons(entities: Array>): Promise>>; /** * * In-group version of [RelatedPersonBasicFlavouredApi.undeleteRelatedPersonById] */ undeleteRelatedPersonById(entityId: GroupScoped): Promise>; /** * * In-group version of [RelatedPersonBasicFlavouredApi.undeleteRelatedPersonsByIds] */ undeleteRelatedPersonsByIds(entityIds: Array>): Promise>>; /** * * In-group version of [RelatedPersonBasicFlavouredApi.undeleteRelatedPerson] */ undeleteRelatedPerson(relatedPerson: GroupScoped): Promise>; /** * * In-group version of [RelatedPersonBasicFlavouredApi.undeleteRelatedPersons] */ undeleteRelatedPersons(relatedPersons: Array>): Promise>>; /** * * In-group version of [RelatedPersonBasicFlavouredApi.modifyRelatedPerson] */ modifyRelatedPerson(entity: GroupScoped): Promise>; /** * * In-group version of [RelatedPersonBasicFlavouredApi.modifyRelatedPersons] */ modifyRelatedPersons(entities: Array>): Promise>>; /** * * In-group version of [RelatedPersonBasicFlavouredApi.getRelatedPerson] */ getRelatedPerson(groupId: string, entityId: string): Promise | undefined>; /** * * In-group version of [RelatedPersonBasicFlavouredApi.getRelatedPersons] */ getRelatedPersons(groupId: string, entityIds: Array): Promise>>; }