import { ComputedRef } from 'vue'; import { Map, MapOptions } from 'maplibre-gl'; import { MapCreationStatus } from '../../enums'; import { MaplibreActions, MaplibreMethods } from '../../types'; interface UseMaplibreOptions { /** Enable debug logging */ debug?: boolean; /** Automatically cleanup resources on unmount */ autoCleanup?: boolean; } interface UseMaplibreReturn extends Omit { /** Reactive map instance reference */ readonly mapInstance: ComputedRef; /** Current map creation status */ readonly mapStatus: ComputedRef; /** Whether the map is ready for operations */ readonly isMapReady: ComputedRef; /** Whether the map is currently loading */ readonly isMapLoading: ComputedRef; /** Whether the map has encountered an error */ readonly hasMapError: ComputedRef; /** Whether a map instance is registered and ready */ readonly isRegistered: ComputedRef; /** Register a MapLibre actions instance */ register: (instance: MaplibreActions) => Promise; /** Set map options on the registered instance */ setMapOptions: (options: Partial) => void; } /** * Composable for managing MapLibre GL Map instances * * Provides reactive state management and a clean API for interacting with MapLibre GL maps. * Handles registration, lifecycle management, and provides reactive access to map state. * * @param options - Configuration options for the composable * @returns Reactive map management interface */ export declare function useMaplibre(options?: UseMaplibreOptions): UseMaplibreReturn; export {};