import { Emitter } from 'mitt';
import { Reactive, ReadonlyRef } from '../../common/common';
import { Events, Layouts } from '../../common/types';
import { NodeStates } from '../../models/node';
import { InteractionModes } from './core';
export declare function makeNodeInteractionHandlers(nodeStates: NodeStates, layouts: Readonly<Layouts>, modes: InteractionModes, hoveredNodes: Reactive<Set<string>>, selectedNodes: Reactive<Set<string>>, zoomLevel: ReadonlyRef<number>, emitter: Emitter<Events>): {
    handleNodePointerDownEvent: (node: string, event: PointerEvent) => void;
    handleNodePointerOverEvent: (node: string, event: PointerEvent) => void;
    handleNodePointerOutEvent: (node: string, event: PointerEvent) => void;
    handleNodeClickEvent: (node: string, event: MouseEvent) => void;
    handleNodeDoubleClickEvent: (node: string, event: MouseEvent) => void;
    handleNodeContextMenu: (node: string, event: MouseEvent) => void;
};
