import { BaseFilterOptions, FilterOptions } from '../cardinal-sdk-ts.mjs'; import { EntityReferenceInGroup } from '../model/EntityReferenceInGroup.mjs'; import { Topic } from '../model/Topic.mjs'; interface TopicFiltersFactory { /** * * Create options for topic filtering that will match all topics shared directly (i.e. ignoring hierarchies) with a specific data owner. * @param dataOwnerId a data owner id or null to use the current data owner id * @return options for topic filtering */ allTopicsForDataOwner(dataOwnerId: string): BaseFilterOptions; /** * * In-group version of [allTopicsForDataOwner]. */ allTopicsForDataOwnerInGroup(dataOwner: EntityReferenceInGroup): BaseFilterOptions; /** * * Create options for topic filtering that will match all topics shared directly (i.e. ignoring hierarchies) with the current data owner. * @return options for topic filtering */ allTopicsForSelf(): FilterOptions; /** * * Creates options for topic filtering that will match all topics where the provided data owner is an active * participant. * @param participantId a data owner id */ byParticipant(participantId: string): FilterOptions; /** * * In-group version of [byParticipant]. */ byParticipantInGroup(participant: EntityReferenceInGroup): FilterOptions; } export declare const TopicFilters: TopicFiltersFactory; export {};