export default DataSource; /** * The options required to create a `DataSource`. * * The synchronization is made in the `ngeo.datasource.syncDataSourcesMap` * service. */ export type DataSourceOptions = { /** * The attributes of the data * source. */ attributes?: import("ngeo/format/Attribute").Attribute[]; /** * The dimensions filters configuration, which determines dimensions supported by this data source using * filters and give the corresponding field and whether they should use a static value or the one defined * in the dimensions. */ dimensionsFiltersConfig?: import("ngeo/datasource/OGC").DimensionsFiltersConfig; /** * The data source id. */ id: number; /** * The name of an attribute among the attributes of the data source. * The value of that attribute, in records, can be used to identify each record individually. */ identifierAttribute?: string; /** * A data source is considered 'in range' when it is synchronized to * a map view and the resolution of that view is within the range of the `maxResolution` and * `minResolution`. These 2 properties are required for the `inRange` property to be dynamic, otherwise its * value is always `true` by default. */ inRange?: boolean; /** * Minimum resolution where the data source can be displayed or queried. */ minResolution?: number; /** * Maximum resolution where the data source can be displayed or queried. */ maxResolution?: number; /** * A human-readable name for the data source. */ name: string; /** * Whether the data source is visible or not, i.e. * whether its is ON or OFF. */ visible?: boolean; }; export type DataSources = import("ol/Collection").default; /** * The options required to create a `DataSource`. * * The synchronization is made in the `ngeo.datasource.syncDataSourcesMap` * service. * * * @typedef {Object} DataSourceOptions * @property {import('ngeo/format/Attribute').Attribute[]} [attributes] The attributes of the data * source. * @property {import('ngeo/datasource/OGC').DimensionsFiltersConfig} [dimensionsFiltersConfig] * The dimensions filters configuration, which determines dimensions supported by this data source using * filters and give the corresponding field and whether they should use a static value or the one defined * in the dimensions. * @property {number} id The data source id. * @property {string} [identifierAttribute] The name of an attribute among the attributes of the data source. * The value of that attribute, in records, can be used to identify each record individually. * @property {boolean} [inRange] A data source is considered 'in range' when it is synchronized to * a map view and the resolution of that view is within the range of the `maxResolution` and * `minResolution`. These 2 properties are required for the `inRange` property to be dynamic, otherwise its * value is always `true` by default. * @property {number} [minResolution] Minimum resolution where the data source can be displayed or queried. * @property {number} [maxResolution] Maximum resolution where the data source can be displayed or queried. * @property {string} name A human-readable name for the data source. * @property {boolean} [visible=false] Whether the data source is visible or not, i.e. * whether its is ON or OFF. */ /** * @private * @hidden */ declare class DataSource { /** * A `ngeo.datasource.DataSource` represents a single source of data, which * can combine different type of servers to display or fetch the data. It can * serve as a point of entry to get all the information about a single data * source. * * You can use the information in a data source to do all sorts of things: * - create `ol.layer.Layer` objects using the WMS, WMTS or even WFS * information * - issue WMS/WFS queries * - know whether the data is visible or not * - apply filter rules on it * * @param {DataSourceOptions} options Options. */ constructor(options: DataSourceOptions); /** * A data source is considered 'in range' when it is synchronized to * a map view and the resolution of that view is within the range of * the `maxResolution` and `minResolution`. These 2 properties are * required for the `inRange` property to be dynamic, otherwise its * value is always `true` by default. * * The synchronization is made in the `import('ngeo/datasource/DataSource').DataSources` * service. * * @type {boolean} */ inRange: boolean; /** * Whether the data source is visible or not, i.e. whether its is ON or OFF. * Defaults to `false`. * * @type {boolean} */ visible: boolean; /** * The attributes of the data source. * * Note: `attributes` is not using the conventionnal getter/setter due * to: See: https://github.com/google/closure-compiler/issues/1089 * * @type {?import('ngeo/format/Attribute').Attribute[]} */ attributes: import("ngeo/format/Attribute").Attribute[] | null; /** * (Required) The data source id. * * @type {number} * @private */ private id_; /** * The name of an attribute among the attributes of the data source. * The value of that attribute, in records, can be used to identify * each record individually. * * @type {string|undefined} * @private */ private identifierAttribute_; /** * Maximum resolution where the data source can be displayed or queried. * * @type {number|undefined} * @private */ private maxResolution_; /** * Minimum resolution where the data source can be displayed or queried. * * @type {number|undefined} * @private */ private minResolution_; /** * (Required) A human-readable name for the data source. * * @type {string} * @private */ private name_; /** * @returns {?import('ngeo/format/Attribute').Attribute[]} Attributes */ getAttributes(): import("ngeo/format/Attribute").Attribute[] | null; /** * @param {import('ngeo/format/Attribute').Attribute[]} attributes Attributes */ setAttributes(attributes: import("ngeo/format/Attribute").Attribute[]): void; /** * @returns {number} Id */ get id(): number; /** * @returns {string|undefined} Identifier attribute */ get identifierAttribute(): string | undefined; /** * @returns {number|undefined} Maximum resolution */ get maxResolution(): number | undefined; /** * @returns {number|undefined} Minimum resolution */ get minResolution(): number | undefined; /** * @returns {string} Name */ get name(): string; /** * Whether the data source is queryable or not. * * @returns {boolean} Whether the data source is queryable or not. */ get queryable(): boolean; /** * @returns {boolean} Whether the data source supports a dynamic `inRange` * property or not, i.e. whether it can be calculated. */ get supportsDynamicInRange(): boolean; }