import { CommentStyles, VueComponentBase } from ".."; import { IWebComponentInstance } from "../.."; import { Comment, IBlockInstance, IOmniaContext, OmitProperties, ResolvedUserIdentity, ThemeDefinition } from "../../models"; import { CommentSorting } from "../../models/Social"; import { DirectionRuleStore, FeatureStore } from "../../stores"; import { IRichTextEditor } from "../richtexteditor"; import "./Comment.css"; import { ICommentComponent } from "./IComment"; import { CommentLocalization } from "./loc/localize"; export declare class CommentComponent extends VueComponentBase implements IWebComponentInstance, ICommentComponent { private userIdentityStore; directionStore: DirectionRuleStore; featureStore: FeatureStore; omniaContext: IOmniaContext; protected blockInstance: IBlockInstance; commentLoc: CommentLocalization.locInterface; showMoreSize: number; template: string; comments: Array; topicId: string; richTextSettings?: OmitProperties; enableBestReply: boolean; enableMention?: boolean; canMarkBestReply: boolean; dynamicInput: any; styles?: typeof CommentStyles; additionalRoles?: Array; sortOrder?: CommentSorting; allowLikes?: boolean; cardStyle?: ThemeDefinition; hideEdit?: boolean; readOnly?: boolean; hideTotalNumber?: boolean; contextParams?: { [key: string]: string | number; }; markedBestReply?: () => void; commented?: () => void; commentedReply?: () => void; reactedSocial?: () => void; private reverseSortOrder; isLoading: boolean; showOnlyBestReply: boolean; currentUser: ResolvedUserIdentity; commentsReplyingHashKey: { [id: string]: string; }; commentsHashKey: { [id: string]: string; }; commentsReplying: { [id: string]: Comment; }; commentAddingHashKey: string; commentAdding: Comment; currentShowMoreSize: { [id: string]: number; }; currentReplyCommentKey: { [parentId: string]: string; }; currentMainCommentKey: string; private commentClasses; private minIndexToShow; private topComments; private templateSettings; private isRightToLeft; private get isMobile(); private richTextPlaceholder; onTopicIdChange(newValue: Comment[], oldValue: Comment[]): void; created(): void; mounted(): void; beforeUpdate(): void; initCommentAdding(): void; extendCurrentShowMoreSize(id: string, size?: number): void; onCommentAdded: (addedComment: boolean, commentId: string, parentComment?: Comment) => void; onCancelReply(comment: Comment): void; onOpenReply(commentToReplyOn: Comment): Comment; isElementInViewport(el: any): boolean; getCommentsCountLabel(commentsCount: number): string; renderTopicComments(): VueTsxSupport.JSX.Element; setFocusWhenViewPrevOrMoreComment(parentCommentId: string, commentKey: string): void; renderTopCommentShowMoreOption(id: string, replyComment?: boolean): VueTsxSupport.JSX.Element; renderShowAllOption(id: string): VueTsxSupport.JSX.Element; renderMainCommentComponent(comment: Comment, slimSpacing: boolean): VueTsxSupport.JSX.Element; renderCommentsWithChildren(parentComment: Comment): VueTsxSupport.JSX.Element; renderBestReply(): VueTsxSupport.JSX.Element | JSX.Element[]; render(): VueTsxSupport.JSX.Element; }