import type { EditorInstance } from "@richhtmleditor/core";
import type { CommentThread, CommentsPluginOptions } from "./types.js";
type SavedSelection = {
anchor: {
block: number;
offset: number;
listItem?: number;
tableRow?: number;
tableCol?: number;
sectionPath?: number[];
sectionTitle?: boolean;
collapsiblePath?: Array<"summary" | number>;
};
head: SavedSelection["anchor"];
};
export type CommentComposePopoverMount = {
openAtSelection: () => void;
close: () => void;
isOpen: () => boolean;
destroy: () => void;
};
type ComposeStore = {
threads: CommentThread[];
};
export declare function mountCommentComposePopover(_editor: EditorInstance, host: HTMLElement, contentEl: HTMLElement, store: ComposeStore, pluginOptions: CommentsPluginOptions, helpers: {
newId: () => string;
notify: () => void;
refreshPanel: () => void;
openPanel: () => void;
captureSelection: () => SavedSelection | null;
applyAnchor: (threadId: string, selection: SavedSelection) => boolean;
readAnchorExcerpt: (threadId: string) => string;
}): CommentComposePopoverMount;
export declare function mountCommentHoverPreview(host: HTMLElement, contentEl: HTMLElement, getThread: (anchorId: string) => CommentThread | undefined): () => void;
export {};
//# sourceMappingURL=comment-popover.d.ts.map