/// import { GoogleMapsNativeObjectEmittingWrapper, GoogleMapsApiService, IGoogleMap } from '@bespunky/angular-google-maps/core'; import { IGoogleMapsNativeDrawableOverlay } from '../native/i-google-maps-native-drawable-overlay'; import { IGoogleMapsDrawableOverlay } from './i-google-maps-drawable-overlay'; import { OverlayType } from './overlay-type.enum'; /** * Provides the base functionality for wrapper objects which wrap a native overlay object. Wrappers like `GoogleMapsPolygon`, `GoogleMapsMarker` etc. should extend this class. * * @export * @abstract * @class GoogleMapsDrawableOverlay * @extends {GoogleMapsNativeObjectEmittingWrapper} * @implements {IGoogleMapsDrawableOverlay} * @template TNative The type of drawable overlay being wrapped. */ export declare abstract class GoogleMapsDrawableOverlay extends GoogleMapsNativeObjectEmittingWrapper implements IGoogleMapsDrawableOverlay { readonly type: OverlayType; map: IGoogleMap; /** * Creates an instance of GoogleMapsDrawableOverlay. * * @param {OverlayType} type The type of overlay this wrapper holds. Used by the `OverlayTracker` to distinguish between types. * @param {IGoogleMap} map The map to which this overlay should be added. * @param {GoogleMapsApiService} api The instance of the low-level api. * @param {TNative} native The native overlay to wrap. */ constructor(type: OverlayType, map: IGoogleMap, api: GoogleMapsApiService, native: TNative); /** * Assigns the overlay to the specified map. If possible, prefer using the appropriate `GoogleMap.createXXX()` method instead. * If not possible, it is the responsability of the caller to add the overlay to the `OverlayTracker` in the `GoogleMap.overlays` object. * Otherwise, inconsistencies and unexpected behaviours might occur. * * @param {IGoogleMap} map The map to dispaly the overlay on. */ attach(map: IGoogleMap): void; /** * Removes the overlay from the map it is attached to. If possible, prefer using the `GoogleMap.removeOverlay()` method instead. * If not possible, it is the responsability of the caller to remove the overlay from the `OverlayTracker` in the `GoogleMap.overlays` object. * Otherwise, inconsistencies and unexpected behaviours might occur. */ detach(): void; private setNativeMapOutside; abstract getBounds(): google.maps.LatLngBounds; }