/**
 * The options required to create a `FileGroup`.
 *
 * extends GroupOptions
 *
 * @typedef {Object} FileGroupOptions
 * @property {angular.auto.IInjectorService} injector Angular main injector.
 * @property {import('ngeo/datasource/DataSource').default[]} dataSources (GroupOptions)
 * @property {string} title (GroupOptions)
 */
/**
 * @hidden
 */
export default class _default extends ngeoDatasourceGroup {
    /**
     * A FileGroup data source combines multiple `ngeo.datasource.File` objects.
     * Its main goal is to synchronize the added data source 'visible' properties
     * with the visibility of their layer 'visible' property.
     *
     * @param {FileGroupOptions} options Options.
     */
    constructor(options: FileGroupOptions);
    /**
     * @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 unregister_;
    /**
     * @param {import('ngeo/datasource/File').default} dataSource File data source to register.
     * @private
     */
    private registerDataSource_;
    /**
     * @param {import('ngeo/datasource/File').default} dataSource File data source.
     * @param {boolean|undefined} value Current visible property of the DS
     * @param {boolean|undefined} oldValue Old visible property of the DS
     * @private
     */
    private handleDataSourceVisibleChange_;
    /**
     * @param {import('ngeo/datasource/File').default} dataSource File data source to unregister.
     * @private
     */
    private unregisterDataSource_;
}
/**
 * The options required to create a `FileGroup`.
 *
 * extends GroupOptions
 */
export type FileGroupOptions = {
    /**
     * Angular main injector.
     */
    injector: angular.auto.IInjectorService;
    /**
     * (GroupOptions)
     */
    dataSources: import("ngeo/datasource/DataSource").default[];
    /**
     * (GroupOptions)
     */
    title: string;
};
import ngeoDatasourceGroup from 'ngeo/datasource/Group';
