import type { Node as ProseMirrorNode } from "prosemirror-model"; import type { Transaction } from "prosemirror-state"; import type { EditorView } from "prosemirror-view"; import type { Editor } from "../types.js"; import { Comment } from "./comment.js"; interface StoreMod { editor: Editor; interactions: { isCurrentlyEditing(): boolean; activeCommentId: string | number | boolean; activateComment(id: string | number): void; }; [key: string]: any; } interface CommentDuringCreation { comment: Comment; inDOM: boolean; view: EditorView | null; } interface UnsentEvent { type: string; id?: string | number; answerId?: string | number; } export declare class ModCommentStore { mod: StoreMod; commentDuringCreation: CommentDuringCreation | false; comments: Record; unsent: UnsentEvent[]; constructor(mod: StoreMod); reset(): void; findComment(id: number | string): Comment | false; mustSend(): void; addCommentDuringCreation(view: EditorView): void; addGlobalCommentDuringCreation(): void; removeCommentDuringCreation(): void; addComment(commentData: any, posFrom: number, posTo: number, view: EditorView): void; addGlobalComment(commentData: any): number | string; addMark(tr: Transaction, from: number, to: number, mark: ProseMirrorNode["marks"][0]): Transaction | undefined; removeMark(tr: Transaction, from: number, to: number, mark: ProseMirrorNode["marks"][0]): void; loadComments(commentsData: Record): void; addLocalComment(commentData: any, local?: boolean): void; updateComment(commentData: any): void; updateLocalComment(commentData: any, local?: boolean): void; removeCommentMarks(id: number | string): void; deleteLocalComment(id: number | string, local?: boolean): boolean; deleteComment(id: number | string, removeMarks?: boolean): void; addLocalAnswer(id: number | string, answer: any, local?: boolean): void; addAnswer(id: number | string, answer: any): void; deleteLocalAnswer(id: number | string, answerId: number | string, local?: boolean): void; deleteAnswer(id: number | string, answerId: number | string): void; updateLocalAnswer(id: number | string, answerId: number | string, answerText: string, local?: boolean): void; updateAnswer(id: number | string, answerId: number | string, answerText: string): void; unsentEvents(): any[]; eventsSent(n: any[]): void; receive(events: any[]): void; } export {}; //# sourceMappingURL=store.d.ts.map