///
import { CommentsMap, CommentGroup } from "./CommentsMap";
import { CommentData, Editor, RootElement, SelectionDetail, DocComment } from "../interface";
import { MainComments } from "./CommentUtils";
import '../static/css/comment.css';
import EditorPopover from "../ui/Popover";
import MobileComments from "./MobileComments";
export default class EditorCommentsContainer extends MainComments {
editorRootElement: RootElement;
mobileComments?: MobileComments;
rootContainer: HTMLElement;
headContainer: HTMLElement | null;
groupsContainer: HTMLElement | null;
groupsContainerTranslateY: number;
commentCountElement: HTMLElement | null;
commentsMap: CommentsMap;
scrollContainer: HTMLElement;
highlightCommentGroupById: import("lodash").DebouncedFunc<(groupIds: string | string[]) => void>;
fixGroupsPosition: import("lodash").DebouncedFunc<(fromWheel?: boolean | undefined) => void>;
editor: Editor;
popover: EditorPopover;
private addResizeEventTimer?;
constructor(editor: Editor);
rootElement(): HTMLElement;
destroy(): void;
reset(): void;
bind(): void;
unbind(): void;
getComments(): any;
isEmptyComment(commentEditor: Editor): boolean;
isMini(): boolean;
updateCommentItemTool: () => void;
updateSwitchButton: () => void;
handleSwitchComment(commentGroup: CommentGroup, next: boolean): void;
handleCommentEnterSend(target: HTMLElement): void;
handleClick: (event: MouseEvent) => void;
handleInsertImageComment: (comment: CommentData, commentItem: HTMLElement) => void;
handleShowMoreHandler: (popoverTarget: HTMLElement, commandTarget: Node, comment: CommentData, commentItem: HTMLElement) => void;
handleCancelComment: (comment: CommentData, commentItem: HTMLElement) => void;
handleCommentEditorSend: (comment: CommentData, commentItem: HTMLElement) => boolean;
processBlurComment: (element: Element | null) => void;
handleEditComment(comment: CommentData, commentItem: HTMLElement): void;
handleDeleteComment(comment: CommentData, commentItem: HTMLElement): void;
handleReplyComment(comment: CommentData, commentItem: HTMLElement, hideMention?: boolean): void;
handleWheel: (event: WheelEvent) => void;
isVisible(): boolean;
triggerUpdateLayout(): void;
handleHide: () => void;
handleShow: () => void;
setGroupsTransform(dy: number): void;
fixGroupsPositionCore(fromWheel?: boolean): void;
fixRootHeight(): void;
getCommentTarget(commentId: string): Element | null;
getAllCommentTarget(commentId: string): Array;
getAllCommentContainer(): Array;
getCommentGroupByChild(child: Element | Text): CommentGroup | undefined;
highlightCommentGroupByIdCore(groupIds: string | string[]): void;
highlightCommentGroup(commentGroup?: CommentGroup): void;
highlightCommentGroupCore(commentGroup?: CommentGroup): void;
isInCommentContainer(node: Node): boolean;
showComments(rootComments: Array>): void;
editComment(groupId: string, id: string): void;
getCommentGroupItemCount(group: Element): number;
setCommentGroupItemCount(group: Element, count: number): void;
updateCommentCount(): void;
onInsertComment(comment: DocComment): void;
onDeleteComment(comment: DocComment): void;
onUpdatePosition: () => void;
handleSelectImg(img: HTMLImageElement): void;
handleSelectionChanged(detail: SelectionDetail): void;
updateCommentText(commentId: string): void;
}