@feltmaps/js-sdk 1.10.2 → 1.11.0-next.1

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.
@@ -4992,12 +4992,28 @@ interface RasterLayerSource {
4992
4992
  bands: Array<RasterBand>;
4993
4993
  }
4994
4994
  /**
4995
- * The RasterBand interface describes the metadata for a raster band, necessary for
4996
- * calculating the encoded raster value from the red, green, and blue values of the pixel.
4995
+ * The RasterBand interface describes one band of a raster: how to identify it when
4996
+ * asking for statistics, what to call it, and the values needed to calculate the
4997
+ * encoded raster value from the red, green, and blue values of a pixel.
4997
4998
  *
4998
4999
  * @group Layer sources
4999
5000
  */
5000
5001
  interface RasterBand {
5002
+ /**
5003
+ * The identifier for this band, such as `"band:1"`.
5004
+ *
5005
+ * Pass this to the raster statistics methods, such as
5006
+ * {@link LayersController.getRasterAggregates}, and use it to refer to the band
5007
+ * inside a filter.
5008
+ */
5009
+ id: string;
5010
+ /**
5011
+ * The name of the band, such as "Red" or "Elevation".
5012
+ *
5013
+ * Felt takes this from the raster itself when the file names its bands, and
5014
+ * falls back to "Band 1", "Band 2" and so on.
5015
+ */
5016
+ displayName: string;
5001
5017
  /**
5002
5018
  * Encoding base value as a floating point number
5003
5019
  */
@@ -7080,6 +7096,519 @@ interface GetLayerPrecomputedCalculationParams extends z.infer<typeof GetLayerPr
7080
7096
  gridConfig: GridConfig;
7081
7097
  }
7082
7098
 
7099
+ declare const RasterAggregationMethodSchema: z.ZodEnum<["avg", "min", "max", "sum", "median", "stddev", "majority", "area"]>;
7100
+ /**
7101
+ * A statistic that can be calculated for a raster band.
7102
+ *
7103
+ * `area` is the ground area of the selected pixels, in square metres.
7104
+ *
7105
+ * `majority`, the most common value, needs a band holding whole numbers.
7106
+ *
7107
+ * @group Stats
7108
+ */
7109
+ type RasterAggregationMethod = z.infer<typeof RasterAggregationMethodSchema>;
7110
+ declare const GetRasterAggregatesParamsSchema: z.ZodObject<z.objectUtil.extendShape<{
7111
+ layerId: z.ZodString;
7112
+ bandId: z.ZodString;
7113
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
7114
+ type: z.ZodLiteral<"Polygon">;
7115
+ coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
7116
+ }, "strip", z.ZodTypeAny, {
7117
+ type: "Polygon";
7118
+ coordinates: [number, number][][];
7119
+ }, {
7120
+ type: "Polygon";
7121
+ coordinates: [number, number][][];
7122
+ }>, z.ZodObject<{
7123
+ type: z.ZodLiteral<"MultiPolygon">;
7124
+ coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
7125
+ }, "strip", z.ZodTypeAny, {
7126
+ type: "MultiPolygon";
7127
+ coordinates: [number, number][][][];
7128
+ }, {
7129
+ type: "MultiPolygon";
7130
+ coordinates: [number, number][][][];
7131
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
7132
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
7133
+ }, {
7134
+ aggregation: z.ZodObject<{
7135
+ methods: z.ZodArray<z.ZodEnum<["avg", "min", "max", "sum", "median", "stddev", "majority", "area"]>, "many">;
7136
+ percentiles: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
7137
+ }, "strip", z.ZodTypeAny, {
7138
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "stddev" | "majority" | "area")[];
7139
+ percentiles?: number[] | undefined;
7140
+ }, {
7141
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "stddev" | "majority" | "area")[];
7142
+ percentiles?: number[] | undefined;
7143
+ }>;
7144
+ }>, "strip", z.ZodTypeAny, {
7145
+ layerId: string;
7146
+ aggregation: {
7147
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "stddev" | "majority" | "area")[];
7148
+ percentiles?: number[] | undefined;
7149
+ };
7150
+ bandId: string;
7151
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7152
+ boundary?: [number, number, number, number] | [number, number][] | {
7153
+ type: "Polygon";
7154
+ coordinates: [number, number][][];
7155
+ } | {
7156
+ type: "MultiPolygon";
7157
+ coordinates: [number, number][][][];
7158
+ } | undefined;
7159
+ }, {
7160
+ layerId: string;
7161
+ aggregation: {
7162
+ methods: ("avg" | "max" | "min" | "sum" | "median" | "stddev" | "majority" | "area")[];
7163
+ percentiles?: number[] | undefined;
7164
+ };
7165
+ bandId: string;
7166
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7167
+ boundary?: [number, number, number, number] | [number, number][] | {
7168
+ type: "Polygon";
7169
+ coordinates: [number, number][][];
7170
+ } | {
7171
+ type: "MultiPolygon";
7172
+ coordinates: [number, number][][][];
7173
+ } | undefined;
7174
+ }>;
7175
+ /**
7176
+ * The parameters for calculating statistics for a raster band, passed to the
7177
+ * {@link LayersController.getRasterAggregates} method.
7178
+ *
7179
+ * @group Stats
7180
+ */
7181
+ interface GetRasterAggregatesParams<T extends RasterAggregationMethod> extends zInfer<typeof GetRasterAggregatesParamsSchema> {
7182
+ /**
7183
+ * The ID of the band to calculate statistics for, read from the `bands` on a
7184
+ * raster layer's source.
7185
+ */
7186
+ bandId: string;
7187
+ /**
7188
+ * The spatial boundary for the pixels to include. Omit this to cover the whole
7189
+ * raster.
7190
+ */
7191
+ boundary?: GeometryFilter;
7192
+ /**
7193
+ * Filters on band values for the pixels to include, such as
7194
+ * `["band:1", "gt", 100]`.
7195
+ */
7196
+ filters?: Filters;
7197
+ /**
7198
+ * Which statistics to calculate for the band.
7199
+ */
7200
+ aggregation: {
7201
+ /**
7202
+ * The statistics to calculate for the band.
7203
+ */
7204
+ methods: T[];
7205
+ /**
7206
+ * Percentile ranks between 0 and 100 to calculate, such as `[10, 50, 90]`.
7207
+ */
7208
+ percentiles?: number[];
7209
+ };
7210
+ }
7211
+ declare const RasterPercentileSchema: z.ZodObject<{
7212
+ /**
7213
+ * The percentile rank that was requested.
7214
+ */
7215
+ rank: z.ZodNumber;
7216
+ /**
7217
+ * The band value at this rank.
7218
+ */
7219
+ value: z.ZodNullable<z.ZodNumber>;
7220
+ }, "strip", z.ZodTypeAny, {
7221
+ value: number | null;
7222
+ rank: number;
7223
+ }, {
7224
+ value: number | null;
7225
+ rank: number;
7226
+ }>;
7227
+ /**
7228
+ * One percentile from the response to the
7229
+ * {@link LayersController.getRasterAggregates} method.
7230
+ *
7231
+ * @group Stats
7232
+ */
7233
+ interface RasterPercentile extends zInfer<typeof RasterPercentileSchema> {
7234
+ }
7235
+ /**
7236
+ * The response from the {@link LayersController.getRasterAggregates} method.
7237
+ *
7238
+ * @group Stats
7239
+ */
7240
+ interface GetRasterAggregatesResult<T extends RasterAggregationMethod> {
7241
+ /**
7242
+ * The value calculated for each requested statistic.
7243
+ *
7244
+ * `null` is returned when the boundary and filters selected no pixels, as
7245
+ * opposed to zero, so as not to confuse an empty selection with a real zero.
7246
+ */
7247
+ stats: Record<T, number | null>;
7248
+ /**
7249
+ * The requested percentiles, in the order they were requested. Present only
7250
+ * when percentile ranks were requested.
7251
+ */
7252
+ percentiles?: Array<RasterPercentile>;
7253
+ }
7254
+ declare const GetRasterHistogramParamsSchema: z.ZodObject<z.objectUtil.extendShape<{
7255
+ layerId: z.ZodString;
7256
+ bandId: z.ZodString;
7257
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
7258
+ type: z.ZodLiteral<"Polygon">;
7259
+ coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
7260
+ }, "strip", z.ZodTypeAny, {
7261
+ type: "Polygon";
7262
+ coordinates: [number, number][][];
7263
+ }, {
7264
+ type: "Polygon";
7265
+ coordinates: [number, number][][];
7266
+ }>, z.ZodObject<{
7267
+ type: z.ZodLiteral<"MultiPolygon">;
7268
+ coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
7269
+ }, "strip", z.ZodTypeAny, {
7270
+ type: "MultiPolygon";
7271
+ coordinates: [number, number][][][];
7272
+ }, {
7273
+ type: "MultiPolygon";
7274
+ coordinates: [number, number][][][];
7275
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
7276
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
7277
+ }, {
7278
+ steps: z.ZodUnion<[z.ZodObject<{
7279
+ type: z.ZodLiteral<"equal-intervals">;
7280
+ count: z.ZodNumber;
7281
+ }, "strip", z.ZodTypeAny, {
7282
+ type: "equal-intervals";
7283
+ count: number;
7284
+ }, {
7285
+ type: "equal-intervals";
7286
+ count: number;
7287
+ }>, z.ZodArray<z.ZodNumber, "many">]>;
7288
+ }>, "strip", z.ZodTypeAny, {
7289
+ layerId: string;
7290
+ steps: number[] | {
7291
+ type: "equal-intervals";
7292
+ count: number;
7293
+ };
7294
+ bandId: string;
7295
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7296
+ boundary?: [number, number, number, number] | [number, number][] | {
7297
+ type: "Polygon";
7298
+ coordinates: [number, number][][];
7299
+ } | {
7300
+ type: "MultiPolygon";
7301
+ coordinates: [number, number][][][];
7302
+ } | undefined;
7303
+ }, {
7304
+ layerId: string;
7305
+ steps: number[] | {
7306
+ type: "equal-intervals";
7307
+ count: number;
7308
+ };
7309
+ bandId: string;
7310
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7311
+ boundary?: [number, number, number, number] | [number, number][] | {
7312
+ type: "Polygon";
7313
+ coordinates: [number, number][][];
7314
+ } | {
7315
+ type: "MultiPolygon";
7316
+ coordinates: [number, number][][][];
7317
+ } | undefined;
7318
+ }>;
7319
+ /**
7320
+ * The parameters for requesting a histogram of a raster band's values, passed to
7321
+ * the {@link LayersController.getRasterHistogramData} method.
7322
+ *
7323
+ * @group Stats
7324
+ */
7325
+ interface GetRasterHistogramParams extends zInfer<typeof GetRasterHistogramParamsSchema> {
7326
+ /**
7327
+ * The ID of the band to bin, read from the `bands` on a raster layer's source.
7328
+ */
7329
+ bandId: string;
7330
+ /**
7331
+ * The spatial boundary for the pixels to include. Omit this to cover the whole
7332
+ * raster.
7333
+ */
7334
+ boundary?: GeometryFilter;
7335
+ /**
7336
+ * Filters on band values for the pixels to include.
7337
+ */
7338
+ filters?: Filters;
7339
+ /**
7340
+ * How to divide the band's values into bins, either as a number of equal
7341
+ * intervals or as the bin edges themselves.
7342
+ */
7343
+ steps: {
7344
+ type: "equal-intervals";
7345
+ count: number;
7346
+ } | number[];
7347
+ }
7348
+ declare const RasterHistogramBinSchema: z.ZodObject<{
7349
+ /**
7350
+ * The left edge of the bin.
7351
+ */
7352
+ min: z.ZodNumber;
7353
+ /**
7354
+ * The right edge of the bin.
7355
+ */
7356
+ max: z.ZodNumber;
7357
+ /**
7358
+ * The number of pixels in the bin.
7359
+ */
7360
+ value: z.ZodNumber;
7361
+ }, "strip", z.ZodTypeAny, {
7362
+ value: number;
7363
+ max: number;
7364
+ min: number;
7365
+ }, {
7366
+ value: number;
7367
+ max: number;
7368
+ min: number;
7369
+ }>;
7370
+ /**
7371
+ * One bin from the response to the
7372
+ * {@link LayersController.getRasterHistogramData} method.
7373
+ *
7374
+ * @group Stats
7375
+ */
7376
+ interface RasterHistogramBin extends zInfer<typeof RasterHistogramBinSchema> {
7377
+ }
7378
+ /**
7379
+ * The response from the {@link LayersController.getRasterHistogramData} method.
7380
+ *
7381
+ * @group Stats
7382
+ */
7383
+ interface GetRasterHistogramResult {
7384
+ /**
7385
+ * The bins, in ascending order of value.
7386
+ */
7387
+ bins: Array<RasterHistogramBin>;
7388
+ }
7389
+ declare const GetRasterCategoriesParamsSchema: z.ZodObject<z.objectUtil.extendShape<{
7390
+ layerId: z.ZodString;
7391
+ bandId: z.ZodString;
7392
+ boundary: z.ZodOptional<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
7393
+ type: z.ZodLiteral<"Polygon">;
7394
+ coordinates: z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">;
7395
+ }, "strip", z.ZodTypeAny, {
7396
+ type: "Polygon";
7397
+ coordinates: [number, number][][];
7398
+ }, {
7399
+ type: "Polygon";
7400
+ coordinates: [number, number][][];
7401
+ }>, z.ZodObject<{
7402
+ type: z.ZodLiteral<"MultiPolygon">;
7403
+ coordinates: z.ZodArray<z.ZodArray<z.ZodEffects<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, [number, number][], [number, number][]>, "many">, "many">;
7404
+ }, "strip", z.ZodTypeAny, {
7405
+ type: "MultiPolygon";
7406
+ coordinates: [number, number][][][];
7407
+ }, {
7408
+ type: "MultiPolygon";
7409
+ coordinates: [number, number][][][];
7410
+ }>, z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">]>>;
7411
+ filters: z.ZodOptional<z.ZodUnion<[z.ZodType<FilterTernary, z.ZodTypeDef, FilterTernary>, z.ZodUnion<[z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["in", "ni"]>, z.ZodUnion<[z.ZodArray<z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>, "many">, z.ZodNull]>], null>, z.ZodTuple<[z.ZodUnion<[z.ZodString, z.ZodNull]>, z.ZodEnum<["lt", "gt", "le", "ge", "eq", "ne", "cn", "nc", "is", "isnt"]>, z.ZodUnion<[z.ZodNumber, z.ZodString, z.ZodBoolean, z.ZodNull]>], null>]>, z.ZodNull, z.ZodBoolean]>>;
7412
+ }, {
7413
+ limit: z.ZodOptional<z.ZodNumber>;
7414
+ }>, "strip", z.ZodTypeAny, {
7415
+ layerId: string;
7416
+ bandId: string;
7417
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7418
+ boundary?: [number, number, number, number] | [number, number][] | {
7419
+ type: "Polygon";
7420
+ coordinates: [number, number][][];
7421
+ } | {
7422
+ type: "MultiPolygon";
7423
+ coordinates: [number, number][][][];
7424
+ } | undefined;
7425
+ limit?: number | undefined;
7426
+ }, {
7427
+ layerId: string;
7428
+ bandId: string;
7429
+ filters?: boolean | FilterTernary | [string | null, "in" | "ni", (string | number | boolean | null)[] | null] | [string | null, "lt" | "gt" | "le" | "ge" | "eq" | "ne" | "cn" | "nc" | "is" | "isnt", string | number | boolean | null] | null | undefined;
7430
+ boundary?: [number, number, number, number] | [number, number][] | {
7431
+ type: "Polygon";
7432
+ coordinates: [number, number][][];
7433
+ } | {
7434
+ type: "MultiPolygon";
7435
+ coordinates: [number, number][][][];
7436
+ } | undefined;
7437
+ limit?: number | undefined;
7438
+ }>;
7439
+ /**
7440
+ * The parameters for counting the distinct values of a raster band, passed to the
7441
+ * {@link LayersController.getRasterCategoryData} method.
7442
+ *
7443
+ * @group Stats
7444
+ */
7445
+ interface GetRasterCategoriesParams extends zInfer<typeof GetRasterCategoriesParamsSchema> {
7446
+ /**
7447
+ * The ID of the band to count values for, read from the `bands` on a raster
7448
+ * layer's source.
7449
+ */
7450
+ bandId: string;
7451
+ /**
7452
+ * The spatial boundary for the pixels to include. Omit this to cover the whole
7453
+ * raster.
7454
+ */
7455
+ boundary?: GeometryFilter;
7456
+ /**
7457
+ * Filters on band values for the pixels to include.
7458
+ */
7459
+ filters?: Filters;
7460
+ /**
7461
+ * The maximum number of categories to return. The most frequent categories are
7462
+ * kept.
7463
+ */
7464
+ limit?: number;
7465
+ }
7466
+ declare const RasterCategorySchema: z.ZodObject<{
7467
+ /**
7468
+ * The band value this category counts.
7469
+ */
7470
+ key: z.ZodNumber;
7471
+ /**
7472
+ * The number of pixels holding this value.
7473
+ */
7474
+ value: z.ZodNumber;
7475
+ /**
7476
+ * The ground area of this category's pixels, in square metres. Absent for a
7477
+ * line boundary, which samples points and so has no area.
7478
+ */
7479
+ areaM2: z.ZodOptional<z.ZodNumber>;
7480
+ }, "strip", z.ZodTypeAny, {
7481
+ value: number;
7482
+ key: number;
7483
+ areaM2?: number | undefined;
7484
+ }, {
7485
+ value: number;
7486
+ key: number;
7487
+ areaM2?: number | undefined;
7488
+ }>;
7489
+ /**
7490
+ * One category from the response to the
7491
+ * {@link LayersController.getRasterCategoryData} method.
7492
+ *
7493
+ * @group Stats
7494
+ */
7495
+ interface RasterCategory extends zInfer<typeof RasterCategorySchema> {
7496
+ }
7497
+ /**
7498
+ * The response from the {@link LayersController.getRasterCategoryData} method.
7499
+ *
7500
+ * @group Stats
7501
+ */
7502
+ interface GetRasterCategoriesResult {
7503
+ /**
7504
+ * The categories, most frequent first.
7505
+ */
7506
+ categories: Array<RasterCategory>;
7507
+ /**
7508
+ * How many distinct values the band holds within the scope, which is larger
7509
+ * than the number of categories returned when `limit` drops some.
7510
+ */
7511
+ total: number;
7512
+ }
7513
+ declare const GetRasterProfileParamsSchema: z.ZodObject<{
7514
+ layerId: z.ZodString;
7515
+ bandId: z.ZodString;
7516
+ boundary: z.ZodUnion<[z.ZodObject<{
7517
+ type: z.ZodLiteral<"LineString">;
7518
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
7519
+ }, "strip", z.ZodTypeAny, {
7520
+ type: "LineString";
7521
+ coordinates: [number, number][];
7522
+ }, {
7523
+ type: "LineString";
7524
+ coordinates: [number, number][];
7525
+ }>, z.ZodObject<{
7526
+ type: z.ZodLiteral<"MultiLineString">;
7527
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
7528
+ }, "strip", z.ZodTypeAny, {
7529
+ type: "MultiLineString";
7530
+ coordinates: [number, number][][];
7531
+ }, {
7532
+ type: "MultiLineString";
7533
+ coordinates: [number, number][][];
7534
+ }>]>;
7535
+ }, "strip", z.ZodTypeAny, {
7536
+ layerId: string;
7537
+ boundary: {
7538
+ type: "LineString";
7539
+ coordinates: [number, number][];
7540
+ } | {
7541
+ type: "MultiLineString";
7542
+ coordinates: [number, number][][];
7543
+ };
7544
+ bandId: string;
7545
+ }, {
7546
+ layerId: string;
7547
+ boundary: {
7548
+ type: "LineString";
7549
+ coordinates: [number, number][];
7550
+ } | {
7551
+ type: "MultiLineString";
7552
+ coordinates: [number, number][][];
7553
+ };
7554
+ bandId: string;
7555
+ }>;
7556
+ /**
7557
+ * The parameters for sampling a raster band along a line, passed to the
7558
+ * {@link LayersController.getRasterProfile} method.
7559
+ *
7560
+ * @group Stats
7561
+ */
7562
+ interface GetRasterProfileParams extends zInfer<typeof GetRasterProfileParamsSchema> {
7563
+ /**
7564
+ * The ID of the band to sample, read from the `bands` on a raster layer's
7565
+ * source.
7566
+ */
7567
+ bandId: string;
7568
+ /**
7569
+ * The line to sample the band along. The band is sampled at roughly one sample
7570
+ * per pixel along the line's length.
7571
+ */
7572
+ boundary: LineStringGeometry | MultiLineStringGeometry;
7573
+ }
7574
+ declare const RasterProfileSampleSchema: z.ZodObject<{
7575
+ /**
7576
+ * How far along the line this sample was taken, in ground metres from the
7577
+ * line's start.
7578
+ */
7579
+ distanceM: z.ZodNumber;
7580
+ /**
7581
+ * The band's value at this sample, or `null` where the raster holds no data or
7582
+ * the line runs outside the raster.
7583
+ */
7584
+ value: z.ZodNullable<z.ZodNumber>;
7585
+ }, "strip", z.ZodTypeAny, {
7586
+ value: number | null;
7587
+ distanceM: number;
7588
+ }, {
7589
+ value: number | null;
7590
+ distanceM: number;
7591
+ }>;
7592
+ /**
7593
+ * One sample from the response to the {@link LayersController.getRasterProfile}
7594
+ * method.
7595
+ *
7596
+ * @group Stats
7597
+ */
7598
+ interface RasterProfileSample extends zInfer<typeof RasterProfileSampleSchema> {
7599
+ }
7600
+ /**
7601
+ * The response from the {@link LayersController.getRasterProfile} method.
7602
+ *
7603
+ * @group Stats
7604
+ */
7605
+ interface GetRasterProfileResult {
7606
+ /**
7607
+ * The samples, ordered from the line's start.
7608
+ */
7609
+ samples: Array<RasterProfileSample>;
7610
+ }
7611
+
7083
7612
  /**
7084
7613
  * The Layers controller allows you to get information about the layers on the
7085
7614
  * map, and make changes to their visibility.
@@ -7899,6 +8428,112 @@ interface LayersController {
7899
8428
  sum: number | null;
7900
8429
  count: number | null;
7901
8430
  }>;
8431
+ /**
8432
+ * Calculates statistics for a raster band.
8433
+ *
8434
+ * @remarks
8435
+ * Summarizes the pixel values of one band of a raster layer. Omit the boundary
8436
+ * to summarize the whole raster, or pass a bounding box or polygon to summarize
8437
+ * part of it. Filters restrict the summary to pixels whose band values match a
8438
+ * condition.
8439
+ *
8440
+ * @example
8441
+ * ```typescript
8442
+ * // Band IDs come from the layer, so read them rather than writing them out
8443
+ * const layer = await felt.getLayer("elevation");
8444
+ * const bandId = layer.source.bands[0].id;
8445
+ *
8446
+ * // The elevation range of the whole raster, since no boundary is given
8447
+ * const elevation = await felt.getRasterAggregates({
8448
+ * layerId: layer.id,
8449
+ * bandId,
8450
+ * aggregation: { methods: ["min", "max", "avg"] },
8451
+ * });
8452
+ *
8453
+ * // How much ground inside a parcel sits above 2,000 metres
8454
+ * const highGround = await felt.getRasterAggregates({
8455
+ * layerId: layer.id,
8456
+ * bandId,
8457
+ * aggregation: { methods: ["area"] },
8458
+ * boundary: parcel,
8459
+ * filters: [bandId, "gt", 2000],
8460
+ * });
8461
+ *
8462
+ * // The elevation that the steepest tenth of the raster sits above
8463
+ * const steep = await felt.getRasterAggregates({
8464
+ * layerId: layer.id,
8465
+ * bandId,
8466
+ * aggregation: { methods: [], percentiles: [90] },
8467
+ * });
8468
+ * ```
8469
+ */
8470
+ getRasterAggregates<T extends RasterAggregationMethod>(params: GetRasterAggregatesParams<T>): Promise<GetRasterAggregatesResult<T>>;
8471
+ /**
8472
+ * Calculates a histogram of a raster band's values.
8473
+ *
8474
+ * @remarks
8475
+ * Divides a band's values into bins and counts the pixels falling into each one.
8476
+ * You can pass a number of equal intervals, or the bin edges themselves when you
8477
+ * already know how you want the values divided.
8478
+ *
8479
+ * @example
8480
+ * ```typescript
8481
+ * // The whole raster's elevation distribution in ten equal intervals
8482
+ * const elevation = await felt.getRasterHistogramData({
8483
+ * layerId: layer.id,
8484
+ * bandId,
8485
+ * steps: { type: "equal-intervals", count: 10 },
8486
+ * });
8487
+ *
8488
+ * // The same bins, counting only the pixels inside a watershed
8489
+ * const inWatershed = await felt.getRasterHistogramData({
8490
+ * layerId: layer.id,
8491
+ * bandId,
8492
+ * steps: [0, 500, 1000, 1500, 2000, 3000],
8493
+ * boundary: watershed,
8494
+ * });
8495
+ * ```
8496
+ */
8497
+ getRasterHistogramData(params: GetRasterHistogramParams): Promise<GetRasterHistogramResult>;
8498
+ /**
8499
+ * Counts the pixels holding each distinct value of a raster band.
8500
+ *
8501
+ * @remarks
8502
+ * This suits a band whose values are class codes, such as a land cover raster.
8503
+ * Each category reports how many pixels hold the value and how much ground they
8504
+ * cover. A band whose values are not whole numbers cannot be counted this way,
8505
+ * and throws.
8506
+ *
8507
+ * @example
8508
+ * ```typescript
8509
+ * // How much of a county each land cover class covers
8510
+ * const landCover = await felt.getRasterCategoryData({
8511
+ * layerId: layer.id,
8512
+ * bandId,
8513
+ * boundary: county,
8514
+ * limit: 10,
8515
+ * });
8516
+ * ```
8517
+ */
8518
+ getRasterCategoryData(params: GetRasterCategoriesParams): Promise<GetRasterCategoriesResult>;
8519
+ /**
8520
+ * Samples a raster band's values along a line.
8521
+ *
8522
+ * @remarks
8523
+ * Returns the values themselves rather than a summary of them, each paired with
8524
+ * how far along the line it was taken. This is what an elevation profile along a
8525
+ * route is drawn from.
8526
+ *
8527
+ * @example
8528
+ * ```typescript
8529
+ * const profile = await felt.getRasterProfile({
8530
+ * layerId: layer.id,
8531
+ * bandId,
8532
+ * boundary: route,
8533
+ * });
8534
+ * ```
8535
+ */
8536
+ getRasterProfile(params: GetRasterProfileParams): Promise<GetRasterProfileResult>;
7902
8537
  /**
7903
8538
  * Get the schema for a layer.
7904
8539
  *
@@ -13848,20 +14483,46 @@ declare const UiControlsOptionsSchema: z.ZodObject<{
13848
14483
  * @defaultValue true
13849
14484
  */
13850
14485
  scaleBar: z.ZodOptional<z.ZodBoolean>;
14486
+ /**
14487
+ * Whether or not the map can be rotated.
14488
+ *
14489
+ * @remarks
14490
+ * This affects all rotation interactions — dragging with the right mouse
14491
+ * button or Ctrl held, two-finger touch rotation, and keyboard shortcuts —
14492
+ * as well as the compass control, which is hidden when rotation is
14493
+ * disabled.
14494
+ *
14495
+ * @defaultValue true
14496
+ */
14497
+ rotation: z.ZodOptional<z.ZodBoolean>;
14498
+ /**
14499
+ * Whether or not the right-click context menu is available on the map.
14500
+ *
14501
+ * @remarks
14502
+ * When disabled, right-clicking the map opens neither Felt's context menu
14503
+ * nor the browser's own.
14504
+ *
14505
+ * @defaultValue true
14506
+ */
14507
+ contextMenu: z.ZodOptional<z.ZodBoolean>;
13851
14508
  }, "strip", z.ZodTypeAny, {
14509
+ rotation?: boolean | undefined;
13852
14510
  showLegend?: boolean | undefined;
13853
14511
  cooperativeGestures?: boolean | undefined;
13854
14512
  fullScreenButton?: boolean | undefined;
13855
14513
  geolocation?: boolean | undefined;
13856
14514
  zoomControls?: boolean | undefined;
13857
14515
  scaleBar?: boolean | undefined;
14516
+ contextMenu?: boolean | undefined;
13858
14517
  }, {
14518
+ rotation?: boolean | undefined;
13859
14519
  showLegend?: boolean | undefined;
13860
14520
  cooperativeGestures?: boolean | undefined;
13861
14521
  fullScreenButton?: boolean | undefined;
13862
14522
  geolocation?: boolean | undefined;
13863
14523
  zoomControls?: boolean | undefined;
13864
14524
  scaleBar?: boolean | undefined;
14525
+ contextMenu?: boolean | undefined;
13865
14526
  }>;
13866
14527
  /**
13867
14528
  * The options for which parts of the Felt UI can be shown when interacting with
@@ -14698,4 +15359,4 @@ interface FeltController extends ViewportController, UiController, LayersControl
14698
15359
  iframe: HTMLIFrameElement | null;
14699
15360
  }
14700
15361
 
14701
- export { type GeoJsonDataVectorSource as $, type PlaceElementRead as A, type BasemapsController as B, type ColorBasemap as C, type PlaceElementUpdate as D, type Element as E, type FeltController as F, type GetElementGroupsConstraint as G, type HighlighterElementCreate as H, type ImageElementCreate as I, type PolygonElementCreate as J, type PolygonElementRead as K, type LinkElementRead as L, type MarkerElementCreate as M, type NoteElementCreate as N, type PolygonElementUpdate as O, type PathElementCreate as P, type TextElementRead as Q, type TextElementUpdate as R, type ElementsController as S, type TextElementCreate as T, type UiControlsOptions as U, type ViewportCenterZoom as V, type MapInteractionEvent as W, type InteractionsController as X, type CreateLayersFromGeoJsonParams as Y, type DataOnlyLayer as Z, type FeltTiledVectorSource as _, type Basemap as a, type SelectionController as a$, type GeoJsonFileVectorSource as a0, type GeoJsonUrlVectorSource as a1, type GetLayerGroupsConstraint as a2, type GetLayersConstraint as a3, type GetRenderedFeaturesConstraint as a4, type Layer as a5, type LayerChangeCallbackParams as a6, type LayerCommon as a7, type LayerGroup as a8, type LayerGroupChangeCallbackParams as a9, type LayerBoundaries as aA, type LayerFilters as aB, type AggregatedGridConfig as aC, type AggregationConfig as aD, type AggregationMethod as aE, type CountGridConfig as aF, type GetLayerCalculationParams as aG, type GetLayerCategoriesGroup as aH, type GetLayerCategoriesParams as aI, type GetLayerHistogramBin as aJ, type GetLayerHistogramParams as aK, type GetLayerPrecomputedCalculationParams as aL, type GridConfig as aM, type GridType as aN, type MultiAggregationConfig as aO, type PrecomputedAggregationMethod as aP, type ValueConfiguration as aQ, type LayersController as aR, type MapDetails as aS, type MiscController as aT, type ElementGroupNode as aU, type ElementNode as aV, type EntityNode as aW, type FeatureNode as aX, type FeatureSelection as aY, type LayerGroupNode as aZ, type LayerNode as a_, type LayerProcessingStatus as aa, type LegendDisplay as ab, type LegendItem as ac, type LegendItemChangeCallbackParams as ad, type LegendItemIdentifier as ae, type LegendItemsConstraint as af, type RasterBand as ag, type RasterLayer as ah, type RasterLayerSource as ai, type UpdateLayerParams as aj, type VectorLayer as ak, type LayerFeature as al, type RasterValue as am, type LayerSchema as an, type LayerSchemaAttribute as ao, type LayerSchemaBooleanAttribute as ap, type LayerSchemaCommonAttribute as aq, type LayerSchemaDateAttribute as ar, type LayerSchemaDateTimeAttribute as as, type LayerSchemaNumericAttribute as at, type LayerSchemaTextAttribute as au, type FilterExpression as av, type FilterLogicGate as aw, type FilterTernary as ax, type Filters as ay, type GeometryFilter as az, type ColorBasemapInput as b, type UIPanelElement as b$, type FeltBoundary as b0, type FeltZoom as b1, type GeoJsonFeature as b2, type GeoJsonGeometry as b3, type GeoJsonProperties as b4, type LatLng as b5, type LineStringGeometry as b6, type LngLatTuple as b7, type MultiLineStringGeometry as b8, type MultiPointGeometry as b9, type CreatePanelElementsParams as bA, type DeletePanelElementsParams as bB, type UiOnMapInteractionsOptions as bC, type UpdateActionTriggerParams as bD, type UpdateFeatureActionParams as bE, type UpdatePanelElementsParams as bF, type PlacementForUIElement as bG, type UIPanel as bH, type UIPanelCreateOrUpdate as bI, type UIButtonElement as bJ, type UIButtonElementCreate as bK, type UIButtonElementUpdate as bL, type UITextElement as bM, type UITextElementCreate as bN, type UITextElementUpdate as bO, type UIFlexibleSpaceElement as bP, type UIFlexibleSpaceElementCreate as bQ, type UIFlexibleSpaceElementUpdate as bR, type UIDividerElement as bS, type UIDividerElementCreate as bT, type UIDividerElementUpdate as bU, type UITextInputElement as bV, type UITextInputElementCreate as bW, type UITextInputElementUpdate as bX, type UISelectElement as bY, type UISelectElementCreate as bZ, type UISelectElementUpdate as b_, type MultiPolygonGeometry as ba, type PointGeometry as bb, type PolygonGeometry as bc, type SetVisibilityRequest as bd, type SortConfig as be, type SortDirection as bf, type CircleToolSettings as bg, type ConfigurableToolType as bh, type HighlighterToolSettings as bi, type InputToolSettings as bj, type LineToolSettings as bk, type MarkerToolSettings as bl, type NoteToolSettings as bm, type PinToolSettings as bn, type PlaceFrame as bo, type PlaceSymbol as bp, type PolygonToolSettings as bq, type RouteToolSettings as br, type TextToolSettings as bs, type ToolSettingsChangeEvent as bt, type ToolSettingsMap as bu, type ToolType as bv, type ToolsController as bw, type CreateActionTriggerParams as bx, type CreateFeatureActionParams as by, type CreateOrUpdatePanelParams as bz, type CustomTileBasemap as c, type UIPanelElementCreate as c0, type UIPanelElementUpdate as c1, type UIGridContainerElement as c2, type UIGridContainerElementCreate as c3, type UIGridContainerElementUpdate as c4, type UIButtonRowElement as c5, type UIButtonRowElementCreate as c6, type UIButtonRowElementUpdate as c7, type UICheckboxGroupElement as c8, type UICheckboxGroupElementCreate as c9, type MakeClonableSchema as cA, type UIButtonRowElementCreateClonable as cB, type PromiseOrNot as cC, type UnionToIntersection as cD, type UICheckboxGroupElementUpdate as ca, type UIRadioGroupElement as cb, type UIRadioGroupElementCreate as cc, type UIRadioGroupElementUpdate as cd, type UIToggleGroupElement as ce, type UIToggleGroupElementCreate as cf, type UIToggleGroupElementUpdate as cg, type UIIframeElement as ch, type UIIframeElementCreate as ci, type UIIframeElementUpdate as cj, type UIControlElementOption as ck, type UIActionTriggerCreate as cl, type UIFeatureAction as cm, type UIFeatureActionCreate as cn, type UiController as co, type SetViewportCenterZoomParams as cp, type ViewportConstraints as cq, type ViewportFitBoundsParams as cr, type ViewportState as cs, type ViewportController as ct, type UnwrapPromise as cu, uiActionTriggerSchema as cv, uiFeatureActionSchema as cw, type UIPanelElementCreateClonable as cx, uiPanelCreateSchema as cy, type UIButtonElementCreateClonable as cz, type CustomTileBasemapInput as d, type FeltBasemap as e, type CircleElementCreate as f, type CircleElementRead as g, type CircleElementUpdate as h, type ElementChangeCallbackParams as i, type ElementCreate as j, type ElementGroup as k, type ElementGroupChangeCallbackParams as l, type ElementUpdate as m, type GetElementsConstraint as n, type HighlighterElementRead as o, type HighlighterElementUpdate as p, type ImageElementRead as q, type ImageElementUpdate as r, type MarkerElementRead as s, type MarkerElementUpdate as t, type NoteElementRead as u, type NoteElementUpdate as v, type PathElementRead as w, type PathElementUpdate as x, type PlaceElementCreate as y, type zInfer as z };
15362
+ export { type GeoJsonDataVectorSource as $, type PlaceElementRead as A, type BasemapsController as B, type ColorBasemap as C, type PlaceElementUpdate as D, type Element as E, type FeltController as F, type GetElementGroupsConstraint as G, type HighlighterElementCreate as H, type ImageElementCreate as I, type PolygonElementCreate as J, type PolygonElementRead as K, type LinkElementRead as L, type MarkerElementCreate as M, type NoteElementCreate as N, type PolygonElementUpdate as O, type PathElementCreate as P, type TextElementRead as Q, type TextElementUpdate as R, type ElementsController as S, type TextElementCreate as T, type UiControlsOptions as U, type ViewportCenterZoom as V, type MapInteractionEvent as W, type InteractionsController as X, type CreateLayersFromGeoJsonParams as Y, type DataOnlyLayer as Z, type FeltTiledVectorSource as _, type Basemap as a, type RasterHistogramBin as a$, type GeoJsonFileVectorSource as a0, type GeoJsonUrlVectorSource as a1, type GetLayerGroupsConstraint as a2, type GetLayersConstraint as a3, type GetRenderedFeaturesConstraint as a4, type Layer as a5, type LayerChangeCallbackParams as a6, type LayerCommon as a7, type LayerGroup as a8, type LayerGroupChangeCallbackParams as a9, type LayerBoundaries as aA, type LayerFilters as aB, type AggregatedGridConfig as aC, type AggregationConfig as aD, type AggregationMethod as aE, type CountGridConfig as aF, type GetLayerCalculationParams as aG, type GetLayerCategoriesGroup as aH, type GetLayerCategoriesParams as aI, type GetLayerHistogramBin as aJ, type GetLayerHistogramParams as aK, type GetLayerPrecomputedCalculationParams as aL, type GridConfig as aM, type GridType as aN, type MultiAggregationConfig as aO, type PrecomputedAggregationMethod as aP, type ValueConfiguration as aQ, type GetRasterAggregatesParams as aR, type GetRasterAggregatesResult as aS, type GetRasterCategoriesParams as aT, type GetRasterCategoriesResult as aU, type GetRasterHistogramParams as aV, type GetRasterHistogramResult as aW, type GetRasterProfileParams as aX, type GetRasterProfileResult as aY, type RasterAggregationMethod as aZ, type RasterCategory as a_, type LayerProcessingStatus as aa, type LegendDisplay as ab, type LegendItem as ac, type LegendItemChangeCallbackParams as ad, type LegendItemIdentifier as ae, type LegendItemsConstraint as af, type RasterBand as ag, type RasterLayer as ah, type RasterLayerSource as ai, type UpdateLayerParams as aj, type VectorLayer as ak, type LayerFeature as al, type RasterValue as am, type LayerSchema as an, type LayerSchemaAttribute as ao, type LayerSchemaBooleanAttribute as ap, type LayerSchemaCommonAttribute as aq, type LayerSchemaDateAttribute as ar, type LayerSchemaDateTimeAttribute as as, type LayerSchemaNumericAttribute as at, type LayerSchemaTextAttribute as au, type FilterExpression as av, type FilterLogicGate as aw, type FilterTernary as ax, type Filters as ay, type GeometryFilter as az, type ColorBasemapInput as b, type UITextElementUpdate as b$, type RasterPercentile as b0, type RasterProfileSample as b1, type LayersController as b2, type MapDetails as b3, type MiscController as b4, type ElementGroupNode as b5, type ElementNode as b6, type EntityNode as b7, type FeatureNode as b8, type FeatureSelection as b9, type PinToolSettings as bA, type PlaceFrame as bB, type PlaceSymbol as bC, type PolygonToolSettings as bD, type RouteToolSettings as bE, type TextToolSettings as bF, type ToolSettingsChangeEvent as bG, type ToolSettingsMap as bH, type ToolType as bI, type ToolsController as bJ, type CreateActionTriggerParams as bK, type CreateFeatureActionParams as bL, type CreateOrUpdatePanelParams as bM, type CreatePanelElementsParams as bN, type DeletePanelElementsParams as bO, type UiOnMapInteractionsOptions as bP, type UpdateActionTriggerParams as bQ, type UpdateFeatureActionParams as bR, type UpdatePanelElementsParams as bS, type PlacementForUIElement as bT, type UIPanel as bU, type UIPanelCreateOrUpdate as bV, type UIButtonElement as bW, type UIButtonElementCreate as bX, type UIButtonElementUpdate as bY, type UITextElement as bZ, type UITextElementCreate as b_, type LayerGroupNode as ba, type LayerNode as bb, type SelectionController as bc, type FeltBoundary as bd, type FeltZoom as be, type GeoJsonFeature as bf, type GeoJsonGeometry as bg, type GeoJsonProperties as bh, type LatLng as bi, type LineStringGeometry as bj, type LngLatTuple as bk, type MultiLineStringGeometry as bl, type MultiPointGeometry as bm, type MultiPolygonGeometry as bn, type PointGeometry as bo, type PolygonGeometry as bp, type SetVisibilityRequest as bq, type SortConfig as br, type SortDirection as bs, type CircleToolSettings as bt, type ConfigurableToolType as bu, type HighlighterToolSettings as bv, type InputToolSettings as bw, type LineToolSettings as bx, type MarkerToolSettings as by, type NoteToolSettings as bz, type CustomTileBasemap as c, type UIFlexibleSpaceElement as c0, type UIFlexibleSpaceElementCreate as c1, type UIFlexibleSpaceElementUpdate as c2, type UIDividerElement as c3, type UIDividerElementCreate as c4, type UIDividerElementUpdate as c5, type UITextInputElement as c6, type UITextInputElementCreate as c7, type UITextInputElementUpdate as c8, type UISelectElement as c9, type UIFeatureActionCreate as cA, type UiController as cB, type SetViewportCenterZoomParams as cC, type ViewportConstraints as cD, type ViewportFitBoundsParams as cE, type ViewportState as cF, type ViewportController as cG, type UnwrapPromise as cH, uiActionTriggerSchema as cI, uiFeatureActionSchema as cJ, type UIPanelElementCreateClonable as cK, uiPanelCreateSchema as cL, type UIButtonElementCreateClonable as cM, type MakeClonableSchema as cN, type UIButtonRowElementCreateClonable as cO, type PromiseOrNot as cP, type UnionToIntersection as cQ, type UISelectElementCreate as ca, type UISelectElementUpdate as cb, type UIPanelElement as cc, type UIPanelElementCreate as cd, type UIPanelElementUpdate as ce, type UIGridContainerElement as cf, type UIGridContainerElementCreate as cg, type UIGridContainerElementUpdate as ch, type UIButtonRowElement as ci, type UIButtonRowElementCreate as cj, type UIButtonRowElementUpdate as ck, type UICheckboxGroupElement as cl, type UICheckboxGroupElementCreate as cm, type UICheckboxGroupElementUpdate as cn, type UIRadioGroupElement as co, type UIRadioGroupElementCreate as cp, type UIRadioGroupElementUpdate as cq, type UIToggleGroupElement as cr, type UIToggleGroupElementCreate as cs, type UIToggleGroupElementUpdate as ct, type UIIframeElement as cu, type UIIframeElementCreate as cv, type UIIframeElementUpdate as cw, type UIControlElementOption as cx, type UIActionTriggerCreate as cy, type UIFeatureAction as cz, type CustomTileBasemapInput as d, type FeltBasemap as e, type CircleElementCreate as f, type CircleElementRead as g, type CircleElementUpdate as h, type ElementChangeCallbackParams as i, type ElementCreate as j, type ElementGroup as k, type ElementGroupChangeCallbackParams as l, type ElementUpdate as m, type GetElementsConstraint as n, type HighlighterElementRead as o, type HighlighterElementUpdate as p, type ImageElementRead as q, type ImageElementUpdate as r, type MarkerElementRead as s, type MarkerElementUpdate as t, type NoteElementRead as u, type NoteElementUpdate as v, type PathElementRead as w, type PathElementUpdate as x, type PlaceElementCreate as y, type zInfer as z };