import { NgZone } from '@angular/core'; import { Observable } from 'rxjs'; import { NgMapsInfoWindowComponent } from '../../directives/info-window'; import { MapsApiWrapper } from '../maps-api-wrapper'; import { MarkerManager } from './marker.manager'; import * as i0 from "@angular/core"; export declare abstract class InfoWindowManager { protected _mapsWrapper: MapsApiWrapper; protected _zone: NgZone; protected _markerManager: MarkerManager; protected _infoWindows: Map; constructor(_mapsWrapper: MapsApiWrapper, _zone: NgZone, _markerManager: MarkerManager); abstract deleteInfoWindow(infoWindow: NgMapsInfoWindowComponent): Promise; abstract setPosition(infoWindow: NgMapsInfoWindowComponent): void; abstract setZIndex(infoWindow: NgMapsInfoWindowComponent): void; abstract open(infoWindow: NgMapsInfoWindowComponent, event?: any): Promise; abstract close(infoWindow: NgMapsInfoWindowComponent): void; abstract setOptions(infoWindow: NgMapsInfoWindowComponent, options: google.maps.InfoWindowOptions): Promise | void; abstract addInfoWindow(infoWindow: NgMapsInfoWindowComponent): Promise; /** * Creates a Google Maps event listener for the given InfoWindow as an Observable */ abstract createEventObservable(eventName: string, infoWindow: NgMapsInfoWindowComponent): Observable; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; }