import { NgZone } from '@angular/core';
import { Observable } from 'rxjs';
import { InfoWindowManager, MapsApiWrapper, MarkerManager, NgMapsInfoWindowComponent } from '@ng-maps/core';
import * as i0 from "@angular/core";
export declare class GoogleInfoWindowManager extends InfoWindowManager<google.maps.InfoWindow> {
    constructor(_mapsWrapper: MapsApiWrapper, _zone: NgZone, _markerManager: MarkerManager);
    deleteInfoWindow(infoWindow: NgMapsInfoWindowComponent): Promise<void>;
    setPosition(infoWindow: NgMapsInfoWindowComponent): void;
    setZIndex(infoWindow: NgMapsInfoWindowComponent): void;
    open(infoWindow: NgMapsInfoWindowComponent): Promise<void>;
    close(infoWindow: NgMapsInfoWindowComponent): void;
    setOptions(infoWindow: NgMapsInfoWindowComponent, options: google.maps.InfoWindowOptions): void;
    addInfoWindow(infoWindow: NgMapsInfoWindowComponent): Promise<void>;
    /**
     * Creates a Google Maps event listener for the given InfoWindow as an Observable
     */
    createEventObservable<T>(eventName: string, infoWindow: NgMapsInfoWindowComponent): Observable<T>;
    static ɵfac: i0.ɵɵFactoryDeclaration<GoogleInfoWindowManager, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<GoogleInfoWindowManager>;
}
