import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs'; import { MessageShareOptions } from '../crypto/entities/MessageShareOptions.mjs'; import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs'; import { GroupScoped } from '../model/GroupScoped.mjs'; import { Message } from '../model/Message.mjs'; import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs'; import { ArrayWithUniqueKeys } from '../utils/ArrayWithUniqueKeys.mjs'; export interface MessageFlavouredInGroupApi { /** * * In-group version of [MessageFlavouredApi.shareWith] */ shareWith(delegate: EntityReferenceInGroup, message: GroupScoped, options?: { options?: MessageShareOptions | undefined; }): Promise>; /** * * In-group version of [MessageFlavouredApi.shareWithMany] */ shareWithMany(message: GroupScoped, delegates: ArrayWithUniqueKeys<{ delegate: EntityReferenceInGroup; shareOptions: MessageShareOptions; }, 'delegate'>): Promise>; /** * * In-group version of [MessageFlavouredApi.filterMessagesBy] */ filterMessagesBy(groupId: string, filter: FilterOptions): Promise>>; /** * * In-group version of [MessageFlavouredApi.filterMessagesBySorted] */ filterMessagesBySorted(groupId: string, filter: SortableFilterOptions): Promise>>; /** * * In-group version of [MessageApi.createMessage] */ createMessage(entity: GroupScoped): Promise>; /** * * In-group version of [MessageApi.createMessages] */ createMessages(entities: Array>): Promise>>; /** * * In-group version of [MessageBasicFlavouredApi.undeleteMessageById] */ undeleteMessageById(entityId: GroupScoped): Promise>; /** * * In-group version of [MessageBasicFlavouredApi.undeleteMessagesByIds] */ undeleteMessagesByIds(entityIds: Array>): Promise>>; /** * * In-group version of [MessageBasicFlavouredApi.undeleteMessage] */ undeleteMessage(message: GroupScoped): Promise>; /** * * In-group version of [MessageBasicFlavouredApi.undeleteMessages] */ undeleteMessages(messages: Array>): Promise>>; /** * * In-group version of [MessageBasicFlavouredApi.modifyMessage] */ modifyMessage(entity: GroupScoped): Promise>; /** * * In-group version of [MessageBasicFlavouredApi.modifyMessages] */ modifyMessages(entities: Array>): Promise>>; /** * * In-group version of [MessageBasicFlavouredApi.getMessage] */ getMessage(groupId: string, entityId: string): Promise | undefined>; /** * * In-group version of [MessageBasicFlavouredApi.getMessages] */ getMessages(groupId: string, entityIds: Array): Promise>>; }