/// import { Superpower, GoogleMapsApiService, BoundsLike, CoordPath } from '@bespunky/angular-google-maps/core'; import { DrawableOverlay } from '../../abstraction/types/abstraction'; import { GoogleMapsMarker } from '../../modules/marker/google-maps-marker'; import { GoogleMapsPolygon } from '../../modules/polygon/google-maps-polygon'; import { GoogleMapsPolyline } from '../../modules/polyline/google-maps-polyline'; import { GoogleMapsCircle } from '../../modules/circle/google-maps-circle'; import { GoogleMapsData } from '../../modules/data/google-maps-data'; import { IOverlaysSuperpower } from '../i-overlays-superpower'; import { OverlaysTracker } from './overlays-tracker'; /** * Automates and facilitates tracking of overlays on the map and provide quick overlay creation methods. * * @export * @class OverlaysSuperpower * @extends {Superpower} * @implements {IOverlaysSuperpower} */ export declare class OverlaysSuperpower extends Superpower implements IOverlaysSuperpower { tracker: OverlaysTracker; private api; /** * Creates an instance of OverlaysSuperpower. * * @param {OverlaysTracker} tracker The tracker following the presence of overlays on the map. * @param {GoogleMapsApiService} api The instance of the maps api service. */ constructor(tracker: OverlaysTracker, api: GoogleMapsApiService); /** * Creates a marker with the specified properties and adds it to the map. * * @param {BoundsLike} position The position at which the marker should be added. * @param {google.maps.ReadonlyMarkerOptions} [options] (Optional) Any native options to assign to the marker. * @returns {GoogleMapsMarker} The wrapper object created for the new marker. */ createMarker(position: BoundsLike, options?: google.maps.ReadonlyMarkerOptions): GoogleMapsMarker; /** * Creates a polygon with the specified properties and adds it to the map. * * @param {CoordPath} path The path describing the polygon coordinates. * @param {google.maps.PolygonOptions} [options] (Optional) Any native options to assign to the polygon. * @returns {GoogleMapsPolygon} The wrapper object created for the new polygon. */ createPolygon(path: CoordPath, options?: google.maps.PolygonOptions): GoogleMapsPolygon; /** * Creates a polyline with the specified properties and adds it to the map. * * @param {Path} path The path describing the polyline coordinates. * @param {google.maps.PolylineOptions} [options] (Optional) Any native options to assign to the polyline. * @returns {GoogleMapsPolyline} The wrapper object created for the new polyline. */ createPolyline(path: CoordPath, options?: google.maps.PolylineOptions): GoogleMapsPolyline; /** * Creates a polygon with the specified properties and adds it to the map. * * @param {BoundsLike} center The center of the circle. * @param {number} radius The radius in meters on the Earth's surface. * @param {google.maps.CircleOptions} [options] (Optional) Any native options to assign to the circle. * @returns {GoogleMapsCircle} The wrapper object created for the new circle. */ createCircle(center: BoundsLike, radius: number, options?: google.maps.CircleOptions): GoogleMapsCircle; /** * Creates a data layer with the specified properties and adds it to the map. * * @param {google.maps.Data.DataOptions} [options] (Optional) Any native options to assign to the data layer. * @returns {GoogleMapsData} The wrapper object created for the new data layer. */ createDataLayer(options?: google.maps.Data.DataOptions): GoogleMapsData; private createOverlay; /** * Removes the specified overlay from the map. * * @template TOverlay The type of overlay being removed. * @param {TOverlay} overlay The wrapper of the overlay to remove. */ removeOverlay(overlay: TOverlay): void; }