import { EmitFn } from 'vue'; import { EmitListeners } from './useEmitListeners'; /** * Defines the structure for a mouse event configuration. */ interface MouseEventOptions { event: string; button?: number; prevent?: boolean; stop?: boolean; result?: any; } /** * Defines a function signature for event transformation. */ type GetEventFunction = (_event: MouseEvent | TouchEvent, _eventName: string) => any; /** * Generates mouse event handlers based on event listeners. * @param {Function} emit - Vue's emit function. * @param {Ref} listeners - Vue ref containing event listeners. * @param {Record} events - Object defining mouse events and their options. * @param {GetEventFunction} getEvent - Function to transform event objects. * @returns {Record} - The mapped mouse event handlers. */ export declare function getMouseEventHandlers(emit: EmitFn, listeners: EmitListeners, events: Record, getEvent: GetEventFunction): Record; /** * Returns default mouse event handlers based on a suffix. * @param {Function} emit - Vue's emit function. * @param {Ref} listeners - Vue ref containing event listeners. * @param {string} suffix - Event suffix (e.g., '-day' for 'click-day'). * @param {GetEventFunction} getEvent - Function to transform event objects. * @returns {Record} - The mapped event handlers. */ export declare function getDefaultMouseEventHandlers(emit: EmitFn, listeners: EmitListeners, suffix: string, getEvent: GetEventFunction): Record; /** * Generates event names for different mouse interactions. * @param {string} suffix - Event suffix (e.g., '-day' for 'click-day'). * @returns {Record} - The event name map. */ export declare function getMouseEventName(suffix: string): Record; /** * Returns an array of raw event names based on a suffix. * @param {string} suffix - Event suffix. * @returns {string[]} - The raw event names. */ export declare function getRawMouseEvents(suffix: string): string[]; /** * Default function export that provides mouse event handling utilities. * @param {Function} emit - Vue's emit function. * @param {Ref} listeners - Vue ref containing event listeners. * @returns {Object} - Functions for managing mouse event handlers. */ export default function useMouseEvents(emit: EmitFn, listeners: EmitListeners): { getMouseEventHandlers: (_events: Record, _getEvent: GetEventFunction) => Record; getDefaultMouseEventHandlers: (_suffix: string, _getEvent: GetEventFunction) => Record; getMouseEventName: (_suffix: string) => Record; getRawMouseEvents: (_suffix: string) => string[]; }; export {};