import { FilterOptions, PaginatedListIterator, SortableFilterOptions } from '../cardinal-sdk-ts.mjs'; import { TopicShareOptions } from '../crypto/entities/TopicShareOptions.mjs'; import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs'; import { GroupScoped } from '../model/GroupScoped.mjs'; import { StoredDocumentIdentifier } from '../model/StoredDocumentIdentifier.mjs'; import { Topic } from '../model/Topic.mjs'; import { ArrayWithUniqueKeys } from '../utils/ArrayWithUniqueKeys.mjs'; export interface TopicFlavouredInGroupApi { /** * * In-group version of [TopicFlavouredApi.shareWith] */ shareWith(delegate: EntityReferenceInGroup, topic: GroupScoped, options?: { options?: TopicShareOptions | undefined; }): Promise>; /** * * In-group version of [TopicFlavouredApi.shareWithMany] */ shareWithMany(topic: GroupScoped, delegates: ArrayWithUniqueKeys<{ delegate: EntityReferenceInGroup; shareOptions: TopicShareOptions; }, 'delegate'>): Promise>; /** * * In-group version of [TopicFlavouredApi.filterTopicsBy] */ filterTopicsBy(groupId: string, filter: FilterOptions): Promise>>; /** * * In-group version of [TopicFlavouredApi.filterTopicsBySorted] */ filterTopicsBySorted(groupId: string, filter: SortableFilterOptions): Promise>>; /** * * In-group version of [TopicBasicFlavouredApi.createTopic] */ createTopic(entity: GroupScoped): Promise>; /** * * In-group version of [TopicBasicFlavouredApi.createTopics] */ createTopics(entities: Array>): Promise>>; /** * * In-group version of [TopicBasicFlavouredApi.undeleteTopicById] */ undeleteTopicById(entityId: GroupScoped): Promise>; /** * * In-group version of [TopicBasicFlavouredApi.undeleteTopicsByIds] */ undeleteTopicsByIds(entityIds: Array>): Promise>>; /** * * In-group version of [TopicBasicFlavouredApi.undeleteTopic] */ undeleteTopic(topic: GroupScoped): Promise>; /** * * In-group version of [TopicBasicFlavouredApi.undeleteTopics] */ undeleteTopics(topics: Array>): Promise>>; /** * * In-group version of [TopicBasicFlavouredApi.modifyTopic] */ modifyTopic(entity: GroupScoped): Promise>; /** * * In-group version of [TopicBasicFlavouredApi.modifyTopics] */ modifyTopics(entities: Array>): Promise>>; /** * * In-group version of [TopicBasicFlavouredApi.getTopic] */ getTopic(groupId: string, entityId: string): Promise | undefined>; /** * * In-group version of [TopicBasicFlavouredApi.getTopics] */ getTopics(groupId: string, entityIds: Array): Promise>>; }