import { Subject, ReplaySubject, BehaviorSubject } from 'rxjs'; import { Feature, Map, MapBrowserEvent } from 'ol'; import { Geometry } from 'ol/geom'; import { Layer, Vector } from 'ol/layer'; import { Select } from 'ol/interaction'; import { Source, Vector as Vector$1 } from 'ol/source'; import { HsMapCompositionDescriptor, HsLayerDescriptor, HsTerrainLayerDescriptor, HsLayerLoadProgress, ClickedCoordinates } from 'hslayers-ng/types'; import { HsDimensionDescriptor } from 'hslayers-ng/common/dimensions'; import * as i0 from '@angular/core'; /** * HsEventBusService provides observable events which you can subscribe to or fire them * * @example * HsEventBusService.sizeChanges.subscribe((size) => { * doSomethingWith(size); * }) * @example * HsEventBusService.layerLoaded.next(); */ declare class HsEventBusService { sizeChanges: Subject; /** * Fires when map completely reset */ mapResets: Subject; compositionLoadStarts: Subject; compositionDeletes: Subject; /** * Fires when composition is loaded or not loaded with Error message */ compositionLoads: Subject; compositionEdits: Subject; layerRemovals: Subject>; /** * Fired when non-base layers that were added to the map by user were removed */ addedLayersRemoved: Subject; /** * Fires when new layer is added to the app. * Suppressed for layers defined in default_layers in HsConfig. */ layerAdditions: Subject; /** * Fires when base layer or terrain layer changes visibility */ LayerManagerBaseLayerVisibilityChanges: Subject; LayerManagerLayerVisibilityChanges: Subject; /** * Fires when layer is added or removed in LayerManager or its z-index changes or its title changes via rename. */ layerManagerUpdates: Subject | void>; /** * Fires when layer finishes loading its features or tiles. * Usually triggered once, when all features are loaded, or after all features/tiles in given view/extent are loaded. */ layerLoaded: Subject>; layerLoading: Subject<{ layer: Layer; progress: HsLayerLoadProgress; }>; /** * Fires when user enables layer time synchronization in the UI. * Used to synchronize time in PARAMS across WM(T)S-t layers. */ layerTimeSynchronizations: Subject<{ sync: boolean; time?: string; }>; /** * Used to listen for changes either in "time" property in HsLayerDescriptor * or in "dimensions" property in OL Layer object */ layerDimensionDefinitionChanges: ReplaySubject>; /** * Used to listen for changes of dimension settings in layermanager-dimensions component */ layermanagerDimensionChanges: Subject<{ layer: Layer; dimension: HsDimensionDescriptor; }>; vectorQueryFeatureSelection: Subject<{ feature: Feature; selector: Select; }>; vectorQueryFeatureDeselection: Subject<{ feature: Feature; selector: Select; }>; /** * Fires when current mainpanel change - toggle, change of opened panel. * replaces 'core.mainpanel_changed' */ mainPanelChanges: Subject; /** * replaces 'measure.drawStart' */ measurementStarts: Subject; /** * replaces 'measure.drawEnd' */ measurementEnds: Subject; cesiumLoads: BehaviorSubject<{ viewer: any; service: any; }>; cesiumResizes: Subject<{ viewer: any; service: any; }>; zoomTo: Subject; /** * Fires when map extent change (move, zoom, resize). * Returns structure containing OL map, event which triggered the extent change, newly * calculated {@link http://openlayers.org/en/latest/apidoc/ol.html#.Extent extent} * and app name ('default' in most cases) */ mapExtentChanges: Subject<{ map: Map; event: string; extent: number[]; }>; mapEventHandlersSet: ReplaySubject; mapCenterSynchronizations: Subject<{ center: any; viewport: any; }>; mapLibraryChanges: Subject<'cesium' | 'ol'>; /** * replaces 'cesium.time_layers_changed' */ cesiumTimeLayerChanges: Subject>; layoutResizes: Subject; /** * replaces 'map.loaded' */ olMapLoads: Subject; /** * replaces 'search.resultsReceived' */ searchResultsReceived: Subject; searchZoomTo: Subject<{ coordinate: any; zoom: any; }>; clearSearchResults: Subject; /** * replaces 'query.dataUpdated' */ queryDataUpdated: Subject; /** * replaces 'mapClicked' */ mapClicked: Subject & ClickedCoordinates>; /** * Fires when layerSelected parameter is found in the URL */ layerSelectedFromUrl: BehaviorSubject>; mapSizeUpdates: Subject; /** * Cancels any external URL data request from datasources panel */ cancelAddDataUrlRequest: Subject; /** * Fires when Layman vector layer should be refreshed */ refreshLaymanLayer: Subject>>; /** * Fires when WFS filter should be reset - used when last filter is removed */ resetWfsFilter: Subject; constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { HsEventBusService };