import type { EditorState } from "prosemirror-state"; import type { EditorView } from "prosemirror-view"; import { type SuggestionMode, type SuggestionSubtype, type Author, type AuthorInfo, type SuggestionReply } from "./plugin-suggestions"; export type { SuggestionMode, SuggestionSubtype, Author, AuthorInfo, SuggestionReply }; export interface SuggestionItem { id: string; type: SuggestionSubtype; author: Author | null; timestamp: number | null; from: number; to: number; insertedText: string; deletedText: string; formatAdd: string[]; formatRemove: string[]; insertedNodeType?: string; deletedNodeType?: string; formattedNodeType?: string; insertedNodeText?: string; deletedNodeText?: string; comments: SuggestionReply[]; } export declare function getSuggestionMode(state: EditorState): SuggestionMode; export declare function setSuggestionMode(view: EditorView, mode: SuggestionMode): void; export declare function getCurrentAuthor(state: EditorState): Author; export declare function setCurrentAuthor(view: EditorView, author: Author): void; export declare function isCommentingDisabled(state: EditorState): boolean; export declare function setCommentingDisabled(view: EditorView, disableCommenting: boolean): void; export declare function getResolveAuthor(state: EditorState): (author: Author) => AuthorInfo | Promise; export declare function getSuggestions(state: EditorState): SuggestionItem[]; export declare function acceptSuggestion(view: EditorView, id: string): void; export declare function rejectSuggestion(view: EditorView, id: string): void; export declare function acceptAllSuggestions(view: EditorView): void; export declare function rejectAllSuggestions(view: EditorView): void; export declare function resolveAllComments(view: EditorView): void; export declare function setNodeAttrs(view: EditorView, pos: number, attrs: Record): void; export declare function addComment(view: EditorView, text: string): SuggestionItem | null; export declare function replyToSuggestion(view: EditorView, id: string, text: string): SuggestionReply | null; export declare function editSuggestionReply(view: EditorView, id: string, replyId: string, content: string): void; export declare function deleteSuggestionReply(view: EditorView, id: string, replyId: string): void; export declare function resolveComment(view: EditorView, id: string): void; export declare function seedSuggestionSource(view: EditorView, entries: { id: string; type: SuggestionSubtype; author: Author; }[]): void;