/**
 * @hidden
 */
export class DrawController {
    /**
     * @param {angular.IScope} $scope Scope.
     * @param {angular.gettext.gettextCatalog} gettextCatalog Gettext service.
     * @param {import('ngeo/misc/FeatureHelper').FeatureHelper} ngeoFeatureHelper Ngeo feature helper
     *    service.
     * @param {import('ol/Collection').default<olFeature<import('ol/geom/Geometry').default>>} ngeoFeatures Collection of
     *    features.
     */
    constructor($scope: angular.IScope, gettextCatalog: angular.gettext.gettextCatalog, ngeoFeatureHelper: import("ngeo/misc/FeatureHelper").FeatureHelper, ngeoFeatures: import("ol/Collection").default<olFeature<import("ol/geom/Geometry").default>>);
    /**
     * @type {boolean}
     */
    active: boolean;
    /**
     * Alternate collection of features in which to push the drawn features.
     * If not defined, then `ngeoFeatures` is used instead.
     *
     * @type {?import('ol/Collection').default<olFeature<import('ol/geom/Geometry').default>>}
     */
    features: import("ol/Collection").default<olFeature<import("ol/geom/Geometry").default>> | null;
    /**
     * @type {?import('ol/Map').default}
     */
    map: import("ol/Map").default | null;
    /**
     * @type {boolean}
     */
    showMeasure: boolean;
    /**
     * @type {?string}
     */
    uid: string | null;
    /**
     * @type {angular.gettext.gettextCatalog}
     * @private
     */
    private gettextCatalog_;
    /**
     * @type {import('ngeo/misc/FeatureHelper').FeatureHelper}
     * @private
     */
    private featureHelper_;
    /**
     * @type {import('ol/Collection').default<olFeature<import('ol/geom/Geometry').default>>}
     * @private
     */
    private ngeoFeatures_;
    /**
     * @type {import('ol/interaction/Interaction').default[]}
     * @private
     */
    private interactions_;
    /**
     * @type {?import('ol/interaction/Draw').default}
     */
    drawPoint: import("ol/interaction/Draw").default | null;
    /**
     * @type {?import('ngeo/interaction/MeasureLength').default}
     */
    measureLength: import("ngeo/interaction/MeasureLength").default | null;
    /**
     * @type {?import('ngeo/interaction/MeasureArea').default}
     */
    measureArea: import("ngeo/interaction/MeasureArea").default | null;
    /**
     * @type {?import('ngeo/interaction/MeasureAzimut').default}
     */
    measureAzimut: import("ngeo/interaction/MeasureAzimut").default | null;
    /**
     * @type {?import('ol/interaction/Draw').default}
     */
    drawRectangle: import("ol/interaction/Draw").default | null;
    /**
     * @type {?import('ol/interaction/Draw').default}
     */
    drawText: import("ol/interaction/Draw").default | null;
    /**
     * Register a draw|measure interaction by setting it inactive, decorating it
     * and adding it to the map
     *
     * @param {import('ol/interaction/Interaction').default} interaction Interaction to register.
     */
    registerInteraction(interaction: import("ol/interaction/Interaction").default): void;
    /**
     * Called when any of the draw or measure interaction active property changes.
     * Set the active property of this directive accordingly, i.e. if at least
     * one of the draw or measure is active then the active property is set to true.
     *
     * @param {Event|import('ol/events/Event').default} event Event.
     */
    handleActiveChange(event: Event | import("ol/events/Event").default): void;
    /**
     * Called when a feature is finished being drawn. Set the default properties
     * for its style, then set its style and add it to the features collection.
     *
     * @param {string} type Type of geometry being drawn.
     * @param {import('lib/ol.interaction.Draw').DrawEvent|import('ngeo/CustomEvent').default<import('lib/ol.interaction.Draw').DrawEvent>} evt
     *    Event.
     */
    handleDrawEnd(type: string, evt: import("lib/ol.interaction.Draw").DrawEvent | import("ngeo/CustomEvent").default<import("lib/ol.interaction.Draw").DrawEvent>): void;
}
export namespace DrawController {
    let $inject: string[];
}
export default myModule;
import olFeature from 'ol/Feature';
import angular from 'angular';
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
