import { Dom } from '@antv/x6-common'; import { Rectangle, Point } from '@antv/x6-geometry'; import { Attr, PortLayout } from '../registry'; import { Cell } from '../model/cell'; import { Node } from '../model/node'; import { Edge } from '../model/edge'; import { PortManager } from '../model/port'; import { CellView } from './cell'; import { EdgeView } from './edge'; import { Markup } from './markup'; import { Graph } from '../graph'; export declare class NodeView extends CellView { protected portsCache: { [id: string]: NodeView.PortCache; }; protected get [Symbol.toStringTag](): string; protected getContainerClassName(): string; protected updateClassName(e: Dom.MouseEnterEvent): void; isNodeView(): this is NodeView; confirmUpdate(flag: number, options?: any): number; update(partialAttrs?: Attr.CellAttrs): void; protected renderMarkup(): void; protected renderJSONMarkup(markup: Markup.JSONMarkup | Markup.JSONMarkup[]): void; render(): this; resize(): void; translate(): void; rotate(): void; protected getTranslationString(): string; protected getRotationString(): string | undefined; protected updateTransform(): void; findPortElem(portId?: string, selector?: string): Element | null; protected cleanPortsCache(): void; protected removePorts(): void; protected renderPorts(): void; protected appendPorts(ports: PortManager.Port[], zIndex: number, refs: Element[]): void; protected getPortElement(port: PortManager.Port): Element; protected createPortElement(port: PortManager.Port): Element; protected updatePorts(): void; protected updatePortGroup(groupName?: string): void; protected applyPortTransform(element: Element, layout: PortLayout.Result, initialAngle?: number): void; protected getPortMarkup(port: PortManager.Port): Markup; protected getPortLabelMarkup(label: PortManager.Label): Markup; protected existPortLabel(port: PortManager.Port): Attr.ComplexAttrs | undefined; protected getEventArgs(e: E): NodeView.MouseEventArgs; protected getEventArgs(e: E, x: number, y: number): NodeView.PositionEventArgs; protected getPortEventArgs(e: E, port: string, pos?: { x: number; y: number; }): NodeView.PositionEventArgs | NodeView.MouseEventArgs; notifyMouseDown(e: Dom.MouseDownEvent, x: number, y: number): void; notifyMouseMove(e: Dom.MouseMoveEvent, x: number, y: number): void; notifyMouseUp(e: Dom.MouseUpEvent, x: number, y: number): void; notifyPortEvent(name: string, e: Dom.EventObject, pos?: { x: number; y: number; }): void; onClick(e: Dom.ClickEvent, x: number, y: number): void; onDblClick(e: Dom.DoubleClickEvent, x: number, y: number): void; onContextMenu(e: Dom.ContextMenuEvent, x: number, y: number): void; onMouseDown(e: Dom.MouseDownEvent, x: number, y: number): void; onMouseMove(e: Dom.MouseMoveEvent, x: number, y: number): void; onMouseUp(e: Dom.MouseUpEvent, x: number, y: number): void; onMouseOver(e: Dom.MouseOverEvent): void; onMouseOut(e: Dom.MouseOutEvent): void; onMouseEnter(e: Dom.MouseEnterEvent): void; onMouseLeave(e: Dom.MouseLeaveEvent): void; onMouseWheel(e: Dom.EventObject, x: number, y: number, delta: number): void; onMagnetClick(e: Dom.MouseUpEvent, magnet: Element, x: number, y: number): void; onMagnetDblClick(e: Dom.DoubleClickEvent, magnet: Element, x: number, y: number): void; onMagnetContextMenu(e: Dom.ContextMenuEvent, magnet: Element, x: number, y: number): void; onMagnetMouseDown(e: Dom.MouseDownEvent, magnet: Element, x: number, y: number): void; onCustomEvent(e: Dom.MouseDownEvent, name: string, x: number, y: number): void; protected prepareEmbedding(e: Dom.MouseMoveEvent): void; processEmbedding(e: Dom.MouseMoveEvent, data: EventData.MovingTargetNode): void; clearEmbedding(data: EventData.MovingTargetNode): void; finalizeEmbedding(e: Dom.MouseUpEvent, data: EventData.MovingTargetNode): void; getDelegatedView(): NodeView, NodeView.Options> | null; protected validateMagnet(cellView: CellView, magnet: Element, e: Dom.MouseDownEvent | Dom.MouseEnterEvent): boolean; protected startMagnetDragging(e: Dom.MouseDownEvent, x: number, y: number): void; protected startConnectting(e: Dom.MouseDownEvent, magnet: Element, x: number, y: number): void; protected getDefaultEdge(sourceView: CellView, sourceMagnet: Element): Edge; protected createEdgeFromMagnet(magnet: Element, x: number, y: number): EdgeView, EdgeView.Options>; protected dragMagnet(e: Dom.MouseMoveEvent, x: number, y: number): void; protected stopMagnetDragging(e: Dom.MouseUpEvent, x: number, y: number): void; protected notifyUnhandledMouseDown(e: Dom.MouseDownEvent, x: number, y: number): void; protected notifyNodeMove(name: Key, e: Dom.MouseMoveEvent | Dom.MouseUpEvent, x: number, y: number, cell: Cell): void; protected getRestrictArea(view?: NodeView): Rectangle.RectangleLike | null; protected startNodeDragging(e: Dom.MouseDownEvent, x: number, y: number): void; protected dragNode(e: Dom.MouseMoveEvent, x: number, y: number): void; protected stopNodeDragging(e: Dom.MouseUpEvent, x: number, y: number): void; protected autoScrollGraph(x: number, y: number): void; } export declare namespace NodeView { interface Options extends CellView.Options { } interface PortCache { portElement: Element; portSelectors?: Markup.Selectors | null; portLabelElement?: Element; portLabelSelectors?: Markup.Selectors | null; portContentElement?: Element; portContentSelectors?: Markup.Selectors | null; } } export declare namespace NodeView { interface MagnetEventArgs { magnet: Element; } export interface MouseEventArgs { e: E; node: Node; cell: Node; view: NodeView; port?: string; } export interface PositionEventArgs extends MouseEventArgs, CellView.PositionEventArgs { } export interface TranslateEventArgs extends PositionEventArgs { } export interface ResizeEventArgs extends PositionEventArgs { } export interface RotateEventArgs extends PositionEventArgs { } export interface EventArgs { 'node:click': PositionEventArgs; 'node:dblclick': PositionEventArgs; 'node:contextmenu': PositionEventArgs; 'node:mousedown': PositionEventArgs; 'node:mousemove': PositionEventArgs; 'node:mouseup': PositionEventArgs; 'node:mouseover': MouseEventArgs; 'node:mouseout': MouseEventArgs; 'node:mouseenter': MouseEventArgs; 'node:mouseleave': MouseEventArgs; 'node:mousewheel': PositionEventArgs & CellView.MouseDeltaEventArgs; 'node:port:click': PositionEventArgs; 'node:port:dblclick': PositionEventArgs; 'node:port:contextmenu': PositionEventArgs; 'node:port:mousedown': PositionEventArgs; 'node:port:mousemove': PositionEventArgs; 'node:port:mouseup': PositionEventArgs; 'node:port:mouseover': MouseEventArgs; 'node:port:mouseout': MouseEventArgs; 'node:port:mouseenter': MouseEventArgs; 'node:port:mouseleave': MouseEventArgs; 'node:customevent': PositionEventArgs & { name: string; }; 'node:unhandled:mousedown': PositionEventArgs; 'node:highlight': { magnet: Element; view: NodeView; node: Node; cell: Node; options: CellView.HighlightOptions; }; 'node:unhighlight': EventArgs['node:highlight']; 'node:magnet:click': PositionEventArgs & MagnetEventArgs; 'node:magnet:dblclick': PositionEventArgs & MagnetEventArgs; 'node:magnet:contextmenu': PositionEventArgs & MagnetEventArgs; 'node:move': TranslateEventArgs; 'node:moving': TranslateEventArgs; 'node:moved': TranslateEventArgs; 'node:embed': PositionEventArgs & { currentParent: Node | null; }; 'node:embedding': PositionEventArgs & { currentParent: Node | null; candidateParent: Node | null; }; 'node:embedded': PositionEventArgs & { currentParent: Node | null; previousParent: Node | null; }; } export {}; } export declare namespace NodeView { const toStringTag: string; function isNodeView(instance: any): instance is NodeView; } declare namespace EventData { type Mousemove = Moving | Magnet; interface Magnet { action: 'magnet'; targetMagnet: Element; edgeView?: EdgeView; } interface Moving { action: 'move'; targetView: NodeView; } interface MovingTargetNode { moving: boolean; offset: Point.PointLike; restrict?: Rectangle.RectangleLike | null; embedding?: boolean; candidateEmbedView?: NodeView | null; cell?: Node; graph?: Graph; } } export {};