import { BackgroundLayerSpecification, CircleLayerSpecification, FillExtrusionLayerSpecification, FillLayerSpecification, HeatmapLayerSpecification, HillshadeLayerSpecification, LayerSpecification, LineLayerSpecification, Map, MapLayerEventType, RasterLayerSpecification, Source, SymbolLayerSpecification } from 'maplibre-gl'; import { PropType, VNode } from 'vue'; export declare class LayerLib { static readonly SOURCE_OPTS: Array & { sourceLayer?: string; })>; static readonly LAYER_EVENTS: Array; static readonly SHARED: { props: { layerId: { type: PropType; required: boolean; }; source: PropType; metadata: PropType; sourceLayer: PropType; minzoom: PropType; maxzoom: PropType; interactive: PropType; before: PropType; }; emits: string[]; }; static genLayerOpts(id: string, type: string, props: any, source: any): T; static registerLayerEvents(map: Map, layerId: string, vn: VNode): void; static unregisterLayerEvents(map: Map, layerId: string, vn: VNode): void; }