import { Map as _ol_Map_, View, Overlay } from 'ol'; import { Options as OverlayOptions } from 'ol/Overlay'; import Collection from 'ol/Collection'; import Attribution from 'ol/control/Attribution'; import ol_control_Control from 'ol/control/Control'; import ol_control_ScaleLine from 'ol/control/ScaleLine'; import { Coordinate, CoordinateFormat } from 'ol/coordinate'; import { Extent } from 'ol/extent'; import Feature, { FeatureLike } from 'ol/Feature'; import { FeatureLoader } from 'ol/featureloader'; import { Geometry, LineString, Point, Polygon } from 'ol/geom'; import { Layer, Vector } from 'ol/layer'; import { ProjectionLike } from 'ol/proj'; import Projection from 'ol/proj/Projection'; import { Size } from 'ol/size'; import { ImageCanvas, Vector as VectorSource, WMTS } from 'ol/source'; import { AttributionLike } from 'ol/source/Source'; import { LoadingStrategy, Options as VectorSourceOptions } from 'ol/source/Vector'; import { StyleLike, RenderFunction } from 'ol/style/Style'; import { Circle as CircleStyle, Fill, Icon, Stroke, Style, Image, RegularShape } from 'ol/style'; import GeometryType from 'ol/geom/GeometryType' import { Pointer, Interaction, Draw, Modify, Select, DragAndDrop } from 'ol/interaction'; import MapBrowserEvent from 'ol/MapBrowserEvent'; import { Condition as EventsConditionType } from 'ol/events/condition' import { Color } from 'ol/color'; import { ColorLike } from 'ol/colorlike'; import { Pixel } from 'ol/pixel'; import FeatureFormat from 'ol/format/Feature'; import Event from 'ol/events/Event'; import OverlayPositioning from 'ol/OverlayPositioning'; import featureAnimation from './featureanimation/FeatureAnimation'; /** The map is the core component of OpenLayers. * For a map to render, a view, one or more layers, and a target container are needed: * @namespace Map * @see {@link http://openlayers.org/en/latest/apidoc/module-ol_Map.html} */ declare namespace Map { interface PulseOptions { projection: ProjectionLike | undefined; duration: number; easing: ((p0: number) => number); style: Stroke; } /** Animate feature on a map * @function * @fires animationstart, animationend * @param {Feature} feature Feature to animate * @param {featureAnimation|Array} fanim the animation to play * @return {olx.animationControler} an object to control animation with start, stop and isPlaying function */ function animateFeature(feature: Feature, fanim: featureAnimation | featureAnimation[]): animationControler; /** Show a target overlay at coord * @param {Coordinate} coord */ function showTarget(coord: Coordinate): void; /** Hide the target overlay */ function hideTarget(): void; /** Pulse an Extent on postcompose * @param {Array} point to pulse * @param {pulse.options} options pulse options param * @param {projectionLike|undefined} options.projection projection of coords, default no transform * @param {Number} options.duration animation duration in ms, default 2000 * @param {easing} options.easing easing function, default easing.upAndDown * @param {style.Stroke} options.style stroke style, default 2px red */ function animExtent(point: Array, options: PulseOptions): void; /** Show a markup a point on postcompose * @deprecated use map.animateFeature instead * @param {Array} point to pulse * @param {markup.options} pulse options param * - projection {projection|String|undefined} projection of coords, default none * - delay {Number} delay before mark fadeout * - maxZoom {Number} zoom when mark fadeout * - style {style.Image|Style|Array