import { Editor } from '@tiptap/core';
import { Node as ProseMirrorNode } from '@tiptap/pm/model';
import { Decoration, NodeView, ViewMutationRecord } from '@tiptap/pm/view';
import { DBlockRuntimeState } from './dblock-runtime';

interface DBlockNodeViewOptions {
    editor: Editor;
    node: ProseMirrorNode;
    getPos: () => number;
    decorations: readonly Decoration[];
    HTMLAttributes: Record<string, unknown>;
    getRuntimeState?: () => DBlockRuntimeState;
    onCopyHeadingLink?: (link: string) => void;
}
export declare class DBlockNodeView implements NodeView {
    node: ProseMirrorNode;
    editor: Editor;
    getPos: () => number;
    dom: HTMLDivElement;
    gutterElement: HTMLElement;
    contentElement: HTMLDivElement;
    contentDOM: HTMLDivElement;
    private id;
    private decorations;
    private getRuntimeState?;
    private unregister;
    constructor({ editor, node, getPos, decorations, HTMLAttributes, getRuntimeState, onCopyHeadingLink, }: DBlockNodeViewOptions);
    update(node: ProseMirrorNode, decorations: readonly Decoration[]): boolean;
    ignoreMutation(mutation: ViewMutationRecord): boolean;
    stopEvent(event: Event): boolean;
    destroy(): void;
    private syncDOM;
    private safeGetPos;
}
export {};
