/**
 * @class
 * @hidden
 * @param {angular.IScope} $scope Angular scope.
 * @param {import('ngeo/map/BackgroundLayerMgr').MapBackgroundLayerManager} ngeoBackgroundLayerMgr
 *    Background layer manager.
 * @param {import('gmf/theme/Themes').ThemesService} gmfThemes Themes service.
 * @param {import('gmf/options').gmfBackgroundLayerSelectorOptions} gmfBackgroundLayerSelectorOptions The options
 * @ngdoc controller
 * @ngname GmfBackgroundlayerselectorController
 */
export function Controller($scope: angular.IScope, ngeoBackgroundLayerMgr: import("ngeo/map/BackgroundLayerMgr").MapBackgroundLayerManager, gmfThemes: import("gmf/theme/Themes").ThemesService, gmfBackgroundLayerSelectorOptions: import("gmf/options").gmfBackgroundLayerSelectorOptions): void;
export class Controller {
    /**
     * @class
     * @hidden
     * @param {angular.IScope} $scope Angular scope.
     * @param {import('ngeo/map/BackgroundLayerMgr').MapBackgroundLayerManager} ngeoBackgroundLayerMgr
     *    Background layer manager.
     * @param {import('gmf/theme/Themes').ThemesService} gmfThemes Themes service.
     * @param {import('gmf/options').gmfBackgroundLayerSelectorOptions} gmfBackgroundLayerSelectorOptions The options
     * @ngdoc controller
     * @ngname GmfBackgroundlayerselectorController
     */
    constructor($scope: angular.IScope, ngeoBackgroundLayerMgr: import("ngeo/map/BackgroundLayerMgr").MapBackgroundLayerManager, gmfThemes: import("gmf/theme/Themes").ThemesService, gmfBackgroundLayerSelectorOptions: import("gmf/options").gmfBackgroundLayerSelectorOptions);
    /**
     * @type {?import('ol/Map').default}
     */
    map: import("ol/Map").default | null;
    /**
     * @type {import('gmf/options').gmfBackgroundLayerSelectorOptions}
     */
    options: import("gmf/options").gmfBackgroundLayerSelectorOptions;
    /**
     * Function called when a layer was selected by the user.
     *
     * @type {?Function}
     */
    select: Function | null;
    /**
     * @type {?import('ol/layer/Base').default}
     */
    bgLayer: import("ol/layer/Base").default | null;
    /**
     * @type {?import('ol/layer/Base').default[]}
     */
    bgLayers: import("ol/layer/Base").default[] | null;
    /**
     * @type {?import('ol/layer/Base').default}
     */
    opacityLayer: import("ol/layer/Base").default | null;
    /**
     * @type {import('gmf/theme/Themes').ThemesService}
     */
    gmfThemes_: import("gmf/theme/Themes").ThemesService;
    /**
     * @type {import('ol/events').EventsKey[]}
     */
    listenerKeys_: import("ol/events").EventsKey[];
    /**
     * @type {import('ngeo/map/BackgroundLayerMgr').MapBackgroundLayerManager}
     */
    backgroundLayerMgr_: import("ngeo/map/BackgroundLayerMgr").MapBackgroundLayerManager;
    /**
     * Initialize the controller.
     */
    $onInit(): void;
    /**
     * Called when the themes changes. Set (or reset) the background layers.
     */
    handleThemesChange_(): void;
    /**
     * Getter/setter for background layer overlay, used by opacity slider.
     *
     * @param {number|undefined} val The opacity.
     * @returns {number} The background layer opacity.
     */
    getSetBgLayerOpacity(val: number | undefined): number;
    /**
     * @param {import('ol/layer/Base').default} layer Layer.
     * @param {boolean} [opt_silent] Do not notify listeners.
     */
    setLayer(layer: import("ol/layer/Base").default, opt_silent?: boolean): void;
    /**
     * Set a background layer overlay, used by the opacity slider.
     *
     * @param {import('ol/layer/Base').default} layer The opacity background layer.
     */
    setOpacityBgLayer(layer: import("ol/layer/Base").default): 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;
