import { FeatureOverlayMgr as NgeoMapFeatureOverlayMgrFeatureOverlayMgr } from 'ngeo/map/FeatureOverlayMgr'; import { EventsKey as OlEventsEventsKey } from 'ol/events'; import OlFeature from 'ol/Feature'; import OlGeomGeometry from 'ol/geom/Geometry'; import OlCollection from 'ol/Collection'; import OlStyleStyle from 'ol/style/Style'; import { StyleFunction as OlStyleStyleStyleFunction } from 'ol/style/Style'; import OlEventsEvent from 'ol/events/Event'; /** * Provides a featureOverlay used by the FeatureOverlayManager. * * Example of initialization: * const featureOverlay = new FeatureOverlay(manager, index); * @param {NgeoMapFeatureOverlayMgrFeatureOverlayMgr} manager The feature overlay manager. * @param {number} index This feature overlay's index. */ export declare class FeatureOverlay { manager_: NgeoMapFeatureOverlayMgrFeatureOverlayMgr; index_: number; listenerKeys_: OlEventsEventsKey[]; constructor(manager: NgeoMapFeatureOverlayMgrFeatureOverlayMgr, index: number); /** * Add a feature to the feature overlay. * @param {OlFeature} feature The feature to add. */ addFeature(feature: OlFeature): void; /** * Remove a feature from the feature overlay. * @param {OlFeature} feature The feature to remove. */ removeFeature(feature: OlFeature): void; /** * Check if featureOverlay has no features. * @returns {boolean} True if there is no features. False otherwise. */ isEmpty(): boolean; /** * Remove all the features from the feature overlay. */ clear(): void; /** * Configure this feature overlay with a feature collection. Features added * to the collection are also added to the overlay. Same for removal. If you * configure the feature overlay with a feature collection you will use the * collection to add and remove features instead of using the overlay's * `addFeature`, `removeFeature` and `clear` functions. * @param {OlCollection>} features Feature collection. */ setFeatures(features: OlCollection>): void; /** * Set a style for the feature overlay. * @param {OlStyleStyle | OlStyleStyle[] | OlStyleStyleStyleFunction} style Style. */ setStyle(style: OlStyleStyle | OlStyleStyle[] | OlStyleStyleStyleFunction): void; /** * @param {Event|OlEventsEvent} evt Feature collection event. */ handleFeatureAdd_(evt: Event | OlEventsEvent): void; /** * @param {Event|OlEventsEvent} evt Feature collection event. */ handleFeatureRemove_(evt: Event | OlEventsEvent): void; } export default FeatureOverlay;