vue3-maplibre-gl
Version:
Vue 3 components and composables for MapLibre GL JS - Build interactive maps with ease
35 lines (34 loc) • 1.17 kB
TypeScript
import { Nullable, MapEventTypes } from '../../types';
import { MaybeRef } from 'vue';
import { Map } from 'maplibre-gl';
/**
* Event listener status enum for better state management
*/
export declare enum EventListenerStatus {
NotAttached = "not-attached",
Attached = "attached",
Error = "error"
}
interface MapEventListenerProps {
map: MaybeRef<Nullable<Map>>;
event: keyof MapEventTypes;
on: <T extends keyof MapEventTypes>(e: MapEventTypes[T]) => void;
debug?: boolean;
once?: boolean;
}
interface MapEventListenerActions {
removeListener: () => void;
attachListener: () => void;
isListenerAttached: boolean;
listenerStatus: Readonly<EventListenerStatus>;
}
/**
* Composable for managing MapLibre GL Map Event Listeners
* Provides reactive event listener with error handling, performance optimizations, and enhanced API
*
* @param props - Configuration options for the map event listener
* @returns Enhanced actions and state for the event listener
*/
export declare function useMapEventListener(props: MapEventListenerProps): MapEventListenerActions;
export {};
//# sourceMappingURL=useMapEventListener.d.ts.map