@xweather/mapsgl 1.8.3 → 1.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mapsgl.css CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  *
3
- * @xweather/mapsgl - 1.8.3
4
- * (c) 2025 Vaisala Xweather
3
+ * @xweather/mapsgl - 1.8.4
4
+ * (c) 2026 Vaisala Xweather
5
5
  * License: BSD
6
6
  * https://www.xweather.com
7
7
  *
package/dist/mapsgl.d.ts CHANGED
@@ -1589,6 +1589,13 @@ export declare interface BarLegendOptions {
1589
1589
  * Whether the edges of the color scale bar should be rounded.
1590
1590
  */
1591
1591
  rounded: boolean;
1592
+ /**
1593
+ * Whether the color scale bar should have equal widths for each color stop. Default is `false`.
1594
+ *
1595
+ * When `false`, each cell will have a variable width that is proportional to its value and the next cell's value
1596
+ * relative to the value range of the bar.
1597
+ */
1598
+ equalWidth: boolean;
1592
1599
  /**
1593
1600
  * Defines the base measurement type and units for the legend which corresponds to the color scale's value range.
1594
1601
  */
@@ -1648,6 +1655,11 @@ export declare interface BarLegendOptions {
1648
1655
  * The placement of the labels relative to the color scale bar.
1649
1656
  */
1650
1657
  placement: 'top' | 'middle' | 'bottom';
1658
+ /**
1659
+ * Whether the labels should be centered on their corresponding color scale bar cell. Default is `false`,
1660
+ * which means the labels will be aligned to the left (beginning) of the corresponding color scale bar cell.
1661
+ */
1662
+ centered: boolean;
1651
1663
  /**
1652
1664
  * The marks to display at the label positions along the color scale bar.
1653
1665
  */
@@ -1657,6 +1669,10 @@ export declare interface BarLegendOptions {
1657
1669
  */
1658
1670
  margin: number | [number, number];
1659
1671
  normalized: boolean;
1672
+ /**
1673
+ * Whether the labels should be allowed to overlap each other. Default is `false`.
1674
+ */
1675
+ allowOverlap: boolean;
1660
1676
  }>;
1661
1677
  }
1662
1678
 
@@ -2065,20 +2081,243 @@ declare const dbzToMMRate: (dbz: number, perSecond?: boolean) => number;
2065
2081
 
2066
2082
  declare const defaultUnits: Record<Exclude<UnitSystem, 'custom'>, MapUnits>;
2067
2083
 
2084
+ export declare class Deferred<T> {
2085
+ promise: Promise<T>;
2086
+ resolve: (value: T | PromiseLike<T>) => void;
2087
+ reject: (reason?: any) => void;
2088
+ constructor();
2089
+ }
2090
+
2068
2091
  declare const degToDir: (d: number) => string;
2069
2092
 
2070
2093
  export declare interface Disposable {
2071
2094
  dispose(): void;
2072
2095
  }
2073
2096
 
2097
+ /**
2098
+ * Manages download tasks with queuing, concurrency control, retry logic, and caching.
2099
+ * Supports per-host concurrency limits and priority-based task ordering.
2100
+ *
2101
+ * @template Task - The download task type that extends DownloadTask
2102
+ */
2103
+ export declare class DownloadManager<Task extends DownloadTask<any>> extends EventDispatcher {
2104
+
2105
+ /**
2106
+ * Gets the progress tracker for download operations.
2107
+ * @returns The Progress instance tracking download statistics.
2108
+ */
2109
+ get progress(): Progress;
2110
+ /**
2111
+ * Creates a new DownloadManager instance.
2112
+ * @param options - Configuration options for the download manager.
2113
+ * @param options.fetcher - Function that performs the fetch operation for tasks.
2114
+ * @param options.taskRunner - Optional custom task runner function. Defaults to runDownloadTask.
2115
+ * @param options.maxRetries - Maximum number of retry attempts for failed tasks.
2116
+ * @param options.defaultConcurrency - Default maximum concurrent downloads. Defaults to 16.
2117
+ * @param options.perHostConcurrency - Per-host concurrency limits, keyed by host name.
2118
+ */
2119
+ constructor(options?: Partial<DownloadManagerOptions<TaskData<Task>>>);
2120
+ /**
2121
+ * Checks if a task result exists in the cache.
2122
+ * @param key - The unique identifier for the task.
2123
+ * @returns True if the task result is cached, false otherwise.
2124
+ */
2125
+ has(key: string): boolean;
2126
+ /**
2127
+ * Retrieves a cached task result.
2128
+ * @param key - The unique identifier for the task.
2129
+ * @returns The cached task data, or undefined if not found.
2130
+ */
2131
+ get(key: string): TaskData<Task> | undefined;
2132
+ /**
2133
+ * Sets the tile fetcher function to use for requests.
2134
+ * The fetcher function should return a Promise that resolves with a Response object.
2135
+ * @param fetcher -
2136
+ */
2137
+ setFetcher(fetcher: Fetcher<Task>): void;
2138
+ /**
2139
+ * Sets the task runner function used to execute download tasks.
2140
+ * @param runner - The task runner function that handles task execution with retry logic.
2141
+ */
2142
+ setTaskRunner(runner: TaskRunner<Task>): void;
2143
+ /**
2144
+ * Sets the task transformer function that modifies tasks before execution.
2145
+ * @param transformer - Function that receives a task and returns a (possibly modified) task.
2146
+ */
2147
+ setTaskTransformer(transformer: (task: Task) => Task): void;
2148
+ /**
2149
+ * Finds all tasks that match the provided predicate function.
2150
+ * @param predicate - A callback that receives a task and returns true if it should be included.
2151
+ */
2152
+ find(predicate: (task: Task) => boolean): Task[];
2153
+ /**
2154
+ * Finds the first task that matches the provided predicate function.
2155
+ * @param predicate - A callback that receives a task and returns true for a match.
2156
+ */
2157
+ findOne(predicate: (task: Task) => boolean): Task | undefined;
2158
+ /**
2159
+ * Returns true if any task matches the provided predicate function.
2160
+ * @param predicate - A callback that receives a task and returns true for a match.
2161
+ */
2162
+ hasTask(predicate: (task: Task) => boolean): boolean;
2163
+ /**
2164
+ * Adds a task to the download queue and optionally starts processing.
2165
+ * Tasks are organized by host for per-host concurrency control and sorted by priority.
2166
+ * @param task - The download task to enqueue.
2167
+ * @param start - If true, immediately starts processing the queue. Defaults to true.
2168
+ */
2169
+ enqueue(task: Task, start?: boolean): void;
2170
+ /**
2171
+ * Aborts a specific download task.
2172
+ * If the task is in-flight, the request is aborted. If pending, it's removed from the queue.
2173
+ * Updates progress tracking accordingly.
2174
+ * @param task - The task to abort.
2175
+ */
2176
+ abort(task: Task): void;
2177
+ /**
2178
+ * Aborts all tasks that match the provided predicate function.
2179
+ * @param predicate - A callback that receives a task and returns true if it should be aborted.
2180
+ */
2181
+ abortWhere(predicate: (task: Task) => boolean): void;
2182
+ abortAll(): void;
2183
+
2184
+ }
2185
+
2186
+ /**
2187
+ * Configuration options for creating a DownloadManager instance.
2188
+ * @template Task - The download task type that extends DownloadTask
2189
+ */
2190
+ export declare interface DownloadManagerOptions<Task extends DownloadTask<any>> {
2191
+ /** Function that performs the fetch operation for tasks. */
2192
+ fetcher: Fetcher<Task>;
2193
+ /** Optional custom task runner function. Defaults to runDownloadTask if not provided. */
2194
+ taskRunner?: TaskRunner<Task>;
2195
+ /** Maximum number of retry attempts for failed tasks. */
2196
+ maxRetries?: number;
2197
+ /** Default maximum concurrent downloads across all hosts. Defaults to 16 if not provided. */
2198
+ defaultConcurrency?: number;
2199
+ /** Per-host concurrency limits, keyed by host name. */
2200
+ perHostConcurrency?: Record<string, number>;
2201
+ }
2202
+
2203
+ /**
2204
+ * Priority levels for download tasks. Lower numbers indicate higher priority.
2205
+ * Tasks with lower priority values are processed before tasks with higher values.
2206
+ */
2074
2207
  declare const DownloadPriority: {
2208
+ /** Critical priority (0) - highest priority, processed first. */
2075
2209
  readonly critical: 0;
2210
+ /** High priority (1) - processed after critical tasks. */
2076
2211
  readonly high: 1;
2212
+ /** Warm priority (2) - lowest priority, processed last. */
2077
2213
  readonly warm: 2;
2078
2214
  };
2079
2215
 
2216
+ /**
2217
+ * Type representing a download priority value.
2218
+ */
2080
2219
  export declare type DownloadPriority = ObjectValue<typeof DownloadPriority>;
2081
2220
 
2221
+ /**
2222
+ * Status values for download tasks throughout their lifecycle.
2223
+ */
2224
+ declare const DownloadStatus: {
2225
+ /** Task is queued and waiting to be processed. */
2226
+ readonly pending: "pending";
2227
+ /** Task is currently being executed (fetch in progress). */
2228
+ readonly inFlight: "in-flight";
2229
+ /** Task completed successfully. */
2230
+ readonly success: "success";
2231
+ /** Task failed after all retry attempts. */
2232
+ readonly failed: "failed";
2233
+ /** Task was cancelled before completion. */
2234
+ readonly cancelled: "cancelled";
2235
+ };
2236
+
2237
+ /**
2238
+ * Type representing a download status value.
2239
+ */
2240
+ export declare type DownloadStatus = ObjectValue<typeof DownloadStatus>;
2241
+
2242
+ /**
2243
+ * Represents a single download task with its configuration, state, and result handling.
2244
+ * @template ResultType - The type of data that will be returned when the task completes.
2245
+ */
2246
+ export declare class DownloadTask<ResultType> {
2247
+ /** Unique identifier for this task. */
2248
+ readonly key: string;
2249
+ /** URL to fetch data from. */
2250
+ readonly url: string;
2251
+ /** Request options for the download task. */
2252
+ readonly options: Partial<DownloadTaskRequestOptions>;
2253
+ /** AbortController for cancelling the request. */
2254
+ readonly controller: AbortController;
2255
+ /** Expected result type for the response ('blob', 'json', 'arrayBuffer', or 'text'). */
2256
+ resultType: 'blob' | 'json' | 'arrayBuffer' | 'text';
2257
+ /** Priority level for this task. Lower numbers indicate higher priority. */
2258
+ priority: DownloadPriority;
2259
+ /** Current status of the download task. */
2260
+ status: DownloadStatus;
2261
+ /** Number of retry attempts made for this task. */
2262
+ retries: number;
2263
+ /** The Response object from the fetch operation, if available. */
2264
+ response: Response | undefined;
2265
+ /** Optional custom parser function to transform the Response into ResultType. */
2266
+ parse: ((response: Response) => Promise<ResultType>) | undefined;
2267
+ /** Deferred promise that resolves when the task completes. Set externally by the download scheduler. */
2268
+ readonly deferred: Deferred<ResultType>;
2269
+ /**
2270
+ * Gets the promise that resolves when the task completes.
2271
+ * @returns A Promise that resolves with the task result.
2272
+ */
2273
+ get promise(): Promise<ResultType>;
2274
+ /** Optional host name for per-host concurrency control. */
2275
+ host?: string;
2276
+ /**
2277
+ * Creates a new DownloadTask instance.
2278
+ * @param key - Unique identifier for the task.
2279
+ * @param url - URL to fetch data from.
2280
+ * @param options - Request options for the download task.
2281
+ * @param priority - Priority level for the task. Defaults to DownloadPriority.warm if not provided.
2282
+ */
2283
+ constructor(key: string, url: string, options: Partial<DownloadTaskRequestOptions>, priority?: DownloadPriority);
2284
+ getResponseResult(response: Response | Record<string, any>): Promise<any>;
2285
+ }
2286
+
2287
+ /**
2288
+ * Options for configuring a download task request.
2289
+ */
2290
+ export declare type DownloadTaskRequestOptions = {
2291
+ /**
2292
+ * The HTTP method to use for the request.
2293
+ */
2294
+ method: 'GET' | 'POST';
2295
+ /**
2296
+ * The authenticator to use for the request, if any.
2297
+ */
2298
+ authenticator?: AnyAuthenticator;
2299
+ /**
2300
+ * The request body to send, if any.
2301
+ */
2302
+ body?: any;
2303
+ /**
2304
+ * The request headers to send, if any.
2305
+ */
2306
+ headers?: Record<string, string>;
2307
+ /**
2308
+ * The request parameters to send, if any.
2309
+ */
2310
+ params: Record<string, any>;
2311
+ /**
2312
+ * The {@link AbortSignal} to use for the request.
2313
+ */
2314
+ signal: AbortSignal;
2315
+ /**
2316
+ * The download priority of the request.
2317
+ */
2318
+ priority: DownloadPriority;
2319
+ };
2320
+
2082
2321
  /**
2083
2322
  * Set of common easing functions.
2084
2323
  */
@@ -2335,6 +2574,14 @@ export declare type FeatureQueryResult = {
2335
2574
  nodata: boolean;
2336
2575
  };
2337
2576
 
2577
+ /**
2578
+ * Function type that performs the actual fetch operation for a download task.
2579
+ * @template Task - The download task type that extends DownloadTask
2580
+ * @param task - The download task to fetch data for.
2581
+ * @returns A Promise that resolves with a Response object.
2582
+ */
2583
+ export declare type Fetcher<Task extends DownloadTask<any>> = (task: Task) => Promise<Response>;
2584
+
2338
2585
  export declare type FillPattern = string | RemoteSymbolImage;
2339
2586
 
2340
2587
  /**
@@ -2839,6 +3086,7 @@ export declare type LabelItem = {
2839
3086
  value: number;
2840
3087
  label: string;
2841
3088
  position?: number;
3089
+ span?: number;
2842
3090
  };
2843
3091
 
2844
3092
  /**
@@ -2960,8 +3208,43 @@ export declare type LayerGroups = {
2960
3208
  * Layer mask configuration.
2961
3209
  */
2962
3210
  export declare type LayerMask = {
2963
- layer: WebGLLayer;
3211
+ layers: Array<WebGLLayer>;
2964
3212
  inverted?: boolean;
3213
+ mode?: 'all' | 'any';
3214
+ };
3215
+
3216
+ export declare type LayerMaskConfiguration = Partial<LayerMaskSpecification> & {
3217
+ /**
3218
+ * The type of mask to apply to the layer. This is an alternative to using the `layers` property. If both
3219
+ * are provided, the `layers` property will take precedence.
3220
+ */
3221
+ type?: 'water' | 'land';
3222
+ };
3223
+
3224
+ /**
3225
+ * Layer mask specification.
3226
+ */
3227
+ export declare type LayerMaskSpecification = {
3228
+ /**
3229
+ * An array of layer identifiers and optional overrides to use for masking this layer's output. If the `id` is a
3230
+ * weather layer identifier, use the `overrides` property to provide additional options for the layer and the mask
3231
+ * layer will be created automatically. Use this in combination with the `mode` property to control how the masks
3232
+ * are applied to the layer's final output.
3233
+ */
3234
+ layers: Array<{
3235
+ id: string;
3236
+ overrides?: Partial<WeatherLayerOptions>;
3237
+ }>;
3238
+ /**
3239
+ * Whether to invert the mask, meaning the layer will be visible outside of the mask area.
3240
+ */
3241
+ invert?: boolean;
3242
+ /**
3243
+ * The mode to use applying the masks, either 'all' (default) or 'any'.
3244
+ * - 'all': The layer will be visible only if all the masks are visible (intersection of all masks).
3245
+ * - 'any': The layer will be visible if any of the masks are visible (union of all masks).
3246
+ */
3247
+ mode?: 'all' | 'any';
2965
3248
  };
2966
3249
 
2967
3250
  export declare type LayerMetadata = {
@@ -3104,10 +3387,10 @@ export declare interface LayerSpecification {
3104
3387
  */
3105
3388
  queryType?: ObjectValueFromKeys<typeof LayerType, 'text' | 'symbol' | 'circle'>;
3106
3389
  /**
3107
- * Layer identifier of the layer to use for masking this layer's output as a string, or an object containing the
3108
- * mask layer's id and an optional flag to invert the mask. The layer must have already been added to the map.
3390
+ * Layer mask configuration to use when rendering the the layer, if any. The layer(s) used for masking must have
3391
+ * already been added to the map.
3109
3392
  */
3110
- mask?: string | MaskLayerSpecification;
3393
+ mask?: LayerMaskSpecification;
3111
3394
  /**
3112
3395
  * Filter expression to use for filtering features from the data source. This is only used for vector tile data
3113
3396
  * sources whose tiles are in the Mapbox Vector Tile (MVT) format.
@@ -4367,18 +4650,6 @@ export declare interface MapViewState {
4367
4650
  projectionMatrix?: Matrix4;
4368
4651
  }
4369
4652
 
4370
- export declare type MaskConfiguration = {
4371
- id?: string;
4372
- layerId: string;
4373
- invert?: boolean;
4374
- overrides?: Record<string, any>;
4375
- };
4376
-
4377
- export declare type MaskLayerSpecification = {
4378
- id: string;
4379
- invert?: boolean;
4380
- };
4381
-
4382
4653
  declare const mbToHg: (mb: number) => number;
4383
4654
 
4384
4655
  declare const mbToPa: (mb: number) => number;
@@ -4901,8 +5172,18 @@ export declare type QueryLayerConfiguration = {
4901
5172
  overrides?: Record<string, any>;
4902
5173
  };
4903
5174
 
5175
+ /**
5176
+ * Query layer specification.
5177
+ */
4904
5178
  export declare type QueryLayerSpecification = {
5179
+ /**
5180
+ * Layer identifier of the layer to use for querying/sampling data from.
5181
+ */
4905
5182
  id: string;
5183
+ /**
5184
+ * Whether to hide the query layer. Default value is `false` which means the query layer will be visible. If you
5185
+ * set this to `true`, then the query layer will be hidden while still being available for querying/sampling data.
5186
+ */
4906
5187
  hidden?: boolean;
4907
5188
  };
4908
5189
 
@@ -5120,6 +5401,7 @@ export declare class SourceMetadata extends EventDispatcher {
5120
5401
  private _transformer;
5121
5402
  private _hasLoaded;
5122
5403
  private _lastRequestOptions;
5404
+
5123
5405
  /**
5124
5406
  * Creates an instance of SourceMetadata
5125
5407
  * @param url - URL to request metadata from if needed.
@@ -5167,6 +5449,7 @@ export declare class SourceMetadata extends EventDispatcher {
5167
5449
  * @readonly
5168
5450
  */
5169
5451
  get hasValidTimes(): boolean;
5452
+ get validTimeRange(): TimeRange;
5170
5453
  getAllValidTimes(): Array<Date>;
5171
5454
  /**
5172
5455
  * Returns an array of valid times for the source. If the source has multiple datasets, the valid times
@@ -5748,6 +6031,39 @@ export declare interface SymbolStyleSpec {
5748
6031
  factor: StyleValue<number>;
5749
6032
  }
5750
6033
 
6034
+ /**
6035
+ * Extracts the result type from a DownloadTask type.
6036
+ * @template Task - The download task type that extends DownloadTask
6037
+ * @example
6038
+ * type MyTask = DownloadTask<string>;
6039
+ * type MyResult = TaskData<MyTask>; // MyResult is 'string'
6040
+ */
6041
+ export declare type TaskData<Task extends DownloadTask<any>> = Task extends DownloadTask<infer T> ? T : never;
6042
+
6043
+ /**
6044
+ * Function type that executes a download task with retry logic and error handling.
6045
+ * @template Task - The download task type that extends DownloadTask
6046
+ * @param task - The download task to execute.
6047
+ * @param config - Configuration for the task runner.
6048
+ * @returns A Promise that resolves when the task completes (successfully or after all retries fail).
6049
+ */
6050
+ export declare type TaskRunner<Task extends DownloadTask<any>> = (task: Task, config: TaskRunnerConfig<Task>) => Promise<Response>;
6051
+
6052
+ /**
6053
+ * Configuration object for task runner execution.
6054
+ * @template Task - The download task type that extends DownloadTask
6055
+ */
6056
+ export declare interface TaskRunnerConfig<Task extends DownloadTask<any>> {
6057
+ /** Function that performs the fetch operation. */
6058
+ fetcher: Fetcher<Task>;
6059
+ /** Maximum number of retry attempts for failed tasks. */
6060
+ maxRetries: number;
6061
+ /** HTTP status code range [min, max] that triggers retry attempts. */
6062
+ retryStatusRange: [number, number];
6063
+ /** Optional function to transform tasks before execution. */
6064
+ taskTransformer?: (task: Task) => Task;
6065
+ }
6066
+
5751
6067
  /**
5752
6068
  * Text style properties control how text gets rendered on a map from vector features. Use these properties on
5753
6069
  * conjunction with `symbol` to define the style for a text layer.
@@ -6058,14 +6374,14 @@ export declare type TileCoordinateBounds = {
6058
6374
  se: TileCoordinate;
6059
6375
  };
6060
6376
 
6061
- /**
6062
- * A function that fetches a tile from the given URL and options.
6063
- * @param coord - The tile coordinate to load.
6064
- * @param url - The tile URL to load.
6065
- * @param options - The tile request options.
6066
- * @returns A promise that resolves with the response.
6067
- */
6068
- export declare type TileFetcher = (coord: TileCoord, url: string, options: Partial<TileRequestOptions>) => Promise<Response>;
6377
+ export declare class TileDownloadTask extends DownloadTask<{
6378
+ data: Blob;
6379
+ headers: Headers;
6380
+ }> {
6381
+ readonly coord: TileCoord;
6382
+ readonly intervals: Array<number>;
6383
+ constructor(key: string, coord: TileCoord, intervals: Array<number>, url: string, options: Partial<TileRequestOptions>, priority?: DownloadPriority);
6384
+ }
6069
6385
 
6070
6386
  export declare interface TileInfo {
6071
6387
  x: number;
@@ -6074,7 +6390,7 @@ export declare interface TileInfo {
6074
6390
  }
6075
6391
 
6076
6392
  export declare type TileQuadrant = 'tl' | 'tc' | 'tr' | 'ml' | 'mc' | 'mr' | 'bl' | 'bc' | 'br';
6077
-
6393
+
6078
6394
  /**
6079
6395
  * Options for a tile request.
6080
6396
  */
@@ -6121,16 +6437,6 @@ export declare type TileRequestOptions = {
6121
6437
  intervals: Array<Date>;
6122
6438
  };
6123
6439
 
6124
- /**
6125
- * A response from a tile request.
6126
- * @property data The response data.
6127
- * @property headers The response headers.
6128
- */
6129
- export declare type TileResponse = {
6130
- data: any;
6131
- headers: any;
6132
- };
6133
-
6134
6440
  /**
6135
6441
  * `TileSource` is an abstract class that provides the primary implementation of a tile-based data source object that
6136
6442
  * loads tiles from a remote source. This class is not intended to be used directly, but rather extended by a concrete
@@ -6174,20 +6480,14 @@ declare abstract class TileSource<Data = any, Source extends TileSourceSpecifica
6174
6480
  width: number;
6175
6481
  height: number;
6176
6482
  };
6177
-
6178
- /**
6483
+
6484
+ /**
6179
6485
  * Returns the coordinate bounds for the source if provided by the source configuration.
6180
6486
  * When defined, data and/or tiles will not be requested outside of these bounds. This is useful for limiting the
6181
6487
  * amount of data requested from a source when the data is only needed for a specific region.
6182
6488
  * @readonly
6183
6489
  */
6184
6490
  get bounds(): CoordinateBounds;
6185
- get isReady(): boolean;
6186
- /**
6187
- * Returns whether or not the source is currently loading tiles.
6188
- * @readonly
6189
- */
6190
- get isLoading(): boolean;
6191
6491
 
6192
6492
  constructor(id: string, spec: Partial<Source>);
6193
6493
  /**
@@ -6255,7 +6555,10 @@ constructor(id: string, spec: Partial<Source>);
6255
6555
  * @returns The tile instance.
6256
6556
  */
6257
6557
  protected getOrCreateTile(coord: TileCoord): Tile<Data>;
6258
- protected loadTile(tile: Tile<Data>, options?: Partial<TileRequestOptions>): Promise<Data>;
6558
+ protected loadTile(tile: Tile<Data>, options?: Partial<TileRequestOptions>): Promise<{
6559
+ data: Blob;
6560
+ headers: Headers;
6561
+ }>;
6259
6562
  getMetadata(options?: Partial<UrlRequestOptions>): Promise<unknown>;
6260
6563
  removeConsumer(consumer: DataSourceConsumer): void;
6261
6564
  /**
@@ -6458,6 +6761,7 @@ export declare class TimeAnimation extends Animation {
6458
6761
  clampDateRange(min: Date, max: Date): void;
6459
6762
  protected eventPayload(): Record<string, any>;
6460
6763
  protected advanceToStopPosition(): void;
6764
+ private _debouncedRangeChangeEvent;
6461
6765
  }
6462
6766
 
6463
6767
  export declare type TimeAnimationInfo = {
@@ -7009,7 +7313,7 @@ export declare interface WeatherLayerConfiguration extends Identifiable {
7009
7313
  /**
7010
7314
  * The layer mask configuration to use when rendering the the layer, if any.
7011
7315
  */
7012
- mask?: MaskConfiguration;
7316
+ mask?: LayerMaskConfiguration;
7013
7317
  /**
7014
7318
  * The operation to perform on the data within the time series. Defaults to `none`.
7015
7319
  */
@@ -7147,24 +7451,7 @@ export declare type WeatherLayerOptions = {
7147
7451
  /**
7148
7452
  * Options for configuring a mask to apply to the layer.
7149
7453
  */
7150
- mask: {
7151
- /**
7152
- * The unique identifier for the mask layer. If not provided, then the value of `layerId` will be used.
7153
- */
7154
- id?: string;
7155
- /**
7156
- * Layer identifier of the layer to use for masking this layer's output.
7157
- */
7158
- layerId: string;
7159
- /**
7160
- * Whether to invert the mask, meaning the layer will be visible outside of the mask area.
7161
- */
7162
- invert?: boolean;
7163
- /**
7164
- * Additional configuration overrides for the mask layer.
7165
- */
7166
- overrides?: Record<string, any>;
7167
- };
7454
+ mask: LayerMaskConfiguration;
7168
7455
  childLayers?: {
7169
7456
  [id: string]: Partial<WeatherLayerOptions>;
7170
7457
  };