import { EventEmitter, OnDestroy } from "@angular/core";
import { FeatureGroup, LeafletEvent, Map, PathOptions, PopupEvent, TooltipEvent } from "leaflet";
import { LayerGroupProvider } from "./layer-group.provider";
import { LayerProvider } from "./layer.provider";
import * as i0 from "@angular/core";
/**
* Angular2 directive for Leaflet layer-groups.
*
* *You can use this directive in an Angular2 template after importing `YagaModule`.*
*
* How to use in a template:
* ```html
*
*
*
*
*
* ```
*
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup Original Leaflet documentation
* @link https://leaflet-ng2.yagajs.org/latest/browser-test?grep=Feature-Group%20Directive Unit-Test
* @link https://leaflet-ng2.yagajs.org/latest/coverage/lcov-report/lib/feature-group.directive.js.html Test coverage
* @link https://leaflet-ng2.yagajs.org/latest/typedoc/classes/featuregroupdirective.html API documentation
* @example https://leaflet-ng2.yagajs.org/latest/examples/feature-group-directive
*/
export declare class FeatureGroupDirective extends FeatureGroup implements OnDestroy {
protected parentLayerGroupProvider: LayerGroupProvider;
/**
* Two-Way bound property for the display status of the layer.
* Use it with ``
* or ``
*/
displayChange: EventEmitter;
/**
* From leaflet fired add event.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-add Original Leaflet documentation
*/
layeraddEvent: EventEmitter;
/**
* From leaflet fired remove event.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-remove Original Leaflet documentation
*/
layerremoveEvent: EventEmitter;
/**
* From leaflet fired add event.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-add Original Leaflet documentation
*/
addEvent: EventEmitter;
/**
* From leaflet fired remove event.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-remove Original Leaflet documentation
*/
removeEvent: EventEmitter;
/**
* From leaflet fired popupopen event.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-popupopen Original Leaflet documentation
*/
popupopenEvent: EventEmitter;
/**
* From leaflet fired popupclose event.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-popupclose Original Leaflet documentation
*/
popupcloseEvent: EventEmitter;
/**
* From leaflet fired tooltipopen event.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-tooltipopen Original Leaflet documentation
*/
tooltipopenEvent: EventEmitter;
/**
* From leaflet fired tooltipclose event.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-tooltipclose Original Leaflet documentation
*/
tooltipcloseEvent: EventEmitter;
/**
* From leaflet fired click event.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-click Original Leaflet documentation
*/
constructor(parentLayerGroupProvider: LayerGroupProvider, layerGroupProvider: LayerGroupProvider, layerProvider: LayerProvider);
/**
* This function gets called from Angular on destroy of the html-component.
* @link https://angular.io/docs/ts/latest/api/core/index/OnDestroy-class.html
*/
ngOnDestroy(): void;
/**
* Two-Way bound property for the display status of the layer.
* Use it with `` or ``
*/
set display(val: boolean);
/**
* Two-Way bound property for the display status of the layer.
* Use it with `` or ``
*/
get display(): boolean;
/**
* Input for the attribution.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-attribution Original Leaflet documentation
*/
set attribution(val: string);
get attribution(): string;
removeFrom(map: Map): this;
/**
* Input for the style.
* Use it with ``
* @link http://leafletjs.com/reference-1.2.0.html#featuregroup-setstyle Original Leaflet documentation
*/
set style(val: PathOptions);
get style(): PathOptions;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}