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