import type { App } from '../App'; import type { Node } from '../Node'; import type { EventType } from '../types'; export declare class EventManager { private app; private element; private dragState; private hoverNode; private focusedNode; private boundHandlers; constructor(app: App, element: HTMLElement); getFocusedNode(): Node | null; setFocus(node: Node | null, originalEvent?: Event): void; private bindEvents; destroy(): void; private resolveDraggableNode; /** Map world-space pointer delta into the dragged node's parent local space. */ private dragPositionFromWorld; private getPointerCoords; private handleEvent; private handleKeydown; /** Dispatch without bubbling (focus/blur). */ dispatchDirect(node: Node, type: EventType, originalEvent: Event, x: number, y: number, worldX: number, worldY: number, payload?: unknown): void; private dispatchBubble; }