import { ElementRef, type Injector, type Type } from '@angular/core'; import { type DecorationWithType, type Editor, NodeView, type NodeViewProps, type NodeViewRendererOptions, type NodeViewRendererProps } from '@tiptap/core'; import { type Node as ProseMirrorNode } from '@tiptap/pm/model'; import { type Decoration, type DecorationSource, type EditorView } from '@tiptap/pm/view'; /** * Copied from * {@link https://github.com/sibiraj-s/ngx-tiptap/blob/master/projects/ngx-tiptap/src/lib/AngularRenderer.ts ngx-tiptap} */ export declare class TuiComponentRenderer { private readonly componentRef; constructor(component: Type, injector: Injector, props: Partial

); get el(): ElementRef; get dom(): HTMLElement; updateProps(props: Partial): void; detectChanges(): void; destroy(): void; protected get instance(): C; } /** * You should extend this class to create custom * Tiptap's {@link https://tiptap.dev/guide/node-views NodeView} from angular component. * It contains compulsory properties which component will get externally while NodeView's rendering. */ export declare abstract class TuiNodeViewNg implements NodeViewProps { editor: NodeViewProps['editor']; decorations: NodeViewProps['decorations']; selected: NodeViewProps['selected']; extension: NodeViewProps['extension']; getPos: NodeViewProps['getPos']; updateAttributes: NodeViewProps['updateAttributes']; deleteNode: NodeViewProps['deleteNode']; HTMLAttributes: Record; innerDecorations: DecorationSource; view: EditorView; abstract get node(): NodeViewProps['node']; abstract set node(value: NodeViewProps['node']); } export interface TuiNodeViewRendererOptions extends NodeViewRendererOptions { injector: Injector; update?(node: ProseMirrorNode, decorations: Decoration[]): boolean; } /** * Tiptap editor proposes concept of interactive {@link https://tiptap.dev/guide/node-views NodeViews}. * It gives you opportunity to create custom complex Node inside editor. And it will look like native Tiptap's Node. * Regard it like angular component inside editor. * * This solution is adaptation of official React implementation of NodeViews. * It was copied from * {@link https://github.com/sibiraj-s/ngx-tiptap/blob/master/projects/ngx-tiptap/src/lib/NodeViewRenderer.ts ngx-tiptap} */ export declare class TuiNodeView extends NodeView, Editor, TuiNodeViewRendererOptions> { protected renderer: TuiComponentRenderer; protected contentDOMElement: HTMLElement | null; /** * @caretaker note: * Class constructor NodeView cannot be invoked without 'new' */ constructor(component: Type, props: NodeViewRendererProps, options?: Partial); get dom(): HTMLElement; get contentDOM(): HTMLElement | null; mount(): void; protected update(node: ProseMirrorNode, decorations: DecorationWithType[]): boolean; protected handleSelectionUpdate(): void; protected selectNode(): void; protected deselectNode(): void; protected destroy(): void; private appendContendDom; }