import type { Hotspot } from "./types"; /** * Clamps a value between min and max */ export declare const clamp: (value: number, min: number, max: number) => number; /** * Converts mouse coordinates to percentage coordinates relative to an element */ export declare const getPercentageCoordinates: (clientX: number, clientY: number, element: HTMLElement) => { x: number; y: number; }; /** * Generates a unique hotspot ID */ export declare const generateHotspotId: () => string; /** * Creates a new point hotspot */ export declare const createPointHotspot: (x: number, y: number, existingHotspots: Hotspot[]) => Hotspot; /** * Creates a new rectangle hotspot */ export declare const createRectangleHotspot: (x: number, y: number, width: number, height: number, existingHotspots: Hotspot[]) => Hotspot; /** * Normalizes hotspot data to ensure type is set */ export declare const normalizeHotspot: (hotspot: Hotspot) => Hotspot; /** * Normalizes an array of hotspots */ export declare const normalizeHotspots: (hotspots: Hotspot[]) => Hotspot[]; /** * Checks if a click target is a marker element */ export declare const isMarkerElement: (target: HTMLElement) => boolean; /** * Calculates rectangle bounds from start and current points */ export declare const calculateRectangleBounds: (startX: number, startY: number, currentX: number, currentY: number) => { x: number; y: number; width: number; height: number; }; /** * Minimum size for a valid rectangle hotspot */ export declare const MIN_RECTANGLE_SIZE = 1; /** * Checks if a rectangle has valid dimensions */ export declare const isValidRectangle: (width: number, height: number) => boolean;