///
import { Observable } from 'rxjs';
import { Coord, IGoogleMapsEventData } from '@bespunky/angular-google-maps/core';
import { GoogleMapsOverlayComponentBase } from '../../../abstraction/base/google-maps-overlay-component-base';
import { IGoogleMapsPolygon } from '../i-google-maps-polygon';
/**
* Adds a polygon to the containing map.
*
* Must be placed inside a `` element.
*
* @export
* @class GoogleMapsPolygonDirective
* @extends {GoogleMapsOverlayComponentBase}
*/
export declare class GoogleMapsPolygonDirective extends GoogleMapsOverlayComponentBase {
path?: Coord[] | Coord[][];
draggable?: boolean;
editable?: boolean;
visible?: boolean;
clickable?: boolean;
fillColor?: string;
fillOpacity?: number;
strokeColor?: string;
strokeOpacity?: number;
strokePosition?: google.maps.StrokePosition;
strokeWeight?: number;
zIndex?: number;
geodesic?: boolean;
options?: google.maps.PolygonOptions;
/** Fired when the DOM click event is fired on the Polygon. */
click: Observable;
/** Fired when the DOM dblclick event is fired on the Polygon. */
doubleClick: Observable;
/** Fired when the Polygon is right-clicked on. */
rightClick: Observable;
/** Fired repeatedly while the user drags the polygon. */
drag: Observable;
/** Fired when the user starts dragging the polygon. */
dragStart: Observable;
/** Fired when the the user stops dragging the polygon.. */
dragEnd: Observable;
/** Fired when the DOM mousedown event is fired on the Polygon. */
mouseDown: Observable;
/** Fired when the DOM mouseup event is fired on the Polygon. */
mouseUp: Observable;
/** Fired when the DOM mousemove event is fired on the Polygon. */
mouseMove: Observable;
/** Fired on Polygon mouseover. */
mouseOver: Observable;
/** Fired on Polygon mouseout. */
mouseOut: Observable;
}