import { type Ref } from 'vue'; import type { PhotoData } from './useExifReader'; export interface MapOptions { style?: string; defaultZoom?: number; maxZoom?: number; markerSize?: number; clusterRadius?: number; enableTerrain?: boolean; enableSatelliteHybrid?: boolean; enableAtmosphere?: boolean; terrainExaggeration?: number; mapTilerApiKey?: string; mapType?: 'satellite' | 'terrain' | 'simple'; } export declare function useMapLibre(options?: MapOptions): { mapContainer: Ref; map: Ref; markers: Ref; isLoaded: Ref; error: Ref; initMap: (container: HTMLElement) => Promise; addPhotoMarkers: (photos: PhotoData[], onMarkerClick: (photo: PhotoData, index: number) => void) => void; clearMarkers: () => void; flyToPhoto: (photo: PhotoData) => void; resizeMap: () => void; destroyMap: () => void; updateMapStyle: (newConfig: Partial) => Promise; };