import { Ref } from 'vue';
import { Reactive } from '../../common/common';
import { Events } from '../../common/types';
import { PathStates } from '../../models/path';
import { InteractionModes } from './core';
import { Emitter } from 'mitt';
export declare function makePathInteractionHandlers(pathStates: PathStates, modes: InteractionModes, hoveredPaths: Reactive<Set<string>>, selectedPaths: Reactive<Set<string>>, isInCompatibilityModeForPath: Ref<boolean>, emitter: Emitter<Events>): {
    handlePathPointerDownEvent: (path: string, event: PointerEvent) => void;
    handlePathPointerOverEvent: (path: string, event: PointerEvent) => void;
    handlePathPointerOutEvent: (path: string, event: PointerEvent) => void;
    handlePathClickEvent: (path: string, event: MouseEvent) => void;
    handlePathDoubleClickEvent: (path: string, event: MouseEvent) => void;
    handlePathContextMenu: (path: string, event: MouseEvent) => void;
};
