///
import { Observable } from 'rxjs';
import { AfterContentChecked } from '@angular/core';
import { GoogleMapsComponentBase, IGoogleMapsEventData, BoundsLike, IGoogleMapsMouseEventsEmitter } from '@bespunky/angular-google-maps/core';
import { IGoogleMapsInfoWindow, InfoWindowTrigger } from '../i-google-maps-info-window';
/**
* Adds an info window to the containing map.
*
* Must be placed inside a `` element.
*
* @export
* @class GoogleMapsInfoWindowDirective
* @extends {GoogleMapsComponentBase}
* @implements {AfterContentChecked}
*/
export declare class GoogleMapsInfoWindowDirective extends GoogleMapsComponentBase implements AfterContentChecked {
animation?: google.maps.Animation;
position?: BoundsLike;
zIndex?: number;
options?: google.maps.InfoWindowOptions;
disableAutoPan?: boolean;
maxWidth?: number;
pixelOffset?: google.maps.Size;
trigger?: InfoWindowTrigger;
closeAfter?: number;
attachedTo?: IGoogleMapsMouseEventsEmitter;
/** Fired when the infoWindow's animation property changes. */
closeClick: Observable;
/** Fired when the infoWindow icon was clicked. */
contentChanged: Observable;
/** Fired for a rightclick on the infoWindow. */
domReady: Observable;
/** Fired when the infoWindow's clickable property changes. */
positionChanged: Observable;
/** Fired when the infoWindow icon was double clicked. */
zIndexChanged: Observable;
/**
* Reviews changes to the content placed inside and updates the window's content with any changes.
*
* Observing content changes could be achieved with `ContentObserver` from the `cdk` package. However, I chose not to rely on another
* dependency, as this is specifically used in this directive. Moreover, it doesn't seem likely that info window content will change
* often, so it didn't seem to matter.
* If this causes a performance issue in the future, consider `ContentObserver`.
*/
ngAfterContentChecked(): void;
ngOnDestroy(): void;
private buildContentTemplate;
}