/**
 * @param {JQuery} $element Element.
 * @param {angular.auto.IInjectorService} $injector Main injector.
 * @param {angular.IScope} $scope Angular scope.
 * @param {import('ngeo/misc/FeatureHelper').FeatureHelper} ngeoFeatureHelper Ngeo feature helper service.
 * @class
 * @hidden
 * @ngdoc controller
 * @ngname ngeoExportfeaturesController
 */
export function Controller($element: JQuery, $injector: angular.auto.IInjectorService, $scope: angular.IScope, ngeoFeatureHelper: import("ngeo/misc/FeatureHelper").FeatureHelper): void;
export class Controller {
    /**
     * @param {JQuery} $element Element.
     * @param {angular.auto.IInjectorService} $injector Main injector.
     * @param {angular.IScope} $scope Angular scope.
     * @param {import('ngeo/misc/FeatureHelper').FeatureHelper} ngeoFeatureHelper Ngeo feature helper service.
     * @class
     * @hidden
     * @ngdoc controller
     * @ngname ngeoExportfeaturesController
     */
    constructor($element: JQuery, $injector: angular.auto.IInjectorService, $scope: angular.IScope, ngeoFeatureHelper: import("ngeo/misc/FeatureHelper").FeatureHelper);
    /**
     * @type {?import('ol/Collection').default<import('ol/Feature').default<import('ol/geom/Geometry').default>>}
     */
    features: import("ol/Collection").default<import("ol/Feature").default<import("ol/geom/Geometry").default>> | null;
    /**
     * @type {JQuery}
     */
    element_: JQuery;
    /**
     * @type {string}
     */
    id_: string;
    /**
     * @type {import('ngeo/misc/FeatureHelper').FeatureHelper}
     */
    featureHelper_: import("ngeo/misc/FeatureHelper").FeatureHelper;
    /**
     * @type {?JQuery}
     */
    menu_: JQuery | null;
    /**
     * @type {JQuery[]}
     */
    items_: JQuery[];
    /**
     * @type {string[]}
     */
    formats_: string[];
    /**
     * Called when the element bound to this directive is clicked. Use the feature
     * helper to export the feature(s) depending on the format(s) available(s).
     * If there's only one, the call to the export method is direct, otherwise
     * a drop-down menu is show to let the user choose the format of the export.
     * Finally, if there's only one feature in the collection to export and there's
     * more than one format set, some formats may not support the type of geometry.
     * If that's the case, then disable each format item in the drop-down menu
     * that doesn't support the type of geometry.
     */
    handleElementClick_(): void;
    /**
     * Called when a menu item is clicked. Export the features to the selected
     * format.
     *
     * @param {string} format Format.
     * @param {JQuery.Event} event Event.
     */
    handleMenuItemClick_(format: string, event: JQuery.Event): void;
    /**
     * Cleanup event listeners and remove the menu from DOM, if any.
     */
    handleDestroy_(): void;
}
export namespace Controller {
    let $inject: string[];
}
export default myModule;
import angular from 'angular';
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
