///
import { Observable } from 'rxjs';
import { GoogleMapsComponentBase, IGoogleMapsMouseEventsEmitter, IGoogleMapsEventData, Coord, CoordPath } from '@bespunky/angular-google-maps/core';
import { IGoogleMapsFeature, FeatureProperties } from '../i-google-maps-feature';
/**
* Adds a feature to the containing data layer.
*
* Must be placed inside a `` element.
*
* @export
* @class GoogleMapsFeatureDirective
* @extends {GoogleMapsComponentBase}
* @implements {IGoogleMapsMouseEventsEmitter}
*/
export declare class GoogleMapsFeatureDirective extends GoogleMapsComponentBase implements IGoogleMapsMouseEventsEmitter {
geometry?: google.maps.Data.Geometry;
marker?: Coord;
polygon?: CoordPath;
properties?: FeatureProperties;
/** Fired when a feature is added to the collection. */
addFeature: Observable;
/** Fired for a click on the geometry. */
click: Observable;
/** Fired for a double click on the geometry. */
doubleClick: Observable;
/** Fired for a mousedown on the geometry. */
mouseDown: Observable;
/** Fired when the mouse leaves the area of the geometry. */
mouseOut: Observable;
/** Fired when the mouse enters the area of the geometry. */
mouseOver: Observable;
/** Fired for a mouseup on the geometry. */
mouseUp: Observable;
/** Fired when a feature is removed from the collection. */
removeFeature: Observable;
/** Fired when a feature's property is removed. */
removeProperty: Observable;
/** Fired for a rightclick on the geometry. */
rightClick: Observable;
/** Fired when a feature's geometry is set. */
setGeometry: Observable;
/** Fired when a feature's property is set. */
setProperty: Observable;
ngOnInit(): void;
ngOnDestroy(): void;
protected initEmitters(): void;
}