import * as ol from 'openlayers'; import { BehaviorSubject } from 'rxjs/BehaviorSubject'; import { Subject } from 'rxjs/Subject'; import { SubjectStatus } from '../../utils'; import { Layer } from '../../layer/shared/layers'; import { MapViewOptions, MapOptions } from './map.interface'; import { ConfigService } from '../../core/config'; export declare class IgoMap { private config; ol: ol.Map; layers$: BehaviorSubject; layers: Layer[]; status$: Subject; resolution$: BehaviorSubject; geolocation$: BehaviorSubject; overlayMarkerStyle: ol.style.Style; overlayStyle: ol.style.Style; private overlayDataSource; private layerWatcher; private geolocation; private geolocation$$; private geolocationFeature; private markImageDir; private options; readonly projection: string; readonly resolution: number; constructor(options?: MapOptions, config?: ConfigService); init(): void; setTarget(id: string): void; setOverlayMarkerStyle(color?: string, text?: any): ol.style.Style; updateView(options: MapViewOptions): void; setView(options: MapViewOptions): void; getCenter(projection?: any): [number, number]; getExtent(projection?: any): [number, number, number, number]; getZoom(): number; zoomIn(): void; zoomOut(): void; zoomTo(zoom: number): void; addLayer(layer: Layer, push?: boolean): void; addLayers(layers: Layer[], push?: boolean): void; changeBaseLayer(baseLayer: Layer): void; getBaseLayers(): Layer[]; getLayerById(id: string): Layer; removeLayer(layer: Layer): void; removeLayers(): void; raiseLayer(layer: Layer): void; lowerLayer(layer: Layer): void; moveLayer(layer: Layer, from: number, to: number): void; moveToExtent(extent: ol.Extent): void; moveToFeature(feature: ol.Feature): void; zoomToExtent(extent: ol.Extent): void; zoomToFeature(feature: ol.Feature): void; addOverlay(feature: ol.Feature): void; clearOverlay(): void; geolocate(track?: boolean): void; unsubscribeGeolocate(): void; private startGeolocation(); private stopGeolocation(); private sortLayers(); private getLayerIndex(layer); }