import { Emitter } from 'mitt';
import { Reactive } from '../../common/common';
import { Events } from '../../common/types';
import { EdgeStates } from '../../models/edge';
import { InteractionModes } from './core';
export declare function makeEdgeInteractionHandlers(edgeStates: EdgeStates, modes: InteractionModes, hoveredEdges: Reactive<Set<string>>, selectedEdges: Reactive<Set<string>>, emitter: Emitter<Events>): {
    handleEdgePointerDownEvent: (edge: string, event: PointerEvent) => void;
    handleEdgePointerOverEvent: (edge: string, event: PointerEvent) => void;
    handleEdgePointerOutEvent: (edge: string, event: PointerEvent) => void;
    handleEdgeClickEvent: (edge: string | string[], event: MouseEvent) => void;
    handleEdgeDoubleClickEvent: (edge: string | string[], event: MouseEvent) => void;
    handleEdgeContextMenu: (edge: string, event: MouseEvent) => void;
    handleEdgesPointerDownEvent: (edges: string[], event: PointerEvent) => void;
    handleEdgesPointerOverEvent: (edges: string[], event: PointerEvent) => void;
    handleEdgesPointerOutEvent: (edges: string[], event: PointerEvent) => void;
    handleEdgesClickEvent: (edges: string[], event: MouseEvent) => void;
    handleEdgesDoubleClickEvent: (edges: string[], event: MouseEvent) => void;
    handleEdgesContextMenu: (edges: string[], event: MouseEvent) => void;
};
