import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs'; import { ContactShareOptions } from '../crypto/entities/ContactShareOptions.mjs'; import { Contact } from '../model/Contact.mjs'; import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs'; import { GroupScoped } from '../model/GroupScoped.mjs'; import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs'; import { Service } from '../model/embed/Service.mjs'; import { ArrayWithUniqueKeys } from '../utils/ArrayWithUniqueKeys.mjs'; export interface ContactFlavouredInGroupApi { /** * * In-group version of [ContactFlavouredApi.shareWith] */ shareWith(delegate: EntityReferenceInGroup, contact: GroupScoped, options?: { options?: ContactShareOptions | undefined; }): Promise>; /** * * In-group version of [ContactFlavouredApi.shareWithMany] */ shareWithMany(contact: GroupScoped, delegates: ArrayWithUniqueKeys<{ delegate: EntityReferenceInGroup; shareOptions: ContactShareOptions; }, 'delegate'>): Promise>; /** * * In-group version of [ContactFlavouredApi.filterContactsBy] */ filterContactsBy(groupId: string, filter: FilterOptions): Promise>>; /** * * In-group version of [ContactFlavouredApi.filterContactsBySorted] */ filterContactsBySorted(groupId: string, filter: SortableFilterOptions): Promise>>; /** * * In-group version of [ContactBasicFlavouredApi.createContact]. */ createContact(entity: GroupScoped): Promise>; /** * * In-group version of [ContactBasicFlavouredApi.createContacts]. */ createContacts(entities: Array>): Promise>>; /** * * In-group version of [ContactBasicFlavouredApi.undeleteContactById] */ undeleteContactById(entityId: GroupScoped): Promise>; /** * * In-group version of [ContactBasicFlavouredApi.undeleteContactsByIds] */ undeleteContactsByIds(entityIds: Array>): Promise>>; /** * * In-group version of [ContactBasicFlavouredApi.undeleteContact] */ undeleteContact(contact: GroupScoped): Promise>; /** * * In-group version of [ContactBasicFlavouredApi.undeleteContacts] */ undeleteContacts(contacts: Array>): Promise>>; /** * * In-group version of [ContactBasicFlavouredApi.modifyContact] */ modifyContact(entity: GroupScoped): Promise>; /** * * In-group version of [ContactBasicFlavouredApi.modifyContacts] */ modifyContacts(entities: Array>): Promise>>; /** * * In-group version of [ContactBasicFlavouredApi.getContact] */ getContact(groupId: string, entityId: string): Promise | undefined>; /** * * In-group version of [ContactBasicFlavouredApi.getContacts] */ getContacts(groupId: string, entityIds: Array): Promise>>; /** * * In-group version of [ContactBasicFlavouredApi.getService] */ getService(groupId: string, serviceId: string): Promise | undefined>; /** * * In-group version of [ContactBasicFlavouredApi.getServices] */ getServices(groupId: string, entityIds: Array): Promise>>; }