import { EventEmitter } from 'eventemitter3'; import { App, ComponentPublicInstance } from 'vue'; import { SuperDoc } from '../../../core/types/index.js'; type DirectoryFamily = 'comments' | 'trackChanges'; type DirectoryItems = Record; type SuperCommentsConfig = { comments: unknown[]; element: Element | string | null | undefined; commentsStore: unknown; selector?: string; [key: string]: unknown; }; type SuperCommentsOptions = Partial; /** * Comments list renderer (not floating comments) * * This renders a list of comments into an element, connected to main SuperDoc instance */ export declare class SuperComments extends EventEmitter { element: Element | string | null | undefined; config: SuperCommentsConfig; app: App | null; superdoc: SuperDoc; container: ComponentPublicInstance | null | undefined; stopDirectoryObservers: Array<() => void>; directorySnapshots: DirectoryItems; directoryItemRefs: DirectoryItems; directoryGeneration: number; constructor(options: SuperCommentsOptions | undefined, superdoc: SuperDoc); syncDirectory(): void; startDirectoryObservers(): void; createVueApp(): void; close(): void; open(): void; } export {};