/**
 * The options required to create a `WMSGroup`.
 *
 * extends OGCGroupOptions
 *
 * @typedef {Object} WMSGroupOptions
 * @property {angular.auto.IInjectorService} injector Angular main injector.
 * @property {string} url (WMSGroupOptions)
 * @property {import('ngeo/datasource/DataSource').default[]} dataSources (GroupOptions)
 * @property {string} title (GroupOptions)
 */
/**
 * @hidden
 */
export default class _default extends ngeoDatasourceOGCGroup {
    /**
     * A WMSGroup data source combines multiple `ngeo.datasource.OGC` objects
     * that have the 'WMS' type. Its main goal is to create a single
     * `ol.layer.Image` object in which the data source visible properties
     * determine the WMS LAYERS parameter.
     *
     * Note: the layer is not added to the map here.
     *
     * @param {WMSGroupOptions} options Options.
     * @param {import('ngeo/map/LayerHelper').LayerHelper} ngeoLayerHelper the ngeo map LayerHelper service.
     */
    constructor(options: WMSGroupOptions, ngeoLayerHelper: import("ngeo/map/LayerHelper").LayerHelper);
    /**
     * @type {?import('ol/layer/Image').default<import('ol/source/Image').default>}
     * @private
     */
    private layer_;
    /**
     * @type {import('ngeo/map/LayerHelper').LayerHelper}
     * @private
     */
    private ngeoLayerHelper_;
    /**
     * @type {angular.IScope}
     * @private
     */
    private rootScope_;
    /**
     * The functions to call to unregister the `watch` event on data sources
     * that are registered. Key is the id of the data source.
     *
     * @type {Object<number, Function>}
     * @private
     */
    private wmsDataSourceUnregister_;
    /**
     * @private
     */
    private init_;
    /**
     * @returns {import('ol/layer/Image').default<import('ol/source/Image').default>} layer
     */
    get layer(): import("ol/layer/Image").default<import("ol/source/Image").default>;
    /**
     * @param {gmfDatasourceOGC} dataSource OGC data source to register.
     * @private
     */
    private registerDataSource_;
    /**
     * @param {boolean|undefined} value Current visible property of the DS
     * @param {boolean|undefined} oldValue Old visible property of the DS
     * @private
     */
    private handleDataSourceVisibleChange_;
    /**
     * @private
     */
    private updateLayer_;
    /**
     * @param {import('ngeo/datasource/OGC').default} dataSource OGC data source to unregister.
     * @private
     */
    private unregisterDataSource_;
}
/**
 * The options required to create a `WMSGroup`.
 *
 * extends OGCGroupOptions
 */
export type WMSGroupOptions = {
    /**
     * Angular main injector.
     */
    injector: angular.auto.IInjectorService;
    /**
     * (WMSGroupOptions)
     */
    url: string;
    /**
     * (GroupOptions)
     */
    dataSources: import("ngeo/datasource/DataSource").default[];
    /**
     * (GroupOptions)
     */
    title: string;
};
import ngeoDatasourceOGCGroup from 'ngeo/datasource/OGCGroup';
