import { CommentLike, Like, Comment, ResolvedUserIdentity, ReactionType } from "../models"; import { Store } from "../stores/Store"; import { IdentityStore } from "./IdentityStore"; export interface ILikeService { socialReacts: (topicId: string, commentId: string, isReacts: boolean, reactionType: ReactionType) => Promise; toggleLike: (...params: any[]) => Promise; } export interface ICommentLikeService extends ILikeService { getCommentLike: (topicId: string) => Promise; addComment: (comment: Comment) => Promise; updateComment: (comment: Comment) => Promise; deleteComment: (comment: Comment) => Promise; markBestReply: (topicId: string, commentId: string) => Promise; } export declare class CommentLikeStore extends Store { identityStore: IdentityStore; likes: import("../stores/Store").StoreState<{ [topicId: string]: Like[]; }>; comments: import("../stores/Store").StoreState<{ [topicId: string]: Comment[]; }>; getters: { likes: (topicId: string, commentId: string) => Like[]; topComments: (topicId: string) => Comment[]; repliedComments: (topicId: string, id: string) => Comment[]; comment: (topicId: string, id: string) => Comment; comments: (topicId: string) => Comment[]; }; mutations: {}; actions: { toggleLike: import("../stores/Store").StoreAction void, (result: any, service: ICommentLikeService, topicId: string, commentId: string, isLike: boolean, currentUser: ResolvedUserIdentity) => void, (failureReason: any, service: ICommentLikeService, topicId: string, commentId: string, isLike: boolean, currentUser: ResolvedUserIdentity) => void, (service: ICommentLikeService, topicId: string, commentId: string, isLike: boolean, currentUser: ResolvedUserIdentity) => Promise>; socialReacts: import("../stores/Store").StoreAction void, (result: any, service: ICommentLikeService, topicId: string, commentId: string, isReacts: boolean, reactionType: ReactionType, currentUser: ResolvedUserIdentity) => void, (failureReason: any, service: ICommentLikeService, topicId: string, commentId: string, isReacts: boolean, reactionType: ReactionType, currentUser: ResolvedUserIdentity) => void, (service: ICommentLikeService, topicId: string, commentId: string, isReacts: boolean, reactionType: ReactionType, currentUser: ResolvedUserIdentity) => Promise>; addOrUpdateComment: import("../stores/Store").StoreAction void, (result: Comment, service: ICommentLikeService, comment: Comment) => void, (failureReason: any, service: ICommentLikeService, comment: Comment) => void, (service: ICommentLikeService, comment: Comment) => Promise>; deleteComment: import("../stores/Store").StoreAction void, (result: any, service: ICommentLikeService, comment: Comment, currentUser: ResolvedUserIdentity) => void, (failureReason: any, service: ICommentLikeService, comment: Comment, currentUser: ResolvedUserIdentity) => void, (service: ICommentLikeService, comment: Comment, currentUser: ResolvedUserIdentity) => Promise>; toggleBestReply: import("../stores/Store").StoreAction void, (result: any, service: ICommentLikeService, topicId: string, commentId: string, currentUser: ResolvedUserIdentity) => void, (failureReason: any, service: ICommentLikeService, topicId: string, commentId: string, currentUser: ResolvedUserIdentity) => void, (service: ICommentLikeService, topicId: string, commentId: string, currentUser: ResolvedUserIdentity) => Promise>; loadData: import("../stores/Store").StoreAction void, (result: any, service: ICommentLikeService, topicId: string) => void, (failureReason: any, service: ICommentLikeService, topicId: string) => void, (service: ICommentLikeService, topicId: string) => Promise>; }; onActivated(): void; onDisposing(): void; }