import { Store } from "@omnia/fx/stores"; import { Topic } from "../models"; import { TopicSubscription } from "../models"; import { UserTopicActivity, TopicInformation } from "../models"; import { TopicWithFilter } from "../models"; import { ActivityFilter } from "../models"; export type ActivityQueryFilter = Array | ActivityFilter; declare enum PagingType { ActivityFilter = 0, TopicFilter = 1 } export interface IActivitiesPageToken { type: PagingType; filterRep: string; } export declare class TopicsActivityStore extends Store { private topicActivityService; private subscriptions; private userTopicActivitiesByFilter; private topicInformation; private loadSubscriptionsPromise; onActivated(): void; onDisposing(): void; getters: { isSubscribing: (topic: Topic) => boolean; subscriptionByTopic: (topic: Topic) => TopicSubscription; subscriptions: () => Array; /** * Returns information about a topic, if infor has been loaded, else null * */ topicInformation: (topic: Topic) => TopicInformation; /** * Get activities by topic and filter, topic and null filter for all on topic * */ topicActivities: (filter: ActivityQueryFilter) => Array; }; get mutationEvents(): { onSubscriptionsMutated: (fn: (obj: import("@omnia/fx-models").StateMutation) => void) => import("@omnia/fx-models").IMessageBusSubscriptionHandler; }; actions: { subscribe: import("@omnia/fx/stores").StoreAction void, (result: void, topics: Topic[]) => void, (failureReason: any, topics: Topic[]) => void, (topics: Array) => Promise>; unSubscribe: import("@omnia/fx/stores").StoreAction void, (result: void, subscriptionsToUnsubscribe: TopicSubscription[]) => void, (failureReason: any, subscriptionsToUnsubscribe: TopicSubscription[]) => void, (subscriptionsToUnsubscribe: Array) => Promise>; /** * Loads user subscription * * */ loadSubscriptions: import("@omnia/fx/stores").StoreAction void, (result: void) => void, (failureReason: any) => void, () => Promise>; loadTopicActivities: import("@omnia/fx/stores").StoreAction void, (result: IActivitiesPageToken, filter: ActivityQueryFilter) => void, (failureReason: any, filter: ActivityQueryFilter) => void, (filter: ActivityQueryFilter) => Promise>; loadTopicActivitiesNextPage: import("@omnia/fx/stores").StoreAction void, (result: IActivitiesPageToken, nextPageToken: IActivitiesPageToken) => void, (failureReason: any, nextPageToken: IActivitiesPageToken) => void, (nextPageToken: IActivitiesPageToken) => Promise>; /*** * Get topic information for specified topics * Gathers additional information for the topics given, i.e. like displayfriendy information * Note some topic like tag and user does not provide any extra information due to the nature of the topic, this only returns the baseic TopicInformation * **/ loadTopicInformation: import("@omnia/fx/stores").StoreAction void, (result: void, ...args: Topic[]) => void, (failureReason: any, ...args: Topic[]) => void, (...params: Topic[]) => Promise>; }; private handleLoadedTopicActivitiesResult; private createTopicIdentifier; } export {};