/**
 * @param {angular.IScope} $scope Angular scope.
 * @param {angular.ITimeoutService} $timeout Angular timeout service.
 * @param {import('gmf/theme/Themes').ThemesService} gmfThemes The gmf Themes service.
 * @param {import('gmf/layertree/TreeManager').LayertreeTreeManager} gmfTreeManager The gmf TreeManager
 *    service.
 * @class
 * @hidden
 * @ngdoc controller
 * @ngname GmfEditfeatureselectorController
 */
export function Controller($scope: angular.IScope, $timeout: angular.ITimeoutService, gmfThemes: import("gmf/theme/Themes").ThemesService, gmfTreeManager: import("gmf/layertree/TreeManager").LayertreeTreeManager): void;
export class Controller {
    /**
     * @param {angular.IScope} $scope Angular scope.
     * @param {angular.ITimeoutService} $timeout Angular timeout service.
     * @param {import('gmf/theme/Themes').ThemesService} gmfThemes The gmf Themes service.
     * @param {import('gmf/layertree/TreeManager').LayertreeTreeManager} gmfTreeManager The gmf TreeManager
     *    service.
     * @class
     * @hidden
     * @ngdoc controller
     * @ngname GmfEditfeatureselectorController
     */
    constructor($scope: angular.IScope, $timeout: angular.ITimeoutService, gmfThemes: import("gmf/theme/Themes").ThemesService, gmfTreeManager: import("gmf/layertree/TreeManager").LayertreeTreeManager);
    /**
     * @type {boolean}
     */
    active: boolean;
    /**
     * @type {?import('ol/Map').default}
     */
    map: import("ol/Map").default | null;
    /**
     * @type {?import('ol/layer/Vector').default<import('ol/source/Vector').default<import('ol/geom/Geometry').default>>}
     */
    vectorLayer: import("ol/layer/Vector").default<import("ol/source/Vector").default<import("ol/geom/Geometry").default>> | null;
    /**
     * @type {angular.IScope}
     */
    scope_: angular.IScope;
    /**
     * @type {angular.ITimeoutService}
     */
    $timeout_: angular.ITimeoutService;
    /**
     * @type {import('gmf/theme/Themes').ThemesService}
     */
    gmfThemes_: import("gmf/theme/Themes").ThemesService;
    /**
     * @type {import('gmf/layertree/TreeManager').LayertreeTreeManager}
     */
    gmfTreeManager_: import("gmf/layertree/TreeManager").LayertreeTreeManager;
    /**
     * @type {function(): void}
     */
    treeCtrlsWatcherUnregister_: () => void;
    /**
     * Flag shared with the `gmf-editfeature` directive used to determine if it
     * has unsaved changes or not.
     *
     * @type {boolean}
     */
    dirty: boolean;
    /**
     * List of editable Layertree controllers.
     *
     * @type {import('ngeo/layertree/Controller').LayertreeController[]}
     */
    editableTreeCtrls: import("ngeo/layertree/Controller").LayertreeController[];
    /**
     * The currently selected Layertree controller.
     *
     * @type {?import('ngeo/layertree/Controller').LayertreeController}
     */
    selectedEditableTreeCtrl: import("ngeo/layertree/Controller").LayertreeController | null;
    state: string;
    /**
     * Called when the 'stop editing' button is clicked. Set the 'state'
     * variable to 'pending' allow the editfeature directive to check if it can
     * stop or if it requires confirmation due to unsaved modifications.
     */
    stopEditing(): void;
    /**
     * Called when the active property of the this directive changes. Manage
     * the activation/deactivation accordingly.
     *
     * @param {boolean} active Whether the directive is active or not.
     */
    handleActiveChange_(active: boolean): void;
    handleDestroy_(): void;
}
export namespace Controller {
    let $inject: string[];
}
export default myModule;
import angular from 'angular';
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
