import { MapController } from '../core/MapController'; import { Coordinate } from '../types/config'; export declare const MAP_CONTROLLER_KEY: unique symbol; /** * 地图操作组合式函数 */ export declare function useMap(): { loading: import('vue').Ref; error: import('vue').Ref; mapReady: import('vue').ComputedRef; getMap: () => import('ol/Map').default | null | undefined; getCenter: () => [number, number] | undefined; setCenter: (coordinate: Coordinate) => void; getZoom: () => number | undefined; setZoom: (zoom: number) => void; zoomIn: () => void; zoomOut: () => void; getExtent: () => number[] | undefined; getExtentInLonLat: () => number[] | undefined; zoomToExtent: (extent: number[], options?: { padding?: number; duration?: number; }) => void; zoomToLayer: (layerId: string) => void; getProjection: () => string; getSize: () => [number, number] | undefined; refresh: () => void; addLayer: (layerId: string, layer: any) => void; removeLayer: (layerId: string) => void; getLayer: (layerId: string) => any; setLayerVisible: (layerId: string, visible: boolean) => void; setLayerOpacity: (layerId: string, opacity: number) => void; selectFeature: (feature: any) => void; clearSelection: () => void; onMapEvent: (eventType: string, callback: (event: any) => void) => void; offMapEvent: (eventType: string, callback: (event: any) => void) => void; getMapContainer: () => HTMLElement | undefined; isInitialized: () => boolean; }; /** * 提供地图控制器的函数 */ export declare function provideMapController(mapController: MapController): void;