expo-arcgis 0.3.0 → 0.3.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.
@@ -348,9 +348,12 @@ private fun buildSymbol(s: Map<*, *>): Symbol? = when (s["type"]) {
348
348
  num(s["depth"], 100.0),
349
349
  sceneSymbolAnchor(s["anchor"]),
350
350
  )
351
- "model-scene" -> (s["url"] as? String)?.let { uri ->
352
- // ModelSceneSymbol(uri, scale) — 3D glTF/model marker. Set heading/pitch/roll (Float)
353
- // and symbolSizeUnits after construction; the symbol is Loadable.
351
+ "model-scene" -> (s["url"] as? String)?.let { rawUri ->
352
+ // ModelSceneSymbol(uri, scale) — 3D glTF/model marker. ArcGIS on Android resolves a LOCAL model
353
+ // by filesystem path, so an expo `file://` URI must be unwrapped (iOS `URL(string:)` accepts the
354
+ // scheme, Android silently fails to load it). Set heading/pitch/roll (Float) + symbolSizeUnits;
355
+ // the symbol is Loadable.
356
+ val uri = if (rawUri.startsWith("file://")) android.net.Uri.parse(rawUri).path ?: rawUri else rawUri
354
357
  val scale = (s["scale"] as? Number)?.toFloat() ?: 1f
355
358
  ModelSceneSymbol(uri, scale).apply {
356
359
  symbolSizeUnits = if (s["sizeUnits"] == "meters") SymbolSizeUnits.Meters else SymbolSizeUnits.Dips
@@ -1091,15 +1091,22 @@ export type KmlNodeInfo = {
1091
1091
  /** Child nodes, present for container nodes (documents / folders). */
1092
1092
  children?: KmlNodeInfo[];
1093
1093
  };
1094
- /** Imperative handle exposed by `<KmlLayer>` via `ref`. */
1094
+ /**
1095
+ * Imperative handle exposed by `<KmlLayer>` via `ref`.
1096
+ *
1097
+ * **Tour playback (`playTour` / `pauseTour` / `resetTour`) is iOS-only.** On Android the tour
1098
+ * controller cannot drive the camera of the view-based scene view (an ArcGIS Maps SDK limitation —
1099
+ * automatic tour playback exists only on the Compose `SceneView`, and the controller exposes no
1100
+ * camera/viewpoint to drive it manually). The methods are present on Android but no-op visually.
1101
+ */
1095
1102
  export type KmlLayerHandle = {
1096
1103
  /** Loads the KML and returns its node tree (recursing into container nodes). */
1097
1104
  getNodes(): Promise<KmlNodeInfo[]>;
1098
- /** Starts or resumes playback of the first KML tour found in the layer. No-ops if no tour exists. */
1105
+ /** Starts or resumes playback of the first KML tour found in the layer. No-ops if no tour exists. iOS only (see above). */
1099
1106
  playTour(): void;
1100
- /** Pauses playback of the first KML tour found in the layer. No-ops if no tour exists. */
1107
+ /** Pauses playback of the first KML tour found in the layer. No-ops if no tour exists. iOS only (see above). */
1101
1108
  pauseTour(): void;
1102
- /** Resets playback of the first KML tour found in the layer to the beginning. No-ops if no tour exists. */
1109
+ /** Resets playback of the first KML tour found in the layer to the beginning. No-ops if no tour exists. iOS only (see above). */
1103
1110
  resetTour(): void;
1104
1111
  };
1105
1112
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoArcgis.types.d.ts","sourceRoot":"","sources":["../src/ExpoArcgis.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExpoArcgis.types.d.ts","sourceRoot":"","sources":["../src/ExpoArcgis.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExpoArcgis.types.js","sourceRoot":"","sources":["../src/ExpoArcgis.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { StyleProp, ViewStyle } from 'react-native';\n\nimport type { GraphicRef, JobRef } from './ExpoArcgisModule';\n\n/**\n * Esri basemap styles available out of the box. These map to the native\n * `BasemapStyle` (Kotlin) / `Basemap.Style` (Swift).\n * @see https://developers.arcgis.com/rest/basemap-styles/\n */\nexport type BasemapStyle =\n | 'arcGISImagery'\n | 'arcGISImageryStandard'\n | 'arcGISTopographic'\n | 'arcGISStreets'\n | 'arcGISStreetsNight'\n | 'arcGISNavigation'\n | 'arcGISNavigationNight'\n | 'arcGISTerrain'\n | 'arcGISLightGray'\n | 'arcGISDarkGray'\n | 'arcGISOceans';\n\n/** A center point and map scale used to position the map. */\nexport type Viewpoint = {\n latitude: number;\n longitude: number;\n /** Map scale denominator. Smaller = more zoomed in (~72_000 ≈ town, ~10_000_000 ≈ country). */\n scale: number;\n};\n\n/** Reference to an ArcGIS web map / web scene stored as a portal item. */\nexport type PortalItem = {\n /** The portal item id (e.g. a web map's item id). */\n itemId: string;\n /** Portal URL. Defaults to `https://www.arcgis.com` (ArcGIS Online, anonymous). */\n portalUrl?: string;\n};\n\n/**\n * Props for the `<Map>` model component — mirror the configurable properties of the\n * native `ArcGISMap`. Reconciled into the underlying SharedObject via `applyProps`.\n */\nexport type MapProps = {\n /** Basemap style. Defaults to `arcGISTopographic`. Ignored when `portalItem` is set. */\n basemap?: BasemapStyle;\n /**\n * Language for basemap place-name labels. Only applies when `basemap` is a built-in style string.\n * Special values: `\"global\"` — English worldwide; `\"local\"` — local place names;\n * `\"default\"` — SDK default; `\"applicationLocale\"` — device locale.\n * Any other value is treated as a BCP-47 language tag (e.g. `\"fr\"`, `\"ar\"`, `\"zh-Hans\"`).\n * Corresponds to `BasemapStyleParameters.language` on both platforms.\n */\n basemapLanguage?: string;\n /**\n * Worldview code for disputed-boundary rendering. Only applies when `basemap` is a built-in style.\n * Known codes: `\"CN\"`, `\"IN\"`, `\"IL\"`, `\"JP\"`, `\"MA\"`, `\"PK\"`, `\"KR\"`, `\"AE\"`, `\"US\"`, `\"VN\"`.\n * Corresponds to `BasemapStyleParameters.worldview` on both platforms.\n */\n basemapWorldview?: string;\n /**\n * The scale at which feature symbols and text are drawn at their authored size. Features scale\n * relative to this value as the user zooms in and out. Set to `0` (or omit) to disable reference\n * scaling. Maps to `referenceScale` on both platforms.\n */\n referenceScale?: number;\n /**\n * Constrains panning to this envelope — the user cannot scroll the map outside this extent.\n * Must be an `envelope` geometry. Omit (or pass `undefined`) to remove the constraint.\n * Maps to `maxExtent` on both platforms.\n */\n maxExtent?: Geometry;\n /** Center + scale applied when the map first loads. */\n initialViewpoint?: Viewpoint;\n /** Load the map from an ArcGIS web map. Construction-only (set once; remount to change). */\n portalItem?: PortalItem;\n /**\n * Display an offline map from a mobile map package (`.mmpk`) at this local path — e.g. the\n * directory returned by `offline.generateOfflineMap`. The package loads asynchronously and the\n * map appears once ready.\n */\n mobileMapPackagePath?: string;\n /**\n * Named saved viewpoints stored on the map. Replaces the map's bookmark list each time the prop\n * changes. Each entry creates a native `Bookmark(name, Viewpoint(latitude, longitude, scale))`.\n * Navigation to a bookmark is done separately via the `<MapView viewpoint>` prop.\n */\n bookmarks?: { name: string; viewpoint: { latitude: number; longitude: number; scale: number } }[];\n};\n\nexport type MapLoadedEventPayload = {\n /** WKID of the loaded map's spatial reference, or null if unavailable. */\n spatialReferenceWkid: number | null;\n};\n\nexport type MapLoadErrorEventPayload = {\n /** Human-readable description of why the map failed to load. */\n message: string;\n};\n\n/** Auto-pan behavior for the device location display. */\nexport type LocationDisplayAutoPanMode = 'off' | 'recenter' | 'navigation' | 'compassNavigation';\n\n/** Device-location display for a `<MapView>`. Providing it enables location (starts the GPS). */\nexport type LocationDisplay = {\n /** How the view follows the device. Defaults to `recenter`. */\n autoPanMode?: LocationDisplayAutoPanMode;\n /** Whether to draw the location symbol. Defaults to `true`. */\n showLocation?: boolean;\n /** How far the location can wander before the view re-pans, as a factor of the symbol size. */\n wanderExtentFactor?: number;\n /**\n * The location data source. `'system'` (device GPS, the default) or a simulated source that\n * drives the location along a `route` polyline — handy for testing without real movement.\n */\n source?: 'system' | { type: 'simulated'; route: Geometry; speed?: number };\n};\n\n/** Payload for the `<MapView onLocationChange>` event — one device-location fix. */\nexport type LocationEventPayload = {\n /** Location in geographic coordinates (WGS84). `z` is altitude in meters when available. */\n position: { latitude: number; longitude: number; z?: number };\n /** Horizontal accuracy radius, in meters. */\n horizontalAccuracy: number;\n /** Vertical accuracy, in meters. */\n verticalAccuracy: number;\n /** Direction of travel, in degrees clockwise from north. */\n course: number;\n /** Speed, in meters per second. */\n speed: number;\n /** Fix time, as epoch milliseconds. */\n timestamp: number;\n};\n\n/** Props for the `<MapView>` host component. */\nexport type MapViewProps = {\n style?: StyleProp<ViewStyle>;\n /** Animates the view to this viewpoint whenever the value changes (runtime camera control). */\n viewpoint?: Viewpoint;\n /** Device-location display. When set, the view shows the device's GPS location. */\n locationDisplay?: LocationDisplay;\n /**\n * Filters time-aware layers to this time window. Both values are epoch milliseconds (UTC).\n * Pass `null` / omit to show all time steps (no filter). Maps to `GeoView.timeExtent` /\n * `MapView(timeExtent:)` on both platforms.\n */\n timeExtent?: { startTime: number; endTime: number } | null;\n /** Called once the map has finished loading successfully. */\n onMapLoaded?: (event: { nativeEvent: MapLoadedEventPayload }) => void;\n /** Called if the map fails to load (e.g. missing or invalid API key). */\n onMapLoadError?: (event: { nativeEvent: MapLoadErrorEventPayload }) => void;\n /** Called when the user taps the map. */\n onTap?: (event: { nativeEvent: TapEventPayload }) => void;\n /** Called on each device-location update (requires `locationDisplay`). */\n onLocationChange?: (event: { nativeEvent: LocationEventPayload }) => void;\n /** Coordinate-grid overlay (MGRS / UTM / USNG / latitude-longitude). `null` / omitted = none. */\n grid?: GridConfig | null;\n};\n\n/** A coordinate-grid overlay for a `<MapView>` / `<SceneView>`. */\nexport type GridConfig = {\n /** Grid type: military grid (MGRS), UTM, US National Grid, or latitude-longitude. */\n type: 'mgrs' | 'utm' | 'usng' | 'latitude-longitude';\n /** Whether the grid is drawn. Defaults to `true`. */\n visible?: boolean;\n};\n\n/** Common operational-layer props (subset of ArcGIS layer properties). */\nexport type LayerProps = {\n /** Layer opacity, 0–1. */\n opacity?: number;\n /** Whether the layer is visible. */\n visible?: boolean;\n /**\n * The map scale denominator at which the layer becomes hidden when zooming out (larger number =\n * more zoomed out). A value of `0` means no minimum-scale limit. Example: `2_000_000` hides the\n * layer when the map shows a country-level view.\n */\n minScale?: number;\n /**\n * The map scale denominator at which the layer becomes hidden when zooming in (smaller number =\n * more zoomed in). A value of `0` means no maximum-scale limit. Example: `5_000` hides the layer\n * at street-level zoom.\n */\n maxScale?: number;\n};\n\n/** Source for a `<FeatureLayer>`'s feature table — a feature service or a local shapefile. */\nexport type FeatureTableSource =\n | { type: 'service'; url: string }\n | { type: 'shapefile'; path: string };\n\n/**\n * Styles a `<FeatureLayer>` with a `DictionarySymbolStyle` (military / emergency symbology).\n *\n * Provide either `styleName` (a web-style name hosted on ArcGIS Online, e.g. `\"mil2525d\"`) or\n * `portalItemUrl` (a direct URL whose `id=` query parameter is used as the portal item id).\n * At least one must be set; `portalItemUrl` takes precedence when both are provided.\n *\n * The style is loaded asynchronously via the SDK's `Loadable` mechanism. The layer's renderer is\n * updated once the load completes. If the load fails the renderer is left unchanged and an error\n * is printed to the native log.\n *\n * @example\n * ```tsx\n * // web style by name — resolves against ArcGIS Online (anonymous)\n * <FeatureLayer url={...} dictionaryRenderer={{ styleName: 'mil2525d' }} />\n *\n * // explicit portal item URL (item id extracted automatically)\n * <FeatureLayer url={...} dictionaryRenderer={{ portalItemUrl: 'https://www.arcgis.com/home/item.html?id=c78b149a1d52414682c86a5feeb13d30' }} />\n * ```\n */\nexport type DictionaryRendererProp = {\n /**\n * Web-style name (e.g. `\"mil2525d\"`, `\"mil2525c\"`, `\"app6b\"`).\n * Resolved against ArcGIS Online (`https://www.arcgis.com`) as an anonymous portal item.\n * `portalItemUrl` takes precedence when both are set.\n */\n styleName?: string;\n /**\n * Full URL to a portal item hosting the dictionary symbol style.\n * The item id is extracted from the `id=` query-string parameter, e.g.:\n * `https://www.arcgis.com/home/item.html?id=c78b149a1d52414682c86a5feeb13d30`\n * Takes precedence over `styleName` when both are provided.\n */\n portalItemUrl?: string;\n};\n\n/**\n * Props for a `<FeatureLayer>` — mirror the native `FeatureLayer`. Provide either `url`\n * (feature-service shorthand) or an explicit `source`.\n */\nexport type FeatureLayerProps = LayerProps & {\n /** Feature service URL — shorthand for `source: { type: 'service', url }`. */\n url?: string;\n /** Explicit feature-table source (service or local shapefile). */\n source?: FeatureTableSource;\n /**\n * Display a pre-built layer handle instead of constructing one from `url` / `source` — e.g. a\n * table from `ServiceGeodatabaseHandle.getFeatureLayer` (branch versioning) or\n * `GeodatabaseHandle.getFeatureLayer` (local geodatabase transactions). When set, `url` / `source`\n * are ignored; other props (`renderer`, `visible`, …) still apply.\n */\n layer?: FeatureLayerHandle;\n /** Overrides the layer's symbology (simple / unique-value / class-breaks). */\n renderer?: Renderer;\n /**\n * Styles the layer with a `DictionarySymbolStyle` for military / emergency symbology\n * (MIL-STD-2525, APP-6, etc.). Loaded asynchronously; the renderer updates once ready.\n * Mutually exclusive with `renderer` — set one or the other.\n */\n dictionaryRenderer?: DictionaryRendererProp;\n /** Whether the layer's labels are drawn. */\n labelsEnabled?: boolean;\n /** Label rules applied to the layer's features. */\n labels?: LabelDefinition[];\n /** Aggregates dense features into clusters (feature reduction). */\n featureReduction?: FeatureReduction;\n /**\n * Hides features not matching a where-clause on the client — no server round-trip.\n * Set to `null` or omit to clear the filter and show all features.\n */\n displayFilter?: { whereClause: string; name?: string } | null;\n /**\n * Activates different where-clause filters at different map scales — client-side, no server\n * round-trip. Each entry covers a `[minScale, maxScale]` range; `0` means unbounded.\n * Maps to `ScaleDisplayFilterDefinition` on both platforms.\n * Set to `null` or omit to show all features.\n *\n * @example\n * ```tsx\n * scaleDisplayFilter={[\n * { minScale: 0, maxScale: 100000, whereClause: \"TYPE = 'major'\" }, // zoomed out\n * { minScale: 100000, maxScale: 0, whereClause: \"1=1\" }, // zoomed in\n * ]}\n * ```\n */\n scaleDisplayFilter?: { minScale?: number; maxScale?: number; whereClause: string }[] | null;\n /**\n * How often (in seconds) the layer automatically re-fetches its features from the service.\n * `0` or omitted disables auto-refresh. Maps to `refreshInterval` (milliseconds) on Android\n * and `refreshInterval: TimeInterval?` (seconds) on iOS.\n */\n refreshInterval?: number;\n};\n\n/** One field in a `<FeatureCollectionLayer>` schema. */\nexport type FeatureCollectionField = {\n /** Field name (used as the attribute key). */\n name: string;\n /** Field data type. */\n type: 'text' | 'int16' | 'integer' | 'long' | 'double' | 'date';\n /** Display alias (defaults to `name`). */\n alias?: string;\n /** Maximum length for `text` fields (default 255). */\n length?: number;\n};\n\n/** One in-memory feature for a `<FeatureCollectionLayer>`. */\nexport type FeatureCollectionFeatureSpec = {\n /** Attribute values keyed by field name. */\n attributes?: Record<string, unknown>;\n /** The feature's geometry. */\n geometry?: Geometry;\n};\n\n/**\n * Props for `<FeatureCollectionLayer>` — an in-memory layer built from a client-side schema and\n * features (no feature service). `fields` and `features` are read once at construction; `opacity`,\n * `visible` and `renderer` update reactively.\n */\nexport type FeatureCollectionLayerProps = LayerProps & {\n /** The collection's field schema. */\n fields: FeatureCollectionField[];\n /** The features (attributes + geometry) to display. */\n features: FeatureCollectionFeatureSpec[];\n /** Optional renderer to symbolize the features. */\n renderer?: Renderer;\n};\n\n/** Clustering feature reduction — aggregates nearby features into a single symbol. */\nexport type ClusterReduction = {\n type: 'cluster';\n /** Renderer for the cluster symbols (e.g. graduated by count). Defaults to a blue circle. */\n renderer?: Renderer;\n /** Cluster cell radius in points. */\n radius?: number;\n /** Smallest cluster symbol size in points. */\n minSymbolSize?: number;\n /** Largest cluster symbol size in points. */\n maxSymbolSize?: number;\n /** Whether reduction is active. Defaults to `true`. */\n enabled?: boolean;\n};\n\n/** Feature reduction applied to a `<FeatureLayer>`. Mirrors the native `FeatureReduction`. */\nexport type FeatureReduction = ClusterReduction;\n\n// ────────────────────────────────────────────────────────────────────────────\n// Query — imperative attribute / spatial queries against a `<FeatureLayer>`.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Spatial relationship between the query `geometry` and a feature's geometry. */\nexport type SpatialRelationship =\n | 'intersects'\n | 'contains'\n | 'crosses'\n | 'disjoint'\n | 'envelopeIntersects'\n | 'equals'\n | 'overlaps'\n | 'touches'\n | 'within'\n | 'relate';\n\n/** A sort clause for a query (`ascending` defaults to `true`). */\nexport type OrderByField = { field: string; ascending?: boolean };\n\n/** Criteria for a feature query. Mirrors the native `QueryParameters`. */\nexport type QueryParameters = {\n /** SQL `where` clause (e.g. `POP > 1000000`). */\n whereClause?: string;\n /** Geometry to test against, with `spatialRelationship`. */\n geometry?: Geometry;\n /** Spatial relationship for `geometry`. Defaults to `intersects`. */\n spatialRelationship?: SpatialRelationship;\n /** Maximum number of features to return. */\n maxFeatures?: number;\n /** Whether to include each feature's geometry. Defaults to `true`. */\n returnGeometry?: boolean;\n /** Restrict the query to these object ids. */\n objectIds?: number[];\n /** Sort order of the results (object form with explicit `ascending` flag). */\n orderBy?: OrderByField[];\n /**\n * Sort order of the results as `\"FIELD [ASC|DESC]\"` strings, e.g. `['POP DESC', 'NAME ASC']`.\n * Parsed into native `OrderBy` objects; appended after any `orderBy` entries.\n * Omitting the direction defaults to ascending.\n */\n orderByFields?: string[];\n /** Skip this many results (paging). */\n resultOffset?: number;\n /**\n * Restrict which attribute fields are returned, e.g. `['NAME', 'POP']`.\n * Pass `['*']` or omit to include all fields (the default).\n * Implemented as a post-query client-side filter on both platforms (the native\n * `QueryParameters` does not expose per-field selection for `queryFeatures`).\n */\n outFields?: string[];\n};\n\n/** A feature returned by a query — its attributes plus (optionally) its geometry. */\nexport type Feature = {\n attributes: Record<string, unknown>;\n geometry: Geometry | null;\n};\n\n/** A statistic to compute over a field. Mirrors the native `StatisticType`. */\nexport type StatisticType =\n | 'count'\n | 'sum'\n | 'min'\n | 'max'\n | 'average'\n | 'standardDeviation'\n | 'variance';\n\n/** One computed statistic — a `type` over a `field`, optionally renamed via `outName`. */\nexport type StatisticDefinition = {\n field: string;\n type: StatisticType;\n /** Output column name for the statistic (defaults to a generated name). */\n outName?: string;\n};\n\n/** Criteria for a statistics query. Mirrors the native `StatisticsQueryParameters`. */\nexport type StatisticsQueryParameters = {\n statistics: StatisticDefinition[];\n /** SQL `where` clause limiting which features are aggregated. */\n whereClause?: string;\n /** Fields to group the statistics by (one record per group). */\n groupBy?: string[];\n /** Sort order of the records. */\n orderBy?: OrderByField[];\n};\n\n/** One row of a statistics query — the `group` field values plus the computed `statistics`. */\nexport type StatisticRecord = {\n group: Record<string, unknown>;\n statistics: Record<string, unknown>;\n};\n\n/** One layer's hits from a `<MapView>` `identify` (the features under a screen point). */\nexport type IdentifyResult = {\n /** Name of the layer the features belong to. */\n layerName: string;\n /** Identified features in that layer. */\n features: Feature[];\n};\n\n/** An evaluated popup from `identifyPopups` — a title plus formatted field label/value pairs. */\nexport type PopupResult = {\n /** The popup's (evaluated) title. */\n title: string;\n /** Formatted fields, in the layer's popup-definition order. */\n fields: { label: string; value: string }[];\n};\n\n/** Imperative handle exposed by `<MapView>` via `ref`. */\nexport type MapViewHandle = {\n /**\n * Identifies the features under a screen point (in points, e.g. from `onTap`'s `screenPoint`).\n * Returns one `IdentifyResult` per layer that has hits.\n */\n identify(\n screenPoint: { x: number; y: number },\n options?: { tolerance?: number; maxResults?: number }\n ): Promise<IdentifyResult[]>;\n /**\n * Identifies popups under a screen point and evaluates them — returns each popup's title and its\n * formatted fields. Requires the layers to have popups enabled.\n */\n identifyPopups(\n screenPoint: { x: number; y: number },\n options?: { tolerance?: number; maxResults?: number }\n ): Promise<PopupResult[]>;\n /** Retries loading the map after a failure (e.g. a network outage). Re-fires `onMapLoaded`/`onMapLoadError`. */\n retryLoad(): Promise<void>;\n /** Names of the displayed map's bookmarks (e.g. those saved in a loaded web map). */\n getBookmarkNames(): Promise<string[]>;\n /** Navigates to the named bookmark's viewpoint; resolves to whether a matching bookmark was found. */\n setBookmark(name: string): Promise<boolean>;\n};\n\n/** Imperative handle exposed by `<SceneView>` via `ref`. */\nexport type SceneViewHandle = {\n /** Identifies the features under a screen point (3D; in points, e.g. from `onTap`'s `screenPoint`). */\n identify(\n screenPoint: { x: number; y: number },\n options?: { tolerance?: number; maxResults?: number }\n ): Promise<IdentifyResult[]>;\n /** Identifies and evaluates popups under a screen point (3D); returns each popup's title + fields. */\n identifyPopups(\n screenPoint: { x: number; y: number },\n options?: { tolerance?: number; maxResults?: number }\n ): Promise<PopupResult[]>;\n /** Retries loading the scene after a failure (e.g. a network outage). Re-fires `onSceneLoaded`/`onSceneLoadError`. */\n retryLoad(): Promise<void>;\n /**\n * The terrain elevation (in meters) on the scene's base surface at a geographic point, or `null`\n * if no surface/elevation is available there.\n */\n getElevation(point: Point): Promise<number | null>;\n};\n\n/** Imperative query handle exposed by `<FeatureLayer>` via `ref`. */\n/** An editing template published with a feature table. Mirrors `FeatureTemplate`. */\nexport type FeatureTemplate = {\n /** Template name. */\n name: string;\n /** Attribute values a new feature created from this template starts with. */\n prototypeAttributes: Record<string, unknown>;\n};\n\n/** Result of one edit applied via `applyEdits`. */\nexport type EditResult = {\n /** Object id of the edited feature. */\n objectId: number;\n /** Whether the server reported an error for this edit. */\n completedWithErrors: boolean;\n};\n\n/** A group of features related to a source feature through one relationship. */\nexport type RelatedFeaturesResult = {\n /** Id of the relationship these features belong to. */\n relationshipId: number;\n /** The related features. */\n features: Feature[];\n};\n\n/** Metadata for a single attachment on an `ArcGISFeature`. */\nexport type AttachmentInfo = {\n /** Unique identifier for this attachment on the feature. */\n id: number;\n /** File name of the attachment (e.g. `\"photo.jpg\"`). */\n name: string;\n /** MIME type (e.g. `\"image/jpeg\"`). */\n contentType: string;\n /** Size in bytes. */\n size: number;\n};\n\n/**\n * One valid contingent value entry, discriminated by `type`:\n * - `\"coded\"` — a specific coded-value domain entry is valid; `codedValue.code` is the domain code.\n * - `\"range\"` — any numeric value in `[min, max]` is valid.\n * - `\"null\"` — a null / empty value is explicitly allowed for this field.\n * - `\"any\"` — any value is allowed (corresponds to `ContingentAnyValue`).\n *\n * `fieldGroupName` identifies which contingent-values field group this constraint belongs to,\n * allowing callers to match constraints to the group they were defined under.\n */\nexport type ContingentValueEntry =\n | { type: 'coded'; fieldGroupName: string; codedValue: { name: string; code: unknown } }\n | { type: 'range'; fieldGroupName: string; min: unknown; max: unknown }\n | { type: 'null'; fieldGroupName: string }\n | { type: 'any'; fieldGroupName: string };\n\n/**\n * Result of `FeatureLayerHandle.getContingentValues` — the field name that was queried plus\n * all valid contingent values for that field given the feature's current attribute state.\n * An empty `contingentValues` array means no constraints are defined (all values are valid).\n */\nexport type ContingentValuesResult = {\n /** The field name that was queried. */\n fieldName: string;\n /** The valid contingent values, organised across all field groups that reference this field. */\n contingentValues: ContingentValueEntry[];\n};\n\nexport type FeatureLayerHandle = {\n /** Returns the features matching `query` (all features when omitted). */\n queryFeatures(query?: QueryParameters): Promise<Feature[]>;\n /** Returns the number of features matching `query`. */\n queryFeatureCount(query?: QueryParameters): Promise<number>;\n /** Returns the combined extent (envelope) of the features matching `query`. */\n queryExtent(query?: QueryParameters): Promise<Geometry | null>;\n /** Computes aggregate statistics over the layer's features. */\n queryStatistics(query: StatisticsQueryParameters): Promise<StatisticRecord[]>;\n /** Returns the table's editing templates (name + prototype attributes), for building edit UIs. */\n queryFeatureTemplates(): Promise<FeatureTemplate[]>;\n /**\n * Adds a feature (attributes + optional geometry) to the layer's table. By default pushes the\n * edit to the service and resolves to the new object id; pass `apply: false` to make a local-only\n * edit, then batch with `applyEdits`. Resolves to `null` for non-service tables or local edits.\n */\n addFeature(\n attributes: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n /**\n * Creates a feature from the named editing template (so the new feature inherits the template's\n * prototype attributes), then optionally overrides `attributes` on top and sets `geometry`.\n * By default pushes the edit to the service and resolves to the new object id; pass\n * `apply: false` to make a local-only edit. Rejects if no template with that name exists.\n * Requires an ArcGIS feature table (service or mobile geodatabase) — rejects for shapefiles\n * and WFS tables, which do not expose editing templates.\n *\n * @example\n * ```ts\n * const id = await layer.current.addFeatureWithTemplate(\n * 'Residential',\n * { ADDRESS: '1 Main St' },\n * { type: 'point', x: -117.19, y: 34.05 }\n * );\n * ```\n */\n addFeatureWithTemplate(\n templateName: string,\n attributes?: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n /**\n * Creates a feature from the named feature subtype (sets the subtype field and inherits the\n * subtype's default attribute values), then optionally overrides `attributes` on top and sets\n * `geometry`. By default pushes the edit to the service and resolves to the new object id;\n * pass `apply: false` to make a local-only edit. Rejects if no subtype with that name exists.\n * Requires an ArcGIS feature table (service or mobile geodatabase) — rejects for shapefiles\n * and WFS tables, which do not expose feature subtypes.\n *\n * @example\n * ```ts\n * const id = await layer.current.addFeatureWithSubtype(\n * 'Arterial',\n * { ROADNAME: 'Main St' },\n * { type: 'point', x: -117.19, y: 34.05 }\n * );\n * ```\n */\n addFeatureWithSubtype(\n subtypeName: string,\n attributes?: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n /** Updates the feature with `objectId`. Pass `apply: false` for a local-only edit. */\n updateFeature(\n objectId: number,\n changes: { attributes?: Record<string, unknown>; geometry?: Geometry },\n apply?: boolean\n ): Promise<void>;\n /** Deletes the feature with `objectId`. Pass `apply: false` for a local-only edit. */\n deleteFeature(objectId: number, apply?: boolean): Promise<void>;\n /** Pushes all pending local edits to the service in one batch; resolves to each edit's result. */\n applyEdits(): Promise<EditResult[]>;\n /** Discards all pending local edits made since the last `applyEdits`. */\n undoLocalEdits(): Promise<void>;\n /** Queries features related to `objectId` across all relationships, grouped by relationship. */\n queryRelatedFeatures(objectId: number): Promise<RelatedFeaturesResult[]>;\n /** Returns the metadata for all attachments on the feature with `objectId`. */\n queryAttachments(objectId: number): Promise<AttachmentInfo[]>;\n /**\n * Adds an attachment to the feature with `objectId` and immediately persists the edit.\n * @param name File name (e.g. `\"photo.jpg\"`).\n * @param contentType MIME type (e.g. `\"image/jpeg\"`).\n * @param dataBase64 Base64-encoded file contents.\n */\n addAttachment(objectId: number, name: string, contentType: string, dataBase64: string): Promise<void>;\n /**\n * Fetches the binary data for the attachment with `attachmentId` on the feature with `objectId`\n * and returns it as a base64 string.\n */\n fetchAttachment(objectId: number, attachmentId: number): Promise<string>;\n /** Deletes the attachment with `attachmentId` from the feature with `objectId` and persists. */\n deleteAttachment(objectId: number, attachmentId: number): Promise<void>;\n /**\n * Updates the attachment with `attachmentId` on the feature with `objectId` and persists.\n * @param name New file name (e.g. `\"photo.jpg\"`).\n * @param contentType New MIME type (e.g. `\"image/jpeg\"`).\n * @param dataBase64 New base64-encoded file contents.\n */\n updateAttachment(objectId: number, attachmentId: number, name: string, contentType: string, dataBase64: string): Promise<void>;\n /**\n * Returns the branch-versioning handle for this layer's service geodatabase (ArcGIS Enterprise\n * branch-versioned services only). Loads the table first; rejects if the layer is not a service\n * feature layer. The same handle is returned on repeat calls.\n */\n getServiceGeodatabase(): Promise<ServiceGeodatabaseHandle>;\n /**\n * Returns the valid coded values for `fieldName` given the feature's current `attributes`.\n * Use this to drive editing-form dropdowns: pass the feature's current attribute state and the\n * name of the field being edited; returns `[{ name, code }]` for coded values that satisfy all\n * contingent-value constraints defined on the table.\n *\n * The table and its `ContingentValuesDefinition` are loaded automatically. A temporary feature\n * is built from `attributes` (no server round-trip for the feature itself); only `ArcGISFeature`\n * tables are supported — rejects for shapefiles and WFS tables.\n *\n * @example\n * ```ts\n * const options = await layer.current.contingentValues({ habitat: 'oak' }, 'species');\n * // options → [{ name: 'Red Oak', code: 1 }, { name: 'White Oak', code: 2 }]\n * ```\n */\n contingentValues(attributes: Record<string, unknown>, fieldName: string): Promise<{ name: string; code: unknown }[]>;\n /**\n * Returns the valid contingent values for `fieldName` on the feature with `objectId`, given\n * the feature's current attribute state. Contingent values constrain which attribute values\n * are valid based on the values of other fields (e.g. \"species\" options depend on \"habitat\").\n *\n * Requires an ArcGIS feature table (service or mobile geodatabase) — rejects for shapefiles\n * and WFS tables. Resolves with an empty `contingentValues` list when no constraints apply.\n *\n * @example\n * ```ts\n * const result = await layer.current.getContingentValues(42, 'species');\n * // result.contingentValues[0] → { type: 'coded', fieldGroupName: 'HabitatGroup',\n * // codedValue: { name: 'Oak', code: 1 } }\n * ```\n */\n getContingentValues(objectId: number, fieldName: string): Promise<ContingentValuesResult>;\n};\n\n/** Branch-version access level. */\nexport type VersionAccess = 'public' | 'protected' | 'private';\n\n/** Metadata for one branch version of a service geodatabase. */\nexport type ServiceVersionInfo = {\n /** Fully-qualified version name (e.g. `\"OWNER.versionName\"`). */\n name: string;\n /** Free-text description. */\n description: string;\n /** Who may see / edit the version. */\n access: VersionAccess;\n /** Whether the current user owns this version. */\n isOwner: boolean;\n /** Server-assigned version GUID, when available. */\n versionId?: string;\n};\n\n/** Parameters for creating a new branch version. */\nexport type CreateVersionParams = {\n /** Short version name (the server prefixes the owner). */\n name: string;\n /** Optional description. */\n description?: string;\n /** Access level. Defaults to `\"public\"`. */\n access?: VersionAccess;\n};\n\n/**\n * Handle to a service geodatabase's branch-versioning surface, from\n * `FeatureLayerHandle.getServiceGeodatabase()`. Manages named versions and pushes the service-wide\n * local edits (across every connected table) to the active version. Edit features through the\n * `<FeatureLayer>` handle with `apply: false`, then call `applyEdits()` here to push them — distinct\n * from the table-level `FeatureLayerHandle.applyEdits()`, which pushes only this layer's table.\n */\nexport type ServiceGeodatabaseHandle = {\n /** Lists all branch versions on the service. */\n fetchVersions(): Promise<ServiceVersionInfo[]>;\n /** Creates a new branch version and resolves with its info. */\n createVersion(params: CreateVersionParams): Promise<ServiceVersionInfo>;\n /** Switches the active version (rejects if there are outstanding local edits). */\n switchVersion(name: string): Promise<void>;\n /** Pushes all connected tables' local edits to the active version in one batch. */\n applyEdits(): Promise<EditResult[]>;\n /** Discards all local edits across connected tables. */\n undoLocalEdits(): Promise<void>;\n /** Whether any connected table has unsaved local edits. */\n hasLocalEdits(): boolean;\n /** The active version's name. */\n getVersionName(): string;\n /** The default version name (e.g. `\"sde.DEFAULT\"`). */\n getDefaultVersionName(): string;\n /** Whether the service supports branch versioning. */\n supportsBranchVersioning(): boolean;\n /**\n * Returns a `<FeatureLayer layer>`-attachable handle for the service table with `layerId`, bound to\n * the active version — its edits join the version's local edits (pushed by `applyEdits`).\n */\n getFeatureLayer(layerId: number): FeatureLayerHandle;\n};\n\n/**\n * A local mobile geodatabase (`.geodatabase` file) opened with `offline.openGeodatabase(path)`. Wrap\n * a batch of edits in `beginTransaction` then `commitTransaction` (persist) or `rollbackTransaction`\n * (discard). Edits target a feature table by name.\n */\nexport type GeodatabaseHandle = {\n /** Starts a transaction. Subsequent edits are buffered until commit or rollback. */\n beginTransaction(): Promise<void>;\n /** Persists all edits made since `beginTransaction`. */\n commitTransaction(): Promise<void>;\n /** Discards all edits made since `beginTransaction`. */\n rollbackTransaction(): Promise<void>;\n /** Whether a transaction is currently open. */\n isInTransaction(): boolean;\n /** The names of the geodatabase's feature tables. */\n getFeatureTableNames(): string[];\n /** Counts features in `tableName` matching `whereClause` (all when omitted). */\n queryFeatureCount(tableName: string, whereClause?: string): Promise<number>;\n /** Adds a feature to `tableName`; local until the transaction is committed. */\n addFeature(\n tableName: string,\n attributes: Record<string, unknown>,\n geometry?: Geometry\n ): Promise<void>;\n /**\n * Returns a `<FeatureLayer layer>`-attachable handle for `tableName` — display and edit the table\n * on a map; edits join the open transaction.\n */\n getFeatureLayer(tableName: string): FeatureLayerHandle;\n};\n\n/** A label rule for a `<FeatureLayer>` — mirrors the native `LabelDefinition`. */\nexport type LabelDefinition = {\n /**\n * Label expression. A simple field expression (`[FIELD]`) by default, or an Arcade\n * expression (`$feature.FIELD`) when `useArcade` is set.\n */\n expression: string;\n /** Treat `expression` as an Arcade expression instead of a simple field expression. */\n useArcade?: boolean;\n /** Text symbol for the labels. Defaults to black 12 pt. */\n symbol?: TextSymbol;\n /** Optional SQL `where` clause limiting which features are labeled. */\n whereClause?: string;\n};\n\n/** Props for a `<TileLayer>` — mirror the native `ArcGISTiledLayer`. */\nexport type TileLayerProps = LayerProps & {\n /** URL of the tiled map service. */\n url: string;\n};\n\n/** Props for a `<MapImageLayer>` — mirror the native `ArcGISMapImageLayer` (dynamic map service). */\nexport type MapImageLayerProps = LayerProps & {\n /** URL of the dynamic map service (`.../MapServer`). */\n url: string;\n};\n\n/** Props for a `<SceneLayer>` — mirror the native `ArcGISSceneLayer` (3D objects / integrated mesh). */\nexport type SceneLayerProps = LayerProps & {\n /** URL of the scene service (`.../SceneServer`). */\n url: string;\n};\n\n/** Props for a `<VectorTileLayer>` — mirror the native `ArcGISVectorTiledLayer`. */\nexport type VectorTileLayerProps = LayerProps & { url: string };\n\n/** Props for an `<IntegratedMeshLayer>` (3D) — mirror the native `IntegratedMeshLayer`. */\nexport type IntegratedMeshLayerProps = LayerProps & { url: string };\n\n/** Props for a `<PointCloudLayer>` (3D) — mirror the native `PointCloudLayer`. */\nexport type PointCloudLayerProps = LayerProps & { url: string };\n\n/** Props for an `<Ogc3DTilesLayer>` (3D) — mirror the native OGC 3D Tiles layer. */\nexport type Ogc3DTilesLayerProps = LayerProps & { url: string };\n\n/** Props for a `<WebTiledLayer>` — mirror `WebTiledLayer` (`{level}/{row}/{col}` URL template). */\nexport type WebTiledLayerProps = LayerProps & { urlTemplate: string };\n\n/** Props for an `<OpenStreetMapLayer>` — the built-in OSM tiles as an operational layer. */\nexport type OpenStreetMapLayerProps = LayerProps;\n\n/** Props for a `<WmsLayer>` — mirror the native WMS layer (service URL + visible layer names). */\nexport type WmsLayerProps = LayerProps & { url: string; layerNames: string[] };\n\n/** Props for a `<WmtsLayer>` — mirror the native WMTS layer (service URL + layer id). */\nexport type WmtsLayerProps = LayerProps & { url: string; layerId: string };\n\n/** Raster source for a `<RasterLayer>`: a remote ArcGIS image service or a local raster file. */\nexport type RasterSource = { type: 'imageService'; url: string } | { type: 'file'; path: string };\n\n/** Props for a `<RasterLayer>` — mirror the native `RasterLayer` (image service or local raster). */\nexport type RasterLayerProps = LayerProps & {\n source: RasterSource;\n /**\n * On-the-fly raster function chain to apply to the layer's raster, serialised as JSON\n * (e.g. a hillshade / colormap / NDVI chain). When set, the SDK builds a\n * `RasterFunction.fromJSON` → `Raster(rasterFunction:)` pipeline with the source raster\n * wired in as the first raster argument. Construction-time only — changing this prop\n * requires remounting the layer.\n */\n rasterFunction?: string;\n};\n\n/** Props for a `<KmlLayer>` — mirror `KMLLayer` (remote `.kml`/`.kmz` URL or local file). */\nexport type KmlLayerProps = LayerProps & { url: string };\n\n/** Annotation layer (map text stored as annotation features) from a feature service URL. */\nexport type AnnotationLayerProps = LayerProps & { url: string };\n\n/** Dimension layer (engineering/measurement dimensions) from a feature service URL. */\nexport type DimensionLayerProps = LayerProps & { url: string };\n\n/** 3D building scene layer (disciplines + building levels) from a scene service URL. */\nexport type BuildingSceneLayerProps = LayerProps & { url: string };\n\n/** Oriented imagery layer (photos with position/orientation) from a feature service URL. */\nexport type OrientedImageryLayerProps = LayerProps & { url: string };\n\n/** Subtype feature layer (one sublayer per subtype) from a feature service URL. */\nexport type SubtypeFeatureLayerProps = LayerProps & { url: string };\n\n/**\n * Props for a `<GeoPackageLayer>` — displays a feature table from a local `.gpkg` file.\n * The GeoPackage is opened asynchronously; the layer appears once the load completes.\n */\nexport type GeoPackageLayerProps = LayerProps & {\n /** Absolute path to the local `.gpkg` file. */\n path: string;\n /**\n * Name of the feature table to display. When omitted, the first table in the GeoPackage is used.\n * Construction-only — remount to change.\n */\n tableName?: string;\n};\n\n/** WFS (Web Feature Service) layer — a feature layer over `WFSFeatureTable`. */\nexport type WfsLayerProps = LayerProps & {\n /** WFS service URL. */\n url: string;\n /** Feature type / table name to display (e.g. `'namespace:typeName'`). */\n tableName: string;\n};\n\n/** OGC API - Features layer — a feature layer over `OGCFeatureCollectionTable`. */\nexport type OgcFeatureLayerProps = LayerProps & {\n /** OGC API - Features landing-page URL. */\n url: string;\n /** Collection id to display. */\n collectionId: string;\n};\n\n/** Connection state of a real-time `DynamicEntityDataSource`. Mirrors `ConnectionStatus`. */\nexport type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'failed';\n\n/**\n * The kind of entity lifecycle event emitted by `onDynamicEntityChange`.\n * - `received` — a new or updated entity observation arrived (fires once per entity, not per\n * observation, so attribute-only updates within the same entity are collapsed).\n * - `purged` — the entity was evicted by the data source's purge rules.\n */\nexport type DynamicEntityChangeType = 'received' | 'purged';\n\n/**\n * Payload for the `<DynamicEntityLayer onDynamicEntityChange>` event.\n * Contains the entity's current attribute snapshot and geometry at the time of the event.\n */\nexport type DynamicEntityChange = {\n /** Whether the entity arrived/updated (`received`) or was evicted (`purged`). */\n changeType: DynamicEntityChangeType;\n /** The entity's unique numeric id (from the data source's `entityIDField`). */\n entityId: number;\n /** The entity's current attribute values (snapshot at event time). */\n attributes: Record<string, unknown>;\n /** The entity's current geometry, or `undefined` when unavailable. */\n geometry?: Geometry;\n};\n\n/** Track display options for a `<DynamicEntityLayer>` (history of past observations). */\nexport type TrackDisplay = {\n /** How many past observations to keep per track. */\n maximumObservations?: number;\n /** Whether to draw previous observations (the track line/points). */\n showsPreviousObservations?: boolean;\n};\n\n/** Field definition for a custom dynamic-entity data source. */\nexport type DynamicEntityField = {\n name: string;\n /** Field type. Defaults to `text`. */\n type?: 'text' | 'int32' | 'int64' | 'float64' | 'date';\n};\n\n/** Config for a `CustomDynamicEntityDataSource` — push your own observations via `pushObservation`. */\nexport type CustomDynamicSource = {\n /** Attribute that identifies an entity (observations sharing it form one track). */\n entityIdField: string;\n /** The observation attribute schema. */\n fields: DynamicEntityField[];\n};\n\n/**\n * Purge-options for a `<DynamicEntityLayer>` data source — bounds the observation history kept in\n * memory. Mirrors the native `DynamicEntityDataSource.PurgeOptions` (Swift) /\n * `DynamicEntityDataSourcePurgeOptions` (Kotlin).\n *\n * Both fields are optional; omit a field to leave that limit unset (the SDK default is no limit).\n */\nexport type DynamicEntityPurgeOptions = {\n /**\n * Maximum total number of observations retained across **all** entities.\n * When exceeded, the oldest observations are evicted globally.\n */\n maximumObservations?: number;\n /**\n * Maximum age of observations to retain, in **seconds**.\n * Observations older than this value are evicted automatically.\n * Maps to `maximumDuration` on the native `PurgeOptions` object.\n */\n maximumDuration?: number;\n};\n\n/** Props for `<DynamicEntityLayer>` — real-time moving entities from a stream service or custom feed. */\nexport type DynamicEntityLayerProps = LayerProps & {\n /** Stream service URL (a real-time WebSocket feed of moving entities). */\n streamServiceUrl?: string;\n /** Alternative to `streamServiceUrl`: a custom data source you feed via the ref's `pushObservation`. */\n customSource?: CustomDynamicSource;\n /** Track display (history of past observations). */\n trackDisplay?: TrackDisplay;\n /** Stream-service filter — only entities matching `whereClause` (and/or within `geometry`) stream in. */\n filter?: { whereClause?: string; geometry?: Geometry };\n /**\n * Bounds the observation history kept in memory by the data source. Set either field to limit how\n * many total observations or how much elapsed time the stream retains across all dynamic entities.\n */\n purgeOptions?: DynamicEntityPurgeOptions;\n /** Fired as the data source connects / disconnects. */\n onConnectionStatusChange?: (status: ConnectionStatus) => void;\n /**\n * Fired when a dynamic entity is received (new/updated) or purged. High-frequency on busy\n * stream services — only entity lifecycle events are emitted (one per entity arrival or purge),\n * not per-observation attribute updates.\n */\n onDynamicEntityChange?: (event: { nativeEvent: DynamicEntityChange }) => void;\n};\n\n/** A live dynamic entity returned by `queryDynamicEntities`. */\nexport type DynamicEntityInfo = {\n attributes: Record<string, unknown>;\n geometry: Geometry | null;\n};\n\n/** A single historical observation returned by `queryObservations`. */\nexport type DynamicEntityObservationInfo = {\n attributes: Record<string, unknown>;\n geometry?: Geometry;\n};\n\n/** Imperative handle exposed by `<DynamicEntityLayer>` via `ref`. */\nexport type DynamicEntityLayerHandle = {\n /** Returns the data source's currently-tracked dynamic entities. */\n queryDynamicEntities(): Promise<{ count: number; entities: DynamicEntityInfo[] }>;\n /**\n * Returns the observation history for the entity with the given track id, newest first,\n * capped at `max` entries (default 100). Returns an empty array if the entity is not found.\n */\n queryObservations(entityId: string, max?: number): Promise<DynamicEntityObservationInfo[]>;\n /** Pushes an observation into a `customSource` (attributes + geometry). */\n pushObservation(attributes: Record<string, unknown>, geometry: Geometry): void;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Geometries — mirror the native `Geometry` types (`Point` / `Polyline` / `Polygon`).\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Well-known ID (WKID) of a coordinate system. `4326` = WGS84, `3857` = Web Mercator. */\nexport type SpatialReference = number;\n\n/**\n * A point geometry — `x` is longitude and `y` is latitude in a geographic spatial\n * reference. Mirrors the native `Point(x:y:spatialReference:)`.\n */\nexport type Point = {\n x: number;\n y: number;\n /** Altitude in meters. Used by 3D scenes (camera position, elevated geometries). */\n z?: number;\n /** Coordinate system WKID. Defaults to `4326` (WGS84). */\n spatialReference?: SpatialReference;\n};\n\n/** A multipoint geometry — an unordered collection of points sharing one symbol. */\nexport type Multipoint = {\n points: Point[];\n /** Coordinate system WKID. Defaults to `4326` (WGS84). */\n spatialReference?: SpatialReference;\n};\n\n/**\n * A polyline geometry — one or more paths. Provide `points` for a single path\n * (shorthand) or `parts` for an explicit multi-path line. Geometry operations\n * (buffer, union, …) return geometries using `parts`.\n */\nexport type Polyline = {\n /** Vertices of a single path — shorthand for a one-part polyline. */\n points?: Point[];\n /** Explicit paths; each inner array is one path. */\n parts?: Point[][];\n /** Coordinate system WKID. Defaults to `4326` (WGS84). */\n spatialReference?: SpatialReference;\n};\n\n/**\n * A polygon geometry — one or more rings (auto-closed). Provide `points` for a\n * single ring (shorthand) or `parts` for an explicit multi-ring polygon.\n */\nexport type Polygon = {\n /** Vertices of a single ring — shorthand for a one-part polygon. */\n points?: Point[];\n /** Explicit rings; each inner array is one ring. */\n parts?: Point[][];\n /** Coordinate system WKID. Defaults to `4326` (WGS84). */\n spatialReference?: SpatialReference;\n};\n\n/** An envelope geometry — an axis-aligned bounding box (the extent of other geometries). */\nexport type Envelope = {\n xMin: number;\n yMin: number;\n xMax: number;\n yMax: number;\n /** Coordinate system WKID. Defaults to `4326` (WGS84). */\n spatialReference?: SpatialReference;\n};\n\n/** Props for the `<ImageOverlay>` component — a georeferenced image displayed on a `<MapView>`. */\nexport type ImageOverlayProps = {\n /** Local image file path to display (e.g. a downloaded or bundled PNG/JPEG). */\n imagePath: string;\n /** The geographic extent (envelope) the image is stretched to fill. */\n extent: Envelope;\n /** Overlay opacity, 0–1. Defaults to `1`. */\n opacity?: number;\n};\n\n/** A node in a KML document tree, returned by `KmlLayerHandle.getNodes()`. */\nexport type KmlNodeInfo = {\n /** Node display name. */\n name: string;\n /** Whether the node is currently visible. */\n visible: boolean;\n /** Node class name (e.g. `KMLDocument` / `KMLFolder` / `KMLPlacemark` / `KMLNetworkLink` / `KMLTour`). */\n type: string;\n /** Child nodes, present for container nodes (documents / folders). */\n children?: KmlNodeInfo[];\n};\n\n/** Imperative handle exposed by `<KmlLayer>` via `ref`. */\nexport type KmlLayerHandle = {\n /** Loads the KML and returns its node tree (recursing into container nodes). */\n getNodes(): Promise<KmlNodeInfo[]>;\n /** Starts or resumes playback of the first KML tour found in the layer. No-ops if no tour exists. */\n playTour(): void;\n /** Pauses playback of the first KML tour found in the layer. No-ops if no tour exists. */\n pauseTour(): void;\n /** Resets playback of the first KML tour found in the layer to the beginning. No-ops if no tour exists. */\n resetTour(): void;\n};\n\n/**\n * A geometry value. The `type` discriminator mirrors the ArcGIS web API\n * (`\"point\"` / `\"multipoint\"` / `\"polyline\"` / `\"polygon\"` / `\"envelope\"`) and\n * selects the native geometry class.\n */\nexport type Geometry =\n | ({ type: 'point' } & Point)\n | ({ type: 'multipoint' } & Multipoint)\n | ({ type: 'polyline' } & Polyline)\n | ({ type: 'polygon' } & Polygon)\n | ({ type: 'envelope' } & Envelope);\n\n/** A `point` geometry — convenient alias used where an operation requires a point. */\nexport type PointGeometry = { type: 'point' } & Point;\n\n/** A `polyline` geometry — convenient alias used where an operation returns a line (e.g. a route). */\nexport type PolylineGeometry = { type: 'polyline' } & Polyline;\n\n// ────────────────────────────────────────────────────────────────────────────\n// GeometryEngine — units, curve types and result shapes for spatial operations.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Linear unit for geodesic length/distance/buffer operations. Defaults to `meters`. */\nexport type LinearUnit = 'meters' | 'kilometers' | 'feet' | 'miles' | 'nauticalMiles' | 'yards';\n\n/** Area unit for geodesic area operations. Defaults to `squareMeters`. */\nexport type AreaUnit =\n | 'squareMeters'\n | 'squareKilometers'\n | 'squareFeet'\n | 'squareMiles'\n | 'acres'\n | 'hectares';\n\n/** Curve type for geodesic operations. Defaults to `geodesic`. */\nexport type GeodeticCurveType =\n | 'geodesic'\n | 'loxodrome'\n | 'greatElliptic'\n | 'normalSection'\n | 'shapePreserving';\n\n/** Join style for `geometryEngine.offset`. Defaults to `mitered`. */\nexport type GeometryOffsetType = 'mitered' | 'bevelled' | 'rounded' | 'squared';\n\n/**\n * Angular unit for geodesic ellipse / sector construction. Defaults to `degrees`.\n * Maps to the native `AngularUnit`.\n */\nexport type AngularUnit = 'degrees' | 'radians';\n\n/**\n * Output geometry type for `geometryEngine.ellipseGeodesic` / `sectorGeodesic`.\n * Defaults to `polygon`. Maps to the native `GeometryType`.\n */\nexport type GeodesicGeometryType = 'polygon' | 'polyline' | 'multipoint';\n\n/**\n * Parameters for `geometryEngine.ellipseGeodesic`. Mirrors the native\n * `GeodesicEllipseParameters` (Swift) / `com.arcgismaps.geometry.GeodesicEllipseParameters` (Kotlin).\n */\nexport type GeodesicEllipseParams = {\n /** Center point of the ellipse. */\n center: PointGeometry;\n /** Length of the semi-major axis. */\n semiAxis1Length: number;\n /** Length of the semi-minor axis. */\n semiAxis2Length: number;\n /**\n * Direction of the major axis, in `angularUnit` clockwise from north. Defaults to `0`.\n */\n axisDirection?: number;\n /** Unit for `axisDirection`. Defaults to `degrees`. */\n angularUnit?: AngularUnit;\n /** Unit for `semiAxis1Length` / `semiAxis2Length`. Defaults to `meters`. */\n linearUnit?: LinearUnit;\n /**\n * Maximum segment length on the output geometry. `0` / omitted lets the SDK choose.\n */\n maxSegmentLength?: number;\n /** Maximum number of vertices on the output geometry. Defaults to `10` (SDK default). */\n maxPointCount?: number;\n /** Output geometry type. Defaults to `polygon`. */\n geometryType?: GeodesicGeometryType;\n};\n\n/**\n * Parameters for `geometryEngine.sectorGeodesic`. Extends `GeodesicEllipseParams` with\n * the sector angle and start direction. Mirrors the native `GeodesicSectorParameters`.\n */\nexport type GeodesicSectorParams = GeodesicEllipseParams & {\n /** The angular size of the sector, in `angularUnit`. */\n sectorAngle: number;\n /** The direction from which the sector opens, in `angularUnit` clockwise from north. */\n startDirection: number;\n};\n\n/** Result of `geometryEngine.geodesicDistance` — distance plus the two azimuths (degrees). */\nexport type GeodeticDistanceResult = {\n distance: number;\n azimuth1: number;\n azimuth2: number;\n};\n\n/** Result of `geometryEngine.nearestCoordinate` / `nearestVertex`. */\nexport type ProximityResult = {\n /** The nearest point on the geometry. */\n coordinate: PointGeometry;\n /** Planar distance from the query point to `coordinate`. */\n distance: number;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// CoordinateFormatter — notation formats for converting points to/from strings.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Latitude-longitude string format. Defaults to `decimalDegrees`. */\nexport type LatitudeLongitudeFormat =\n | 'decimalDegrees'\n | 'degreesDecimalMinutes'\n | 'degreesMinutesSeconds';\n\n/** UTM string format. Defaults to `latitudeBandIndicators`. */\nexport type UtmConversionMode = 'latitudeBandIndicators' | 'northSouthIndicators';\n\n/** MGRS string format. Defaults to `automatic`. */\nexport type MgrsConversionMode =\n | 'automatic'\n | 'new180InZone01'\n | 'new180InZone60'\n | 'old180InZone01'\n | 'old180InZone60';\n\n// ────────────────────────────────────────────────────────────────────────────\n// Geocoding — address ↔ coordinates search via the `geocoder` namespace.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** One geocode/reverse-geocode match. Mirrors the native `GeocodeResult`. */\nexport type GeocodeResult = {\n /** Human-readable address / place name. */\n label: string;\n /** Point to display for the match (null if the locator returns none). */\n location: PointGeometry | null;\n /** Match confidence, 0–100. */\n score: number;\n /** Result attributes (fields depend on the locator). */\n attributes: Record<string, unknown>;\n};\n\n/** Parameters for `geocoder.geocode`. Mirrors the native `GeocodeParameters`. */\nexport type GeocodeParameters = {\n /**\n * Structured address fields for multi-field geocoding (e.g.\n * `{ Address: \"380 New York St\", City: \"Redlands\", Region: \"CA\", Postal: \"92373\" }`).\n * When provided, the SDK's multi-field overload is used instead of the single-line text\n * search. Field names must match the locator's input fields (the World Geocoder accepts\n * `Address`, `Address2`, `Address3`, `City`, `Region`, `Postal`, `PostalExt`, `CountryCode`).\n * If both `searchValues` and `searchText` are supplied, `searchValues` takes precedence.\n */\n searchValues?: Record<string, string>;\n /** Maximum number of matches to return. */\n maxResults?: number;\n /**\n * Attribute names to include on each result (e.g. `['*']` for all, or\n * `['Match_addr', 'City', 'Region']` for a specific subset). When omitted the locator\n * returns its default set.\n */\n resultAttributeNames?: string[];\n /**\n * WKID of the spatial reference for returned locations (e.g. `3857` for Web Mercator,\n * `4326` for WGS84). When omitted the locator returns coordinates in its own SR.\n */\n outputSpatialReference?: number;\n /** Two/three-letter country code to constrain the search. */\n countryCode?: string;\n /** Place categories to filter by (e.g. `['Coffee shop']`). */\n categories?: string[];\n /** A point near which results are preferred. */\n preferredSearchLocation?: PointGeometry;\n /**\n * Locator to use. An online geocode-service URL, or a local path to an offline locator\n * (`.loc`) for disconnected geocoding. Defaults to the ArcGIS World Geocoding Service.\n */\n locatorUrl?: string;\n};\n\n/** Parameters for `geocoder.reverseGeocode`. Mirrors the native `ReverseGeocodeParameters`. */\nexport type ReverseGeocodeParameters = {\n /** Maximum number of matches to return. */\n maxResults?: number;\n /** Maximum search distance from the point, in meters. */\n maxDistance?: number;\n /**\n * Locator to use. An online geocode-service URL, or a local path to an offline locator\n * (`.loc`) for disconnected geocoding. Defaults to the ArcGIS World Geocoding Service.\n */\n locatorUrl?: string;\n};\n\n/** One autocomplete suggestion. Mirrors the native `SuggestResult`. */\nexport type SuggestResult = {\n /** Suggested text (a partial completion of the search). */\n label: string;\n /** True when the suggestion is a category/collection rather than a single place. */\n isCollection: boolean;\n /**\n * Opaque integer key that identifies the native `SuggestResult` held in the module registry.\n * Pass to `geocoder.geocodeSuggestion(suggestionId)` to resolve the selection precisely —\n * the SDK's `geocode(forSuggestResult:)` / `geocode(suggestResult)` overload avoids a text\n * re-search and returns the exact match the user picked.\n * The registry is replaced on each new `suggest` call; ids from a prior call are no longer valid.\n */\n suggestionId: number;\n};\n\n/** Parameters for `geocoder.suggest`. Mirrors the native `SuggestParameters`. */\nexport type SuggestParameters = {\n /** Maximum number of suggestions to return. */\n maxResults?: number;\n /** Place categories to filter by. */\n categories?: string[];\n /** A point near which suggestions are preferred. */\n preferredSearchLocation?: PointGeometry;\n /**\n * Locator to use. An online geocode-service URL, or a local path to an offline locator\n * (`.loc`) for disconnected geocoding. Defaults to the ArcGIS World Geocoding Service.\n */\n locatorUrl?: string;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Routing — directions between stops via the `router` namespace.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** One stop along a route. Mirrors the native `Stop` (constructed from a point). */\nexport type RouteStop = {\n /** The stop location. */\n point: PointGeometry;\n /** Optional label for the stop (echoed back on returned stops). */\n name?: string;\n /** Which side of the vehicle the stop should be approached from. */\n curbApproach?: 'eitherSide' | 'leftSide' | 'rightSide' | 'noUTurn';\n};\n\n/** Parameters for `router.solveRoute`. Mirrors the native `RouteParameters`. */\nexport type RouteParameters = {\n /**\n * Travel mode name to use, looked up among the service's travel modes\n * (e.g. `'Driving Time'`, `'Walking Time'`). Defaults to the service default.\n */\n travelMode?: string;\n /** Whether to return route geometry/metrics. Defaults to `true`. */\n returnRoutes?: boolean;\n /** Whether to return the (possibly re-sequenced) stops. Defaults to `false`. */\n returnStops?: boolean;\n /** Whether to generate turn-by-turn directions. Defaults to `true`. */\n returnDirections?: boolean;\n /** Language for the generated directions (e.g. `'en'`, `'es'`). Defaults to the service default. */\n directionsLanguage?: string;\n /** Whether the service may reorder stops to find the optimal sequence. Defaults to `false`. */\n findBestSequence?: boolean;\n /** Point barriers — locations the route must avoid (e.g. road closures). */\n barriers?: PointGeometry[];\n /** Route service URL. Defaults to the ArcGIS World Route Service. */\n routeServiceUrl?: string;\n};\n\n/** One turn-by-turn instruction along a route. Mirrors the native `DirectionManeuver`. */\nexport type DirectionManeuver = {\n /** Human-readable instruction text. */\n text: string;\n /** Length of this maneuver, in meters. */\n length: number;\n /** Duration of this maneuver, in minutes. */\n duration: number;\n /** Geometry of this maneuver (a line segment, or null). */\n geometry: Geometry | null;\n};\n\n/** A single solved route. Mirrors the native `Route`. */\nexport type Route = {\n /** The route line (null if the service returns none). */\n geometry: PolylineGeometry | null;\n /** Route name (usually derived from the first and last stop). */\n name: string;\n /** Total length of the route, in meters. */\n totalLength: number;\n /** Travel time along the route, in minutes. */\n travelTime: number;\n /** Total elapsed time including any wait/service time, in minutes. */\n totalTime: number;\n /** Turn-by-turn directions (empty unless `returnDirections` is set). */\n directions: DirectionManeuver[];\n};\n\n/** Result of `router.solveRoute`. Mirrors the native `RouteResult`. */\nexport type RouteResult = {\n /** The solved routes (one unless multiple route names / `findBestSequence` are used). */\n routes: Route[];\n /** Informational and warning messages from the solve operation. */\n messages: string[];\n};\n\n/** A device location fed to a `RouteTracker` (e.g. from `<MapView>`'s `onLocationChange`). */\nexport type TrackedLocation = {\n latitude: number;\n longitude: number;\n /** Speed in m/s (optional). */\n speed?: number;\n /** Heading in degrees (optional). */\n course?: number;\n};\n\n/** Navigation status returned by `RouteTrackerHandle.trackLocation`. */\nexport type RouteTrackingStatus = {\n /** Distance remaining on the route, in meters. */\n distanceRemaining: number;\n /** Time remaining on the route, in minutes. */\n timeRemaining: number;\n /** Index of the current maneuver in the route's directions. */\n currentManeuverIndex: number;\n /** Number of destinations still to reach. */\n remainingDestinationCount: number;\n /** Destination status (e.g. `notReached`, `approaching`, `reached`). */\n destinationStatus: string;\n /** Voice-guidance text for the current maneuver (empty when none). */\n voiceText: string;\n};\n\n/**\n * Turn-by-turn navigation handle from `router.createRouteTracker`. Feed it device locations with\n * `trackLocation` (typically from `<MapView>`'s `onLocationChange`); each call advances navigation\n * and resolves with the current status. Call `switchToNextDestination` after reaching a stop.\n */\nexport type RouteTrackerHandle = {\n trackLocation(location: TrackedLocation): Promise<RouteTrackingStatus>;\n switchToNextDestination(): Promise<void>;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Service Area — reachable-area polygons from facilities via `ServiceAreaTask`.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Parameters for `serviceArea.solve`. */\nexport type ServiceAreaSolveParams = {\n /** URL of the network analysis service (e.g. the ArcGIS World Service Areas service). */\n serviceUrl: string;\n /** Facility locations to compute service areas from. */\n facilities: PointGeometry[];\n /**\n * Impedance cutoff values (e.g. travel-time minutes or distance) that define each polygon ring.\n * When omitted the service's default cutoffs are used.\n */\n cutoffs?: number[];\n};\n\n/** One service-area polygon returned from `serviceArea.solve`. Mirrors the native `ServiceAreaPolygon`. */\nexport type ServiceAreaPolygon = {\n /** The polygon geometry of the reachable area. */\n geometry: Geometry;\n /** Lower impedance bound for this polygon ring. */\n fromCutoff: number;\n /** Upper impedance bound for this polygon ring. */\n toCutoff: number;\n};\n\n/** Result of `serviceArea.solve`. */\nexport type ServiceAreaResult = {\n /** All result polygons across all facilities, ordered by facility then cutoff. */\n polygons: ServiceAreaPolygon[];\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Spatial analysis (visual) — exploratory viewshed / line-of-sight on a `<SceneView>`.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Props for `<AnalysisOverlay>` — a container for visual analyses, hosted by a `<SceneView>`. */\nexport type AnalysisOverlayProps = {\n /** Whether the overlay's analyses are drawn. Defaults to `true`. */\n visible?: boolean;\n};\n\n/**\n * Props for `<Viewshed>` — an exploratory viewshed (visible area from an observer). Mirrors the\n * native `ExploratoryLocationViewshed`. 3D only (rendered in a `<SceneView>`).\n */\nexport type ViewshedProps = {\n /** Observer location. */\n location: PointGeometry;\n /** Direction the observer faces, in degrees (0 = north, clockwise). */\n heading: number;\n /** Observer pitch, in degrees (0 = horizontal, 90 = straight down). */\n pitch: number;\n /** Horizontal field-of-view angle, in degrees (0–360). */\n horizontalAngle: number;\n /** Vertical field-of-view angle, in degrees (0–180). */\n verticalAngle: number;\n /** Near clipping distance from the observer, in meters. */\n minDistance?: number;\n /** Far clipping distance from the observer, in meters. */\n maxDistance?: number;\n /** Whether to draw the viewshed frustum outline. Defaults to `false`. */\n frustumOutlineVisible?: boolean;\n};\n\n/**\n * Props for a GeoElement-anchored `<Viewshed>` — the viewshed follows a `<Graphic>` as it moves.\n * Mirrors the native `ExploratoryGeoElementViewshed`. 3D only (rendered in a `<SceneView>`).\n * Use instead of `ViewshedProps` when you want the observer to track a graphic's position.\n */\nexport type GeoElementViewshedProps = {\n /** Horizontal field-of-view angle, in degrees (0–360). */\n horizontalAngle: number;\n /** Vertical field-of-view angle, in degrees (0–180). */\n verticalAngle: number;\n /** Heading offset from the graphic's heading, in degrees. */\n headingOffset: number;\n /** Pitch offset from the graphic's pitch, in degrees. */\n pitchOffset: number;\n /** Near clipping distance from the observer, in meters. */\n minDistance?: number;\n /** Far clipping distance from the observer, in meters. */\n maxDistance?: number;\n /** Whether to draw the viewshed frustum outline. Defaults to `false`. */\n frustumOutlineVisible?: boolean;\n};\n\n/** Whether a line-of-sight target is visible from the observer. */\nexport type TargetVisibility = 'visible' | 'obstructed' | 'unknown';\n\n/**\n * Props for `<LineOfSight>` — an exploratory line of sight between an observer and a target.\n * Mirrors the native `ExploratoryLocationLineOfSight`. 3D only (rendered in a `<SceneView>`).\n */\nexport type LineOfSightProps = {\n /** Observer location. */\n observer: PointGeometry;\n /** Target location. */\n target: PointGeometry;\n /** Called when the target's visibility from the observer changes. */\n onTargetVisibilityChange?: (visibility: TargetVisibility) => void;\n};\n\n/**\n * Props for a GeoElement-anchored `<LineOfSight>` — both the observer and the target follow\n * `<Graphic>`s as they move. Mirrors the native `ExploratoryGeoElementLineOfSight`. 3D only\n * (rendered in a `<SceneView>`). Use instead of `LineOfSightProps` when both endpoints track\n * graphics rather than fixed points.\n */\nexport type GeoElementLineOfSightProps = {\n /** Called when the target's visibility from the observer changes. */\n onTargetVisibilityChange?: (visibility: TargetVisibility) => void;\n};\n\n/** Direct / horizontal / vertical distance (in the measurement's unit, default meters). */\nexport type DistanceMeasurementResult = {\n directDistance: number;\n horizontalDistance: number;\n verticalDistance: number;\n};\n\nexport type DistanceMeasurementProps = {\n /** Start point of the measurement. */\n startLocation: PointGeometry;\n /** End point of the measurement. */\n endLocation: PointGeometry;\n /** Called as the measured distances change. */\n onMeasurementChange?: (measurement: DistanceMeasurementResult) => void;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Geoprocessing — server-side analysis via the `geoprocessor` namespace.\n// ────────────────────────────────────────────────────────────────────────────\n\n/**\n * A single typed input to a geoprocessing tool, mirroring the native `GeoprocessingParameter`\n * subclasses. The `type` discriminator selects the native parameter built from `value`.\n */\nexport type GeoprocessingInput =\n | { type: 'string'; value: string }\n | { type: 'double'; value: number }\n | { type: 'long'; value: number }\n | { type: 'boolean'; value: boolean }\n | { type: 'date'; value: number }\n | { type: 'linearUnit'; value: number; unit?: LinearUnit }\n | { type: 'features'; geometries: Geometry[] }\n /** An array of homogeneous strings or numbers — maps to `GeoprocessingMultiValue`. */\n | { type: 'multiValue'; values: (string | number)[] }\n /**\n * A data-file input — maps to `GeoprocessingDataFile`.\n * Provide exactly one of `url` (remote service URL) or `filePath` (absolute local path).\n */\n | { type: 'dataFile'; url: string; filePath?: never }\n | { type: 'dataFile'; filePath: string; url?: never };\n\n/** A raster output from a geoprocessing tool. Mirrors `GeoprocessingRaster`. */\nexport type GeoprocessingRasterOutput = {\n type: 'raster';\n /** Remote raster URL (set by the service for output rasters). */\n url?: string;\n /** Absolute local file path (set when the output raster is a local file). */\n filePath?: string;\n};\n\n/** Result of `geoprocessor.execute`. Mirrors the native `GeoprocessingResult`. */\nexport type GeoprocessingResult = {\n /**\n * Output parameters keyed by name. Scalars (`string`/`double`/`long`/`boolean`) come back as\n * their JS value; feature outputs come back as `Feature[]`; raster outputs come back as\n * `GeoprocessingRasterOutput`.\n */\n outputs: Record<string, unknown>;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Utility network — load a network and run traces via `<UtilityNetwork>`.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** A utility-network trace algorithm. Mirrors the native `UtilityTraceParameters.TraceType`. */\nexport type UtilityTraceType =\n | 'connected'\n | 'subnetwork'\n | 'upstream'\n | 'downstream'\n | 'isolation'\n | 'loops'\n | 'shortestPath';\n\n/**\n * Describes a starting location for a trace — the network element to begin from, identified by\n * its asset-type path and global id. The native side resolves it to a `UtilityElement`.\n */\nexport type UtilityElementDescriptor = {\n /** Network source name (e.g. `'Electric Distribution Device'`). */\n networkSource: string;\n /** Asset group name (e.g. `'Circuit Breaker'`). */\n assetGroup: string;\n /** Asset type name (e.g. `'Three Phase'`). */\n assetType: string;\n /** Feature global id (`{...}` UUID string). */\n globalId: string;\n};\n\n/** One element returned by a trace. Mirrors the native `UtilityElement`. */\nexport type UtilityElementInfo = {\n objectId: number;\n globalId: string;\n networkSource: string;\n assetGroup: string;\n assetType: string;\n};\n\n/** Result of `UtilityNetwork.trace`. Flattens the native `UtilityElementTraceResult`. */\nexport type UtilityTraceResult = {\n /** Number of elements found by the trace. */\n elementCount: number;\n /** The elements found by the trace. */\n elements: UtilityElementInfo[];\n};\n\n/** Props for `<UtilityNetwork>` — a utility network loaded from a feature service, a child of `<Map>`. */\nexport type UtilityNetworkProps = {\n /** Feature-service URL of the utility network's service geodatabase. May require `setTokenCredential`. */\n serviceGeodatabaseUrl: string;\n /** Called once the network has loaded, with its name. */\n onLoad?: (name: string) => void;\n /** Called if the network fails to load. */\n onLoadError?: (message: string) => void;\n};\n\n/** A predefined trace configuration published with the network. Mirrors `UtilityNamedTraceConfiguration`. */\nexport type UtilityNamedTraceConfiguration = {\n name: string;\n globalId: string;\n};\n\n/** One terminal in a `UtilityTerminalConfiguration`. Mirrors the native `UtilityTerminal`. */\nexport type UtilityTerminal = {\n /** Terminal name (e.g. `'High'`, `'Low'`). */\n name: string;\n /**\n * Whether the terminal is the upstream terminal for the asset type.\n * Tracing upstream vs. downstream from a junction uses this to select the correct terminal.\n */\n isUpstream: boolean;\n};\n\n/**\n * A terminal configuration defined in the network. Mirrors `UtilityTerminalConfiguration`.\n * Devices such as transformers have multiple terminals (e.g. high-side / low-side).\n * Knowing the available terminals is a prerequisite for specifying a `terminal` on a\n * `UtilityElement` when starting a directional trace.\n */\nexport type UtilityTerminalConfiguration = {\n /** Configuration name (e.g. `'Transformer'`). */\n name: string;\n /** The terminals belonging to this configuration. */\n terminals: UtilityTerminal[];\n};\n\n/** Summary of an element's associations. Flattens the native `UtilityAssociation` list. */\nexport type UtilityAssociationSummary = {\n /** Number of associations found. */\n count: number;\n /** Distinct association kinds present (`connectivity` / `containment` / `attachment` / `junctionEdge`). */\n kinds: string[];\n};\n\n/** Imperative handle exposed by `<UtilityNetwork>` via `ref`. */\n/** Topology state of a utility network (from `getState`). */\nexport type UtilityNetworkState = {\n /** Whether the network has dirty areas pending validation. */\n hasDirtyAreas: boolean;\n /** Whether the network topology has errors. */\n hasErrors: boolean;\n /** Whether network topology is enabled. */\n networkTopologyEnabled: boolean;\n};\n\nexport type UtilityNetworkHandle = {\n /** Returns metadata about the loaded network (its network-source names). */\n describeNetwork(): { networkSources: string[] };\n /**\n * Returns the terminal configurations defined in the network.\n * Use this to discover the available terminals on multi-terminal devices (e.g. transformers)\n * before starting a directional trace that must specify a terminal. Synchronous — no network\n * round-trip; reads from the already-loaded network definition.\n */\n getTerminalConfigurations(): UtilityTerminalConfiguration[];\n /** Returns the network's topology state — dirty areas, errors, and whether topology is enabled. */\n getState(): Promise<UtilityNetworkState>;\n /**\n * Validates the network topology over `extent` (an envelope geometry). Returns a `JobRef` —\n * call `.result()` to run it (and track `onProgress`), or `.cancel()`. After it completes, read\n * `getState()` to see whether errors or dirty areas remain.\n */\n validateNetworkTopology(extent: Geometry): JobRef<{ validated: boolean }>;\n /** Runs a trace of `traceType` from the given starting locations (explicit element descriptors). */\n trace(\n traceType: UtilityTraceType,\n startingLocations: UtilityElementDescriptor[]\n ): Promise<UtilityTraceResult>;\n /**\n * Queries a starting feature from the layer `tableName` (matching `whereClause`), traces from it,\n * and selects the result features on the map. Convenient for an interactive \"trace from here\" flow.\n */\n traceFromQuery(\n tableName: string,\n whereClause: string,\n traceType: UtilityTraceType\n ): Promise<UtilityTraceResult>;\n /** Lists the network's predefined named trace configurations. */\n queryNamedTraceConfigurations(): Promise<UtilityNamedTraceConfiguration[]>;\n /** Traces using a named configuration (by `globalId`), from a feature queried from `tableName`. */\n traceWithConfiguration(\n configGlobalId: string,\n tableName: string,\n whereClause: string\n ): Promise<UtilityTraceResult>;\n /** Returns the associations of a feature queried from `tableName`. */\n associations(tableName: string, whereClause: string): Promise<UtilityAssociationSummary>;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Portal — search a Portal and list basemaps via the `portal` namespace.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Parameters for `portal.findItems`. */\nexport type PortalQuery = {\n /**\n * ArcGIS portal search query string (e.g. `'type:\"Web Map\" owner:esri'`).\n * Forwarded directly to `PortalQueryParameters(query:limit:)` on both platforms.\n */\n query: string;\n /** Maximum number of items to return (default 10). */\n max?: number;\n /** Portal URL (default `https://www.arcgis.com`). */\n portalUrl?: string;\n};\n\n/** One portal item returned by `portal.findItems`. */\nexport type PortalItemInfo = {\n /** Portal item id (pass to `<Map portalItem={{ itemId }}>` to display the web map). */\n id: string;\n /** Human-readable title. */\n title: string;\n /**\n * Human-readable type string (e.g. `\"Web Map\"`, `\"Feature Service\"`).\n * Maps to `PortalItem.typeName` on both platforms.\n */\n type: string;\n /** Short description / abstract. */\n snippet: string;\n /** Portal username of the item owner. */\n owner: string;\n /**\n * Absolute HTTPS URL of the item's thumbnail, or `null` when none is available.\n * Constructed as `<portalUrl>/sharing/rest/content/items/<id>/info/thumbnail`.\n * Load it in an `<Image>` component; no auth is required for public items.\n */\n thumbnailUrl: string | null;\n};\n\n/** Parameters for `portal.fetchBasemaps`. */\nexport type BasemapQuery = {\n /** Portal URL (default `https://www.arcgis.com`). */\n portalUrl?: string;\n};\n\n/** One basemap returned by `portal.fetchBasemaps`. */\nexport type BasemapInfo = {\n /** Human-readable basemap name (e.g. `\"World Topographic Map\"`). */\n name: string;\n /**\n * Portal item id of the underlying basemap item, or `null` when the basemap has no item.\n * Pass to `<Map portalItem={{ itemId }}>` to use it as the map's basemap.\n */\n itemId: string | null;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Offline — take maps and data offline (downloads to disk) via the `offline` namespace.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Result of an offline-map download. `path` is the local mobile map package directory. */\nexport type OfflineMapResult = {\n /** Local filesystem path of the downloaded mobile map package (pass to `<Map mobileMapPackagePath>`). */\n path: string;\n};\n\n/** A preplanned offline map area published with a web map. Mirrors `PreplannedMapArea`. */\nexport type PreplannedMapAreaInfo = {\n /** Area title. */\n title: string;\n /** Index into the web map's preplanned areas (pass to `offline.downloadPreplannedOfflineMap`). */\n index: number;\n};\n\n/** Result of a geodatabase download. Mirrors the generated `Geodatabase`. */\nexport type OfflineGeodatabaseResult = {\n /** Local filesystem path of the downloaded `.geodatabase`. */\n path: string;\n /** Number of feature tables in the geodatabase. */\n tableCount: number;\n};\n\n/** Result of a tile-cache / vector-tiles export. */\nexport type OfflineTileResult = {\n /** Local filesystem path of the downloaded tile package (`.tpkx` / `.vtpk`). */\n path: string;\n};\n\n/** Result of `offline.estimateTileCacheSize` — an estimate of the download footprint. */\nexport type TileCacheSizeEstimate = {\n /** Estimated on-disk size of the tile cache in bytes. */\n fileSizeBytes: number;\n /** Estimated number of tiles in the tile cache. */\n tileCount: number;\n};\n\n/**\n * Overrides for `offline.generateOfflineMap` that narrow the tile-cache scale range, producing a\n * smaller download. Both values follow the ArcGIS scale convention (larger number = more zoomed\n * out; 0 means \"no limit\" on that end).\n *\n * Applied via `GenerateOfflineMapParameterOverrides`: each `ExportTileCacheParameters` entry in\n * the overrides object has its `levelIDs` list trimmed to the subset that falls within\n * [minScale, maxScale]. Vector-tile entries are not affected (the SDK exposes no per-entry scale\n * filter for `ExportVectorTilesParameters`).\n */\nexport type OfflineMapParameterOverrides = {\n /**\n * Coarsest scale to include (outermost/lowest-detail level). 0 = no coarse limit.\n * E.g. `100000` keeps levels finer than 1:100 000.\n */\n minScale?: number;\n /**\n * Finest scale to include (innermost/highest-detail level). 0 = no fine limit.\n * E.g. `5000` drops levels finer than 1:5 000, meaningfully reducing download size.\n */\n maxScale?: number;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// GeometryEditor — interactive sketching on a `<MapView>`.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** The kind of geometry a `<GeometryEditor>` sketches. */\nexport type GeometryEditorType = 'point' | 'multipoint' | 'polyline' | 'polygon' | 'envelope';\n\n/**\n * Props for the interactive `<GeometryEditor>` — a child of `<MapView>` that lets the user\n * sketch a geometry. (The native SDK binds the editor to 2D map views only.)\n */\n/** Interaction tool for the geometry editor. Mirrors `VertexTool`/`FreehandTool`/`ShapeTool`. */\nexport type GeometryEditorTool =\n | 'vertex'\n | 'freehand'\n | 'reticleVertex'\n | 'arrow'\n | 'ellipse'\n | 'rectangle'\n | 'triangle';\n\nexport type GeometryEditorProps = {\n /** The kind of geometry to sketch. */\n type: GeometryEditorType;\n /** When `true` (default) editing is started with `type`; set `false` to stop. */\n active?: boolean;\n /** Interaction tool (default `vertex`). Shape tools (`arrow`/`ellipse`/…) sketch by dragging. */\n tool?: GeometryEditorTool;\n /** Called as the sketch geometry changes (`null` when empty / cleared). */\n onGeometryChange?: (geometry: Geometry | null) => void;\n};\n\n/** Imperative handle exposed by `<GeometryEditor>` via `ref`. */\nexport type GeometryEditorHandle = {\n /** Undo the last edit. */\n undo(): void;\n /** Redo the last undone edit. */\n redo(): void;\n /** Clear the current sketch. */\n clear(): void;\n /** Delete the currently selected vertex/part. */\n deleteSelectedElement(): void;\n /** Stop editing and return the final geometry (or `null`). */\n stop(): Geometry | null;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Symbols — mirror `SimpleMarkerSymbol` / `SimpleLineSymbol` / `SimpleFillSymbol`.\n// Colors are hex strings: `#RRGGBB` or `#RRGGBBAA` (alpha last).\n// ────────────────────────────────────────────────────────────────────────────\n\nexport type SimpleMarkerSymbolStyle = 'circle' | 'cross' | 'diamond' | 'square' | 'triangle' | 'x';\n\nexport type SimpleLineSymbolStyle = 'solid' | 'dash' | 'dot' | 'dash-dot' | 'dash-dot-dot' | 'none';\n\nexport type SimpleFillSymbolStyle =\n | 'solid'\n | 'none'\n | 'horizontal'\n | 'vertical'\n | 'cross'\n | 'diagonal-cross'\n | 'forward-diagonal'\n | 'backward-diagonal';\n\n/** Stroke options shared by `SimpleLineSymbol` and the `outline` of marker/fill symbols. */\nexport type Stroke = {\n style?: SimpleLineSymbolStyle;\n /** Stroke color as a hex string. */\n color?: string;\n /** Stroke width in points. */\n width?: number;\n};\n\n/** A simple marker symbol for point graphics. */\nexport type SimpleMarkerSymbol = {\n type: 'simple-marker';\n style?: SimpleMarkerSymbolStyle;\n /** Fill color as a hex string (e.g. `#ff3b30`). */\n color?: string;\n /** Marker size in points. */\n size?: number;\n /** Optional outline stroke. */\n outline?: Stroke;\n};\n\n/** A simple line symbol for polyline graphics (also used as an `outline`). */\nexport type SimpleLineSymbol = { type: 'simple-line' } & Stroke;\n\n/** A simple fill symbol for polygon graphics. */\nexport type SimpleFillSymbol = {\n type: 'simple-fill';\n style?: SimpleFillSymbolStyle;\n /** Fill color as a hex string (e.g. `#ffa50080`). */\n color?: string;\n /** Optional outline stroke. */\n outline?: Stroke;\n};\n\n/** A text symbol that draws a string at a point. Mirrors the native `TextSymbol`. */\nexport type TextSymbol = {\n type: 'text';\n /** The text to draw. */\n text: string;\n /** Text color as a hex string. Defaults to black. */\n color?: string;\n /** Font size in points. */\n size?: number;\n /** Halo (outline) color as a hex string. */\n haloColor?: string;\n /** Halo width in points. */\n haloWidth?: number;\n /** Font family name. */\n fontFamily?: string;\n /** Horizontal anchor. Defaults to `center`. */\n horizontalAlignment?: 'left' | 'center' | 'right' | 'justify';\n /** Vertical anchor. Defaults to `middle`. */\n verticalAlignment?: 'top' | 'middle' | 'bottom' | 'baseline';\n};\n\n/**\n * A 3D marker symbol for point graphics in a `<SceneView>`. Mirrors the native\n * `SimpleMarkerSceneSymbol` (a parametric solid: cone / cube / sphere / …).\n */\nexport type SimpleMarkerSceneSymbol = {\n type: 'simple-marker-scene';\n /** Solid shape. Defaults to `sphere`. */\n style?: 'cone' | 'cube' | 'cylinder' | 'diamond' | 'sphere' | 'tetrahedron';\n /** Fill color as a hex string. */\n color?: string;\n /** Size along x, in meters. Defaults to 100. */\n width?: number;\n /** Size along z (up), in meters. Defaults to 100. */\n height?: number;\n /** Size along y, in meters. Defaults to 100. */\n depth?: number;\n /** Which part of the solid sits on the point. Defaults to `bottom`. */\n anchor?: 'center' | 'bottom' | 'top' | 'origin';\n};\n\n/**\n * A 3D model symbol (glTF / `.glb`) for point graphics in a `<SceneView>`. Mirrors the native\n * `ModelSceneSymbol` (loads the model at `url` at runtime — symbol is `Loadable`).\n */\nexport type ModelSceneSymbol = {\n type: 'model-scene';\n /** URL of the glTF / `.glb` model file. Required. */\n url: string;\n /** Uniform scale factor applied to the model. Defaults to `1`. */\n scale?: number;\n /** Whether the model dimensions are expressed in device-independent pixels or geographic meters. Defaults to `dips`. */\n sizeUnits?: 'dips' | 'meters';\n /** Rotation around the vertical (z) axis, in degrees. Defaults to `0`. */\n heading?: number;\n /** Rotation around the lateral (x) axis, in degrees. Defaults to `0`. */\n pitch?: number;\n /** Rotation around the longitudinal (y) axis, in degrees. Defaults to `0`. */\n roll?: number;\n /** Which part of the model sits on the point. Defaults to `bottom`. */\n anchor?: 'center' | 'bottom' | 'top' | 'origin';\n};\n\n/** A marker drawn from an image at a URL. Mirrors `PictureMarkerSymbol`. */\nexport type PictureMarkerSymbol = {\n type: 'picture-marker';\n /** Image URL (remote `http(s)` or a local file URL). */\n url: string;\n /** Display width in points (defaults to the image's intrinsic size). */\n width?: number;\n /** Display height in points (defaults to the image's intrinsic size). */\n height?: number;\n};\n\n/** A polygon fill drawn by tiling an image from a URL. Mirrors `PictureFillSymbol`. */\nexport type PictureFillSymbol = {\n type: 'picture-fill';\n /** Image URL (remote `http(s)` or a local file URL). */\n url: string;\n /** Tile width in points (defaults to the image's intrinsic size). */\n width?: number;\n /** Tile height in points (defaults to the image's intrinsic size). */\n height?: number;\n /** Optional outline stroke. */\n outline?: Stroke;\n};\n\n/**\n * One range within a `DistanceCompositeSceneSymbol` — the `symbol` rendered while the camera\n * distance to the graphic falls within `[minDistance, maxDistance]`. Use `0` for `maxDistance`\n * to make the range unbounded (no far limit). Mirrors the native `DistanceSymbolRange`.\n */\nexport type DistanceSymbolRange = {\n /** The symbol drawn while within this distance band. */\n symbol: Symbol;\n /** Near camera-distance limit, in meters. */\n minDistance?: number;\n /** Far camera-distance limit, in meters. `0` / omitted = unbounded. */\n maxDistance?: number;\n};\n\n/**\n * A 3D composite symbol that swaps its appearance based on camera distance.\n * Each range specifies a `symbol` visible within a `[minDistance, maxDistance]` band.\n * Mirrors the native `DistanceCompositeSceneSymbol`. Only valid in a `<SceneView>`.\n */\nexport type DistanceCompositeSceneSymbol = {\n type: 'distance-composite-scene';\n ranges: DistanceSymbolRange[];\n};\n\n/**\n * A composite symbol that overlays multiple symbols stacked on top of each other.\n * Useful for combining a marker with a label, or layering two markers for a ring effect.\n * Mirrors the native `CompositeSymbol`.\n *\n * @example\n * ```ts\n * { type: 'composite', symbols: [\n * { type: 'simple-marker', color: '#fff', size: 18 },\n * { type: 'simple-marker', color: '#e63946', size: 10 },\n * ] }\n * ```\n */\nexport type CompositeSymbolType = {\n type: 'composite';\n /** The symbols to stack, drawn in order (first = bottom, last = top). */\n symbols: Symbol[];\n};\n\n/**\n * One picture-marker symbol layer within a `MultilayerPointSymbolType`.\n * Mirrors the native `PictureMarkerSymbolLayer`.\n *\n * NOTE: `size` sets a uniform size (overrides `width`/`height` when all three are supplied).\n * `width` and `height` are applied in order, so supplying both sets size to the last one;\n * use `size` for a uniform value. `offsetX`/`offsetY` shift the layer in points.\n */\nexport type PictureMarkerSymbolLayerSpec = {\n type: 'picture-marker';\n /** Image URL (remote `http(s)` or a local file URL). */\n url: string;\n /** Uniform size in points (sets both width and height). */\n size?: number;\n /** Display width in points. */\n width?: number;\n /** Display height in points. */\n height?: number;\n /** Horizontal offset of the layer, in points. */\n offsetX?: number;\n /** Vertical offset of the layer, in points. */\n offsetY?: number;\n};\n\n/**\n * One vector-marker symbol layer within a `MultilayerPointSymbolType`.\n * Mirrors the native `VectorMarkerSymbolLayer` (a shape drawn from a geometry with fill/stroke,\n * requiring no image).\n *\n * Supported `geometry` types and how they are symbolised:\n * - `polygon` — `MultilayerPolygonSymbol([SolidFillSymbolLayer, SolidStrokeSymbolLayer?])`;\n * `fillColor` is the fill, `outlineColor`/`outlineWidth` add an optional stroke.\n * - `polyline` — `MultilayerPolylineSymbol([SolidStrokeSymbolLayer])`; `fillColor` is used as the\n * stroke color (falls back to `outlineColor`, then red), `outlineWidth` sets the stroke width.\n * - `multipoint` — `MultilayerPointSymbol([SolidFillSymbolLayer, SolidStrokeSymbolLayer?])`;\n * same color/width props as `polygon`.\n *\n * Any other `geometry` type is silently skipped (the layer is omitted from the symbol).\n * Geometries use a local coordinate space (not geographic) — use small integer-scale coordinates\n * (e.g. `x` / `y` in the range `[-1, 1]`).\n *\n * @example — filled triangle (polygon)\n * ```ts\n * { type: 'multilayer-point', symbolLayers: [\n * { type: 'vector-marker', size: 24,\n * geometry: { type: 'polygon', points: [\n * { x: -1, y: -1 }, { x: 0, y: 1 }, { x: 1, y: -1 },\n * ] },\n * fillColor: '#e63946', outlineColor: '#1d3557', outlineWidth: 1 },\n * ] }\n * ```\n */\nexport type VectorMarkerSymbolLayerSpec = {\n type: 'vector-marker';\n /**\n * The geometry that defines the marker shape. Supported types: `polygon`, `polyline`,\n * `multipoint`. Unsupported types are silently skipped. The geometry is defined in a local\n * coordinate space (not geographic) — use small integer-scale coordinates\n * (e.g. `x` / `y` in the range `[-1, 1]`).\n */\n geometry: Geometry;\n /** Overall size of the marker, in points. Scales the geometry uniformly. Defaults to 12. */\n size?: number;\n /** Fill color as a `#RRGGBB` / `#RRGGBBAA` hex string. Defaults to red. */\n fillColor?: string;\n /** Outline stroke color as a `#RRGGBB` / `#RRGGBBAA` hex string. Omit to suppress outline. */\n outlineColor?: string;\n /** Outline stroke width in points. Defaults to 1. */\n outlineWidth?: number;\n};\n\n/** Union of all supported symbol layer kinds within a `MultilayerPointSymbolType`. */\nexport type SymbolLayerSpec = PictureMarkerSymbolLayerSpec | VectorMarkerSymbolLayerSpec;\n\n/**\n * A multilayer point symbol composed of one or more symbol layers.\n * Mirrors the native `MultilayerPointSymbol`. Useful for rich point icons built from stacked\n * picture images or vector shapes (e.g. a filled triangle marker, or a pin body + badge).\n *\n * Supported layer kinds: `picture-marker` and `vector-marker`.\n *\n * @example — picture marker\n * ```ts\n * { type: 'multilayer-point', symbolLayers: [\n * { type: 'picture-marker', url: 'https://example.com/pin.png', width: 30, height: 30 },\n * ] }\n * ```\n *\n * @example — vector marker (filled triangle)\n * ```ts\n * { type: 'multilayer-point', symbolLayers: [\n * { type: 'vector-marker', size: 24,\n * geometry: { type: 'polygon', points: [\n * { x: 0, y: 1 }, { x: 1, y: -1 }, { x: -1, y: -1 },\n * ] },\n * fillColor: '#e63946', outlineColor: '#1d3557', outlineWidth: 1.5 },\n * ] }\n * ```\n */\nexport type MultilayerPointSymbolType = {\n type: 'multilayer-point';\n /** The symbol layers to compose, rendered in list order. */\n symbolLayers: SymbolLayerSpec[];\n};\n\n/** Any symbol usable by a `<Graphic>`. Mirrors the native `Symbol` hierarchy. */\nexport type Symbol =\n | SimpleMarkerSymbol\n | SimpleLineSymbol\n | SimpleFillSymbol\n | TextSymbol\n | SimpleMarkerSceneSymbol\n | ModelSceneSymbol\n | PictureMarkerSymbol\n | PictureFillSymbol\n | DistanceCompositeSceneSymbol\n | CompositeSymbolType\n | MultilayerPointSymbolType;\n\n// ─── Visual Variables ────────────────────────────────────────────────────────\n\n/** One stop in a `SizeVisualVariable` stops array. */\nexport type SizeStop = { value: number; size: number };\n\n/** One stop in a `ColorVisualVariable` stops array. Color is a `#RRGGBB` / `#RRGGBBAA` hex string. */\nexport type ColorStop = { value: number; color: string };\n\n/** One stop in an `OpacityVisualVariable` stops array. */\nexport type OpacityStop = { value: number; opacity: number };\n\n/**\n * Data-driven marker size: feature attribute values in [`minDataValue`, `maxDataValue`] are\n * mapped linearly to symbol sizes in [`minSize`, `maxSize`] (device-independent pixels).\n * Alternatively, supply `stops` for arbitrary breakpoints.\n * Exactly one of `field` or `valueExpression` (Arcade) must be provided.\n */\nexport type SizeVisualVariable = {\n type: 'size';\n field?: string;\n valueExpression?: string;\n minDataValue?: number;\n maxDataValue?: number;\n minSize?: number;\n maxSize?: number;\n stops?: SizeStop[];\n};\n\n/**\n * Data-driven color: each stop maps a feature attribute value to a `#RRGGBB`/`#RRGGBBAA` color.\n * Exactly one of `field` or `valueExpression` (Arcade) must be provided.\n */\nexport type ColorVisualVariable = {\n type: 'color';\n field?: string;\n valueExpression?: string;\n stops: ColorStop[];\n};\n\n/**\n * Data-driven rotation: the feature attribute value (degrees) rotates the symbol.\n * `rotationType`: `'geographic'` (0 = north, clockwise) or `'arithmetic'` (0 = east, counter-clockwise).\n * Exactly one of `field` or `valueExpression` (Arcade) must be provided.\n */\nexport type RotationVisualVariable = {\n type: 'rotation';\n field?: string;\n valueExpression?: string;\n rotationType?: 'geographic' | 'arithmetic';\n};\n\n/**\n * Data-driven opacity: each stop maps a feature attribute value to an opacity in [0, 1].\n * Exactly one of `field` or `valueExpression` (Arcade) must be provided.\n */\nexport type OpacityVisualVariable = {\n type: 'opacity';\n field?: string;\n valueExpression?: string;\n stops: OpacityStop[];\n};\n\n/** Union of all supported visual variable types for data-driven symbology. */\nexport type VisualVariable =\n | SizeVisualVariable\n | ColorVisualVariable\n | RotationVisualVariable\n | OpacityVisualVariable;\n\n// ─── Renderers ───────────────────────────────────────────────────────────────\n\n/** A renderer that draws every feature/graphic with the same `symbol`. */\nexport type SimpleRenderer = {\n type: 'simple';\n symbol: Symbol;\n /** Optional data-driven size, color, rotation, or opacity overrides. */\n visualVariables?: VisualVariable[];\n};\n\n/** One category of a `UniqueValueRenderer` — the `symbol` for features whose field(s) equal `values`. */\nexport type UniqueValueInfo = {\n /** Field value(s) (matched in `fields` order) that select this symbol. */\n values: (string | number)[];\n /** Symbol drawn for matching features. */\n symbol: Symbol;\n /** Optional legend label. */\n label?: string;\n};\n\n/** Draws features by matching one or more attribute fields against discrete `uniqueValues`. */\nexport type UniqueValueRenderer = {\n type: 'unique-value';\n /** Attribute field(s) compared against each `UniqueValueInfo.values`. */\n fields: string[];\n uniqueValues: UniqueValueInfo[];\n /** Symbol for features that match no category. */\n defaultSymbol?: Symbol;\n defaultLabel?: string;\n /** Optional data-driven size, color, rotation, or opacity overrides. */\n visualVariables?: VisualVariable[];\n};\n\n/** One range of a `ClassBreaksRenderer` — the `symbol` for `min < value ≤ max`. */\nexport type ClassBreak = {\n min: number;\n max: number;\n symbol: Symbol;\n label?: string;\n};\n\n/** Draws features by binning a numeric `field` into `classBreaks` (graduated symbols). */\nexport type ClassBreaksRenderer = {\n type: 'class-breaks';\n /** Numeric attribute field used to pick a class break. */\n field: string;\n classBreaks: ClassBreak[];\n /** Symbol for features outside all breaks. */\n defaultSymbol?: Symbol;\n defaultLabel?: string;\n /** Optional data-driven size, color, rotation, or opacity overrides. */\n visualVariables?: VisualVariable[];\n};\n\n/**\n * Any renderer usable by a `<GraphicsOverlay>` or `<FeatureLayer>`. Mirrors the native\n * `Renderer` hierarchy (`SimpleRenderer` / `UniqueValueRenderer` / `ClassBreaksRenderer`).\n */\nexport type Renderer = SimpleRenderer | UniqueValueRenderer | ClassBreaksRenderer;\n\n/** Props for a `<Graphic>` — a `geometry` drawn with a `symbol` on the nearest graphics overlay. */\nexport type GraphicProps = {\n /** Point, polyline, or polygon geometry. */\n geometry: Geometry;\n /** Symbol used to draw the geometry. */\n symbol?: Symbol;\n};\n\n/** Payload for the `<MapView onTap>` event. */\nexport type TapEventPayload = {\n /** Map location of the tap, in geographic coordinates (WGS84). */\n mapPoint: { latitude: number; longitude: number };\n /** Screen location of the tap, in points. */\n screenPoint: { x: number; y: number };\n};\n\n/** A 3D camera that defines a scene's viewpoint (position + orientation). */\nexport type Camera = {\n /** Camera position; `z` is the altitude in meters. */\n position: Point;\n /** Compass heading the camera faces, in degrees. */\n heading?: number;\n /** Tilt from straight down, in degrees (0 = top-down, 90 = horizon). */\n pitch?: number;\n /** Roll, in degrees. */\n roll?: number;\n};\n\n/** A tiled elevation service that provides terrain height to a scene's `Surface`. */\nexport type ElevationSource = { url: string };\n\n/** The ground/elevation surface (terrain) of a 3D `<Scene>`. */\nexport type Surface = {\n /** Tiled elevation sources stacked to build the terrain. */\n elevationSources?: ElevationSource[];\n /** Vertical exaggeration multiplier (default `1`). */\n elevationExaggeration?: number;\n};\n\n/** Props for the `<Scene>` model component — mirror the native ArcGISScene/Scene. */\nexport type SceneProps = {\n /** Basemap style. Defaults to `arcGISImagery` (3D-appropriate). */\n basemap?: BasemapStyle;\n /**\n * Language for basemap place-name labels. Only applies when `basemap` is a built-in style string.\n * Special values: `\"global\"` — English worldwide; `\"local\"` — local place names;\n * `\"default\"` — SDK default; `\"applicationLocale\"` — device locale.\n * Any other value is treated as a BCP-47 language tag (e.g. `\"fr\"`, `\"ar\"`, `\"zh-Hans\"`).\n */\n basemapLanguage?: string;\n /**\n * Worldview code for disputed-boundary rendering. Only applies when `basemap` is a built-in style.\n * Known codes: `\"CN\"`, `\"IN\"`, `\"IL\"`, `\"JP\"`, `\"MA\"`, `\"PK\"`, `\"KR\"`, `\"AE\"`, `\"US\"`, `\"VN\"`.\n */\n basemapWorldview?: string;\n /** Center + scale applied when the scene first loads. */\n initialViewpoint?: Viewpoint;\n /** 3D camera for the initial view (preferred over `initialViewpoint` for scenes). */\n camera?: Camera;\n /** Ground elevation surface (terrain). */\n surface?: Surface;\n /** Load the scene from an ArcGIS web scene. Construction-only (set once; remount to change). */\n portalItem?: PortalItem;\n /** Local path to a mobile scene package (`.mspk`); its first scene is shown when loaded. */\n mobileScenePackagePath?: string;\n /**\n * Named saved viewpoints stored on the scene. Replaces the scene's bookmark list each time the\n * prop changes. Each entry creates a native `Bookmark(name, Viewpoint(latitude, longitude, scale))`.\n * Navigation to a bookmark is done separately via the `<SceneView camera>` prop.\n */\n bookmarks?: { name: string; viewpoint: { latitude: number; longitude: number; scale: number } }[];\n};\n\n/** Sun lighting mode for a 3D scene view (controls shadows). */\nexport type SunLighting = 'off' | 'light' | 'lightAndShadows';\n\n/** Atmosphere rendering for a 3D scene view. */\nexport type AtmosphereEffect = 'off' | 'horizonOnly' | 'realistic';\n\n/**\n * Camera controller for a `<SceneView>`.\n * - `orbitLocation` — orbits around a fixed target point (`OrbitLocationCameraController`).\n * - `globe` — free globe navigation (`GlobeCameraController`).\n */\nexport type CameraController =\n | {\n type: 'orbitLocation';\n /** The point the camera orbits around (WGS84 longitude/latitude, optional altitude). */\n target: Point;\n /** Initial camera distance from the target, in meters. */\n distance: number;\n }\n | {\n /** Orbit a moving `<Graphic>` — also pass that graphic's ref via `<SceneView orbitGraphic>`. */\n type: 'orbitGeoElement';\n /** Initial camera distance from the target graphic, in meters. */\n distance: number;\n }\n | { type: 'globe' };\n\n/** Props for the `<SceneView>` host component. */\nexport type SceneViewProps = {\n style?: StyleProp<ViewStyle>;\n /** Animates the view to this 3D camera whenever the value changes (runtime camera control). */\n camera?: Camera;\n /**\n * Swaps the scene's camera-control mode. Omit (or pass `null`) to use the SDK default.\n * - `{ type: 'orbitLocation', target, distance }` — orbit around a fixed point.\n * - `{ type: 'globe' }` — free globe navigation.\n */\n cameraController?: CameraController | null;\n /** Coordinate-grid overlay (MGRS / UTM / USNG / latitude-longitude). `null` / omitted = none. */\n grid?: GridConfig | null;\n /**\n * The graphic to orbit when `cameraController` is `{ type: 'orbitGeoElement' }` — the camera\n * follows this `<Graphic>` as it moves. Pass the ref obtained from `<Graphic ref>`.\n */\n orbitGraphic?: GraphicRef | null;\n /** Sun lighting mode (shadows). Defaults to `off`. */\n sunLighting?: SunLighting;\n /** Atmosphere rendering. Defaults to `horizonOnly`. */\n atmosphereEffect?: AtmosphereEffect;\n /** Sun position, as epoch milliseconds (affects shadow direction). */\n sunTime?: number;\n /**\n * Filters time-aware layers to this time window. Both values are epoch milliseconds (UTC).\n * Pass `null` / omit to show all time steps (no filter). Maps to `GeoView.timeExtent` /\n * `SceneView(timeExtent:)` on both platforms.\n */\n timeExtent?: { startTime: number; endTime: number } | null;\n /** Called once the scene has finished loading successfully. */\n onSceneLoaded?: (event: { nativeEvent: MapLoadedEventPayload }) => void;\n /** Called if the scene fails to load. */\n onSceneLoadError?: (event: { nativeEvent: MapLoadErrorEventPayload }) => void;\n /** Called when the user taps the scene. */\n onTap?: (event: { nativeEvent: TapEventPayload }) => void;\n};\n"]}
1
+ {"version":3,"file":"ExpoArcgis.types.js","sourceRoot":"","sources":["../src/ExpoArcgis.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { StyleProp, ViewStyle } from 'react-native';\n\nimport type { GraphicRef, JobRef } from './ExpoArcgisModule';\n\n/**\n * Esri basemap styles available out of the box. These map to the native\n * `BasemapStyle` (Kotlin) / `Basemap.Style` (Swift).\n * @see https://developers.arcgis.com/rest/basemap-styles/\n */\nexport type BasemapStyle =\n | 'arcGISImagery'\n | 'arcGISImageryStandard'\n | 'arcGISTopographic'\n | 'arcGISStreets'\n | 'arcGISStreetsNight'\n | 'arcGISNavigation'\n | 'arcGISNavigationNight'\n | 'arcGISTerrain'\n | 'arcGISLightGray'\n | 'arcGISDarkGray'\n | 'arcGISOceans';\n\n/** A center point and map scale used to position the map. */\nexport type Viewpoint = {\n latitude: number;\n longitude: number;\n /** Map scale denominator. Smaller = more zoomed in (~72_000 ≈ town, ~10_000_000 ≈ country). */\n scale: number;\n};\n\n/** Reference to an ArcGIS web map / web scene stored as a portal item. */\nexport type PortalItem = {\n /** The portal item id (e.g. a web map's item id). */\n itemId: string;\n /** Portal URL. Defaults to `https://www.arcgis.com` (ArcGIS Online, anonymous). */\n portalUrl?: string;\n};\n\n/**\n * Props for the `<Map>` model component — mirror the configurable properties of the\n * native `ArcGISMap`. Reconciled into the underlying SharedObject via `applyProps`.\n */\nexport type MapProps = {\n /** Basemap style. Defaults to `arcGISTopographic`. Ignored when `portalItem` is set. */\n basemap?: BasemapStyle;\n /**\n * Language for basemap place-name labels. Only applies when `basemap` is a built-in style string.\n * Special values: `\"global\"` — English worldwide; `\"local\"` — local place names;\n * `\"default\"` — SDK default; `\"applicationLocale\"` — device locale.\n * Any other value is treated as a BCP-47 language tag (e.g. `\"fr\"`, `\"ar\"`, `\"zh-Hans\"`).\n * Corresponds to `BasemapStyleParameters.language` on both platforms.\n */\n basemapLanguage?: string;\n /**\n * Worldview code for disputed-boundary rendering. Only applies when `basemap` is a built-in style.\n * Known codes: `\"CN\"`, `\"IN\"`, `\"IL\"`, `\"JP\"`, `\"MA\"`, `\"PK\"`, `\"KR\"`, `\"AE\"`, `\"US\"`, `\"VN\"`.\n * Corresponds to `BasemapStyleParameters.worldview` on both platforms.\n */\n basemapWorldview?: string;\n /**\n * The scale at which feature symbols and text are drawn at their authored size. Features scale\n * relative to this value as the user zooms in and out. Set to `0` (or omit) to disable reference\n * scaling. Maps to `referenceScale` on both platforms.\n */\n referenceScale?: number;\n /**\n * Constrains panning to this envelope — the user cannot scroll the map outside this extent.\n * Must be an `envelope` geometry. Omit (or pass `undefined`) to remove the constraint.\n * Maps to `maxExtent` on both platforms.\n */\n maxExtent?: Geometry;\n /** Center + scale applied when the map first loads. */\n initialViewpoint?: Viewpoint;\n /** Load the map from an ArcGIS web map. Construction-only (set once; remount to change). */\n portalItem?: PortalItem;\n /**\n * Display an offline map from a mobile map package (`.mmpk`) at this local path — e.g. the\n * directory returned by `offline.generateOfflineMap`. The package loads asynchronously and the\n * map appears once ready.\n */\n mobileMapPackagePath?: string;\n /**\n * Named saved viewpoints stored on the map. Replaces the map's bookmark list each time the prop\n * changes. Each entry creates a native `Bookmark(name, Viewpoint(latitude, longitude, scale))`.\n * Navigation to a bookmark is done separately via the `<MapView viewpoint>` prop.\n */\n bookmarks?: { name: string; viewpoint: { latitude: number; longitude: number; scale: number } }[];\n};\n\nexport type MapLoadedEventPayload = {\n /** WKID of the loaded map's spatial reference, or null if unavailable. */\n spatialReferenceWkid: number | null;\n};\n\nexport type MapLoadErrorEventPayload = {\n /** Human-readable description of why the map failed to load. */\n message: string;\n};\n\n/** Auto-pan behavior for the device location display. */\nexport type LocationDisplayAutoPanMode = 'off' | 'recenter' | 'navigation' | 'compassNavigation';\n\n/** Device-location display for a `<MapView>`. Providing it enables location (starts the GPS). */\nexport type LocationDisplay = {\n /** How the view follows the device. Defaults to `recenter`. */\n autoPanMode?: LocationDisplayAutoPanMode;\n /** Whether to draw the location symbol. Defaults to `true`. */\n showLocation?: boolean;\n /** How far the location can wander before the view re-pans, as a factor of the symbol size. */\n wanderExtentFactor?: number;\n /**\n * The location data source. `'system'` (device GPS, the default) or a simulated source that\n * drives the location along a `route` polyline — handy for testing without real movement.\n */\n source?: 'system' | { type: 'simulated'; route: Geometry; speed?: number };\n};\n\n/** Payload for the `<MapView onLocationChange>` event — one device-location fix. */\nexport type LocationEventPayload = {\n /** Location in geographic coordinates (WGS84). `z` is altitude in meters when available. */\n position: { latitude: number; longitude: number; z?: number };\n /** Horizontal accuracy radius, in meters. */\n horizontalAccuracy: number;\n /** Vertical accuracy, in meters. */\n verticalAccuracy: number;\n /** Direction of travel, in degrees clockwise from north. */\n course: number;\n /** Speed, in meters per second. */\n speed: number;\n /** Fix time, as epoch milliseconds. */\n timestamp: number;\n};\n\n/** Props for the `<MapView>` host component. */\nexport type MapViewProps = {\n style?: StyleProp<ViewStyle>;\n /** Animates the view to this viewpoint whenever the value changes (runtime camera control). */\n viewpoint?: Viewpoint;\n /** Device-location display. When set, the view shows the device's GPS location. */\n locationDisplay?: LocationDisplay;\n /**\n * Filters time-aware layers to this time window. Both values are epoch milliseconds (UTC).\n * Pass `null` / omit to show all time steps (no filter). Maps to `GeoView.timeExtent` /\n * `MapView(timeExtent:)` on both platforms.\n */\n timeExtent?: { startTime: number; endTime: number } | null;\n /** Called once the map has finished loading successfully. */\n onMapLoaded?: (event: { nativeEvent: MapLoadedEventPayload }) => void;\n /** Called if the map fails to load (e.g. missing or invalid API key). */\n onMapLoadError?: (event: { nativeEvent: MapLoadErrorEventPayload }) => void;\n /** Called when the user taps the map. */\n onTap?: (event: { nativeEvent: TapEventPayload }) => void;\n /** Called on each device-location update (requires `locationDisplay`). */\n onLocationChange?: (event: { nativeEvent: LocationEventPayload }) => void;\n /** Coordinate-grid overlay (MGRS / UTM / USNG / latitude-longitude). `null` / omitted = none. */\n grid?: GridConfig | null;\n};\n\n/** A coordinate-grid overlay for a `<MapView>` / `<SceneView>`. */\nexport type GridConfig = {\n /** Grid type: military grid (MGRS), UTM, US National Grid, or latitude-longitude. */\n type: 'mgrs' | 'utm' | 'usng' | 'latitude-longitude';\n /** Whether the grid is drawn. Defaults to `true`. */\n visible?: boolean;\n};\n\n/** Common operational-layer props (subset of ArcGIS layer properties). */\nexport type LayerProps = {\n /** Layer opacity, 0–1. */\n opacity?: number;\n /** Whether the layer is visible. */\n visible?: boolean;\n /**\n * The map scale denominator at which the layer becomes hidden when zooming out (larger number =\n * more zoomed out). A value of `0` means no minimum-scale limit. Example: `2_000_000` hides the\n * layer when the map shows a country-level view.\n */\n minScale?: number;\n /**\n * The map scale denominator at which the layer becomes hidden when zooming in (smaller number =\n * more zoomed in). A value of `0` means no maximum-scale limit. Example: `5_000` hides the layer\n * at street-level zoom.\n */\n maxScale?: number;\n};\n\n/** Source for a `<FeatureLayer>`'s feature table — a feature service or a local shapefile. */\nexport type FeatureTableSource =\n | { type: 'service'; url: string }\n | { type: 'shapefile'; path: string };\n\n/**\n * Styles a `<FeatureLayer>` with a `DictionarySymbolStyle` (military / emergency symbology).\n *\n * Provide either `styleName` (a web-style name hosted on ArcGIS Online, e.g. `\"mil2525d\"`) or\n * `portalItemUrl` (a direct URL whose `id=` query parameter is used as the portal item id).\n * At least one must be set; `portalItemUrl` takes precedence when both are provided.\n *\n * The style is loaded asynchronously via the SDK's `Loadable` mechanism. The layer's renderer is\n * updated once the load completes. If the load fails the renderer is left unchanged and an error\n * is printed to the native log.\n *\n * @example\n * ```tsx\n * // web style by name — resolves against ArcGIS Online (anonymous)\n * <FeatureLayer url={...} dictionaryRenderer={{ styleName: 'mil2525d' }} />\n *\n * // explicit portal item URL (item id extracted automatically)\n * <FeatureLayer url={...} dictionaryRenderer={{ portalItemUrl: 'https://www.arcgis.com/home/item.html?id=c78b149a1d52414682c86a5feeb13d30' }} />\n * ```\n */\nexport type DictionaryRendererProp = {\n /**\n * Web-style name (e.g. `\"mil2525d\"`, `\"mil2525c\"`, `\"app6b\"`).\n * Resolved against ArcGIS Online (`https://www.arcgis.com`) as an anonymous portal item.\n * `portalItemUrl` takes precedence when both are set.\n */\n styleName?: string;\n /**\n * Full URL to a portal item hosting the dictionary symbol style.\n * The item id is extracted from the `id=` query-string parameter, e.g.:\n * `https://www.arcgis.com/home/item.html?id=c78b149a1d52414682c86a5feeb13d30`\n * Takes precedence over `styleName` when both are provided.\n */\n portalItemUrl?: string;\n};\n\n/**\n * Props for a `<FeatureLayer>` — mirror the native `FeatureLayer`. Provide either `url`\n * (feature-service shorthand) or an explicit `source`.\n */\nexport type FeatureLayerProps = LayerProps & {\n /** Feature service URL — shorthand for `source: { type: 'service', url }`. */\n url?: string;\n /** Explicit feature-table source (service or local shapefile). */\n source?: FeatureTableSource;\n /**\n * Display a pre-built layer handle instead of constructing one from `url` / `source` — e.g. a\n * table from `ServiceGeodatabaseHandle.getFeatureLayer` (branch versioning) or\n * `GeodatabaseHandle.getFeatureLayer` (local geodatabase transactions). When set, `url` / `source`\n * are ignored; other props (`renderer`, `visible`, …) still apply.\n */\n layer?: FeatureLayerHandle;\n /** Overrides the layer's symbology (simple / unique-value / class-breaks). */\n renderer?: Renderer;\n /**\n * Styles the layer with a `DictionarySymbolStyle` for military / emergency symbology\n * (MIL-STD-2525, APP-6, etc.). Loaded asynchronously; the renderer updates once ready.\n * Mutually exclusive with `renderer` — set one or the other.\n */\n dictionaryRenderer?: DictionaryRendererProp;\n /** Whether the layer's labels are drawn. */\n labelsEnabled?: boolean;\n /** Label rules applied to the layer's features. */\n labels?: LabelDefinition[];\n /** Aggregates dense features into clusters (feature reduction). */\n featureReduction?: FeatureReduction;\n /**\n * Hides features not matching a where-clause on the client — no server round-trip.\n * Set to `null` or omit to clear the filter and show all features.\n */\n displayFilter?: { whereClause: string; name?: string } | null;\n /**\n * Activates different where-clause filters at different map scales — client-side, no server\n * round-trip. Each entry covers a `[minScale, maxScale]` range; `0` means unbounded.\n * Maps to `ScaleDisplayFilterDefinition` on both platforms.\n * Set to `null` or omit to show all features.\n *\n * @example\n * ```tsx\n * scaleDisplayFilter={[\n * { minScale: 0, maxScale: 100000, whereClause: \"TYPE = 'major'\" }, // zoomed out\n * { minScale: 100000, maxScale: 0, whereClause: \"1=1\" }, // zoomed in\n * ]}\n * ```\n */\n scaleDisplayFilter?: { minScale?: number; maxScale?: number; whereClause: string }[] | null;\n /**\n * How often (in seconds) the layer automatically re-fetches its features from the service.\n * `0` or omitted disables auto-refresh. Maps to `refreshInterval` (milliseconds) on Android\n * and `refreshInterval: TimeInterval?` (seconds) on iOS.\n */\n refreshInterval?: number;\n};\n\n/** One field in a `<FeatureCollectionLayer>` schema. */\nexport type FeatureCollectionField = {\n /** Field name (used as the attribute key). */\n name: string;\n /** Field data type. */\n type: 'text' | 'int16' | 'integer' | 'long' | 'double' | 'date';\n /** Display alias (defaults to `name`). */\n alias?: string;\n /** Maximum length for `text` fields (default 255). */\n length?: number;\n};\n\n/** One in-memory feature for a `<FeatureCollectionLayer>`. */\nexport type FeatureCollectionFeatureSpec = {\n /** Attribute values keyed by field name. */\n attributes?: Record<string, unknown>;\n /** The feature's geometry. */\n geometry?: Geometry;\n};\n\n/**\n * Props for `<FeatureCollectionLayer>` — an in-memory layer built from a client-side schema and\n * features (no feature service). `fields` and `features` are read once at construction; `opacity`,\n * `visible` and `renderer` update reactively.\n */\nexport type FeatureCollectionLayerProps = LayerProps & {\n /** The collection's field schema. */\n fields: FeatureCollectionField[];\n /** The features (attributes + geometry) to display. */\n features: FeatureCollectionFeatureSpec[];\n /** Optional renderer to symbolize the features. */\n renderer?: Renderer;\n};\n\n/** Clustering feature reduction — aggregates nearby features into a single symbol. */\nexport type ClusterReduction = {\n type: 'cluster';\n /** Renderer for the cluster symbols (e.g. graduated by count). Defaults to a blue circle. */\n renderer?: Renderer;\n /** Cluster cell radius in points. */\n radius?: number;\n /** Smallest cluster symbol size in points. */\n minSymbolSize?: number;\n /** Largest cluster symbol size in points. */\n maxSymbolSize?: number;\n /** Whether reduction is active. Defaults to `true`. */\n enabled?: boolean;\n};\n\n/** Feature reduction applied to a `<FeatureLayer>`. Mirrors the native `FeatureReduction`. */\nexport type FeatureReduction = ClusterReduction;\n\n// ────────────────────────────────────────────────────────────────────────────\n// Query — imperative attribute / spatial queries against a `<FeatureLayer>`.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Spatial relationship between the query `geometry` and a feature's geometry. */\nexport type SpatialRelationship =\n | 'intersects'\n | 'contains'\n | 'crosses'\n | 'disjoint'\n | 'envelopeIntersects'\n | 'equals'\n | 'overlaps'\n | 'touches'\n | 'within'\n | 'relate';\n\n/** A sort clause for a query (`ascending` defaults to `true`). */\nexport type OrderByField = { field: string; ascending?: boolean };\n\n/** Criteria for a feature query. Mirrors the native `QueryParameters`. */\nexport type QueryParameters = {\n /** SQL `where` clause (e.g. `POP > 1000000`). */\n whereClause?: string;\n /** Geometry to test against, with `spatialRelationship`. */\n geometry?: Geometry;\n /** Spatial relationship for `geometry`. Defaults to `intersects`. */\n spatialRelationship?: SpatialRelationship;\n /** Maximum number of features to return. */\n maxFeatures?: number;\n /** Whether to include each feature's geometry. Defaults to `true`. */\n returnGeometry?: boolean;\n /** Restrict the query to these object ids. */\n objectIds?: number[];\n /** Sort order of the results (object form with explicit `ascending` flag). */\n orderBy?: OrderByField[];\n /**\n * Sort order of the results as `\"FIELD [ASC|DESC]\"` strings, e.g. `['POP DESC', 'NAME ASC']`.\n * Parsed into native `OrderBy` objects; appended after any `orderBy` entries.\n * Omitting the direction defaults to ascending.\n */\n orderByFields?: string[];\n /** Skip this many results (paging). */\n resultOffset?: number;\n /**\n * Restrict which attribute fields are returned, e.g. `['NAME', 'POP']`.\n * Pass `['*']` or omit to include all fields (the default).\n * Implemented as a post-query client-side filter on both platforms (the native\n * `QueryParameters` does not expose per-field selection for `queryFeatures`).\n */\n outFields?: string[];\n};\n\n/** A feature returned by a query — its attributes plus (optionally) its geometry. */\nexport type Feature = {\n attributes: Record<string, unknown>;\n geometry: Geometry | null;\n};\n\n/** A statistic to compute over a field. Mirrors the native `StatisticType`. */\nexport type StatisticType =\n | 'count'\n | 'sum'\n | 'min'\n | 'max'\n | 'average'\n | 'standardDeviation'\n | 'variance';\n\n/** One computed statistic — a `type` over a `field`, optionally renamed via `outName`. */\nexport type StatisticDefinition = {\n field: string;\n type: StatisticType;\n /** Output column name for the statistic (defaults to a generated name). */\n outName?: string;\n};\n\n/** Criteria for a statistics query. Mirrors the native `StatisticsQueryParameters`. */\nexport type StatisticsQueryParameters = {\n statistics: StatisticDefinition[];\n /** SQL `where` clause limiting which features are aggregated. */\n whereClause?: string;\n /** Fields to group the statistics by (one record per group). */\n groupBy?: string[];\n /** Sort order of the records. */\n orderBy?: OrderByField[];\n};\n\n/** One row of a statistics query — the `group` field values plus the computed `statistics`. */\nexport type StatisticRecord = {\n group: Record<string, unknown>;\n statistics: Record<string, unknown>;\n};\n\n/** One layer's hits from a `<MapView>` `identify` (the features under a screen point). */\nexport type IdentifyResult = {\n /** Name of the layer the features belong to. */\n layerName: string;\n /** Identified features in that layer. */\n features: Feature[];\n};\n\n/** An evaluated popup from `identifyPopups` — a title plus formatted field label/value pairs. */\nexport type PopupResult = {\n /** The popup's (evaluated) title. */\n title: string;\n /** Formatted fields, in the layer's popup-definition order. */\n fields: { label: string; value: string }[];\n};\n\n/** Imperative handle exposed by `<MapView>` via `ref`. */\nexport type MapViewHandle = {\n /**\n * Identifies the features under a screen point (in points, e.g. from `onTap`'s `screenPoint`).\n * Returns one `IdentifyResult` per layer that has hits.\n */\n identify(\n screenPoint: { x: number; y: number },\n options?: { tolerance?: number; maxResults?: number }\n ): Promise<IdentifyResult[]>;\n /**\n * Identifies popups under a screen point and evaluates them — returns each popup's title and its\n * formatted fields. Requires the layers to have popups enabled.\n */\n identifyPopups(\n screenPoint: { x: number; y: number },\n options?: { tolerance?: number; maxResults?: number }\n ): Promise<PopupResult[]>;\n /** Retries loading the map after a failure (e.g. a network outage). Re-fires `onMapLoaded`/`onMapLoadError`. */\n retryLoad(): Promise<void>;\n /** Names of the displayed map's bookmarks (e.g. those saved in a loaded web map). */\n getBookmarkNames(): Promise<string[]>;\n /** Navigates to the named bookmark's viewpoint; resolves to whether a matching bookmark was found. */\n setBookmark(name: string): Promise<boolean>;\n};\n\n/** Imperative handle exposed by `<SceneView>` via `ref`. */\nexport type SceneViewHandle = {\n /** Identifies the features under a screen point (3D; in points, e.g. from `onTap`'s `screenPoint`). */\n identify(\n screenPoint: { x: number; y: number },\n options?: { tolerance?: number; maxResults?: number }\n ): Promise<IdentifyResult[]>;\n /** Identifies and evaluates popups under a screen point (3D); returns each popup's title + fields. */\n identifyPopups(\n screenPoint: { x: number; y: number },\n options?: { tolerance?: number; maxResults?: number }\n ): Promise<PopupResult[]>;\n /** Retries loading the scene after a failure (e.g. a network outage). Re-fires `onSceneLoaded`/`onSceneLoadError`. */\n retryLoad(): Promise<void>;\n /**\n * The terrain elevation (in meters) on the scene's base surface at a geographic point, or `null`\n * if no surface/elevation is available there.\n */\n getElevation(point: Point): Promise<number | null>;\n};\n\n/** Imperative query handle exposed by `<FeatureLayer>` via `ref`. */\n/** An editing template published with a feature table. Mirrors `FeatureTemplate`. */\nexport type FeatureTemplate = {\n /** Template name. */\n name: string;\n /** Attribute values a new feature created from this template starts with. */\n prototypeAttributes: Record<string, unknown>;\n};\n\n/** Result of one edit applied via `applyEdits`. */\nexport type EditResult = {\n /** Object id of the edited feature. */\n objectId: number;\n /** Whether the server reported an error for this edit. */\n completedWithErrors: boolean;\n};\n\n/** A group of features related to a source feature through one relationship. */\nexport type RelatedFeaturesResult = {\n /** Id of the relationship these features belong to. */\n relationshipId: number;\n /** The related features. */\n features: Feature[];\n};\n\n/** Metadata for a single attachment on an `ArcGISFeature`. */\nexport type AttachmentInfo = {\n /** Unique identifier for this attachment on the feature. */\n id: number;\n /** File name of the attachment (e.g. `\"photo.jpg\"`). */\n name: string;\n /** MIME type (e.g. `\"image/jpeg\"`). */\n contentType: string;\n /** Size in bytes. */\n size: number;\n};\n\n/**\n * One valid contingent value entry, discriminated by `type`:\n * - `\"coded\"` — a specific coded-value domain entry is valid; `codedValue.code` is the domain code.\n * - `\"range\"` — any numeric value in `[min, max]` is valid.\n * - `\"null\"` — a null / empty value is explicitly allowed for this field.\n * - `\"any\"` — any value is allowed (corresponds to `ContingentAnyValue`).\n *\n * `fieldGroupName` identifies which contingent-values field group this constraint belongs to,\n * allowing callers to match constraints to the group they were defined under.\n */\nexport type ContingentValueEntry =\n | { type: 'coded'; fieldGroupName: string; codedValue: { name: string; code: unknown } }\n | { type: 'range'; fieldGroupName: string; min: unknown; max: unknown }\n | { type: 'null'; fieldGroupName: string }\n | { type: 'any'; fieldGroupName: string };\n\n/**\n * Result of `FeatureLayerHandle.getContingentValues` — the field name that was queried plus\n * all valid contingent values for that field given the feature's current attribute state.\n * An empty `contingentValues` array means no constraints are defined (all values are valid).\n */\nexport type ContingentValuesResult = {\n /** The field name that was queried. */\n fieldName: string;\n /** The valid contingent values, organised across all field groups that reference this field. */\n contingentValues: ContingentValueEntry[];\n};\n\nexport type FeatureLayerHandle = {\n /** Returns the features matching `query` (all features when omitted). */\n queryFeatures(query?: QueryParameters): Promise<Feature[]>;\n /** Returns the number of features matching `query`. */\n queryFeatureCount(query?: QueryParameters): Promise<number>;\n /** Returns the combined extent (envelope) of the features matching `query`. */\n queryExtent(query?: QueryParameters): Promise<Geometry | null>;\n /** Computes aggregate statistics over the layer's features. */\n queryStatistics(query: StatisticsQueryParameters): Promise<StatisticRecord[]>;\n /** Returns the table's editing templates (name + prototype attributes), for building edit UIs. */\n queryFeatureTemplates(): Promise<FeatureTemplate[]>;\n /**\n * Adds a feature (attributes + optional geometry) to the layer's table. By default pushes the\n * edit to the service and resolves to the new object id; pass `apply: false` to make a local-only\n * edit, then batch with `applyEdits`. Resolves to `null` for non-service tables or local edits.\n */\n addFeature(\n attributes: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n /**\n * Creates a feature from the named editing template (so the new feature inherits the template's\n * prototype attributes), then optionally overrides `attributes` on top and sets `geometry`.\n * By default pushes the edit to the service and resolves to the new object id; pass\n * `apply: false` to make a local-only edit. Rejects if no template with that name exists.\n * Requires an ArcGIS feature table (service or mobile geodatabase) — rejects for shapefiles\n * and WFS tables, which do not expose editing templates.\n *\n * @example\n * ```ts\n * const id = await layer.current.addFeatureWithTemplate(\n * 'Residential',\n * { ADDRESS: '1 Main St' },\n * { type: 'point', x: -117.19, y: 34.05 }\n * );\n * ```\n */\n addFeatureWithTemplate(\n templateName: string,\n attributes?: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n /**\n * Creates a feature from the named feature subtype (sets the subtype field and inherits the\n * subtype's default attribute values), then optionally overrides `attributes` on top and sets\n * `geometry`. By default pushes the edit to the service and resolves to the new object id;\n * pass `apply: false` to make a local-only edit. Rejects if no subtype with that name exists.\n * Requires an ArcGIS feature table (service or mobile geodatabase) — rejects for shapefiles\n * and WFS tables, which do not expose feature subtypes.\n *\n * @example\n * ```ts\n * const id = await layer.current.addFeatureWithSubtype(\n * 'Arterial',\n * { ROADNAME: 'Main St' },\n * { type: 'point', x: -117.19, y: 34.05 }\n * );\n * ```\n */\n addFeatureWithSubtype(\n subtypeName: string,\n attributes?: Record<string, unknown>,\n geometry?: Geometry,\n apply?: boolean\n ): Promise<number | null>;\n /** Updates the feature with `objectId`. Pass `apply: false` for a local-only edit. */\n updateFeature(\n objectId: number,\n changes: { attributes?: Record<string, unknown>; geometry?: Geometry },\n apply?: boolean\n ): Promise<void>;\n /** Deletes the feature with `objectId`. Pass `apply: false` for a local-only edit. */\n deleteFeature(objectId: number, apply?: boolean): Promise<void>;\n /** Pushes all pending local edits to the service in one batch; resolves to each edit's result. */\n applyEdits(): Promise<EditResult[]>;\n /** Discards all pending local edits made since the last `applyEdits`. */\n undoLocalEdits(): Promise<void>;\n /** Queries features related to `objectId` across all relationships, grouped by relationship. */\n queryRelatedFeatures(objectId: number): Promise<RelatedFeaturesResult[]>;\n /** Returns the metadata for all attachments on the feature with `objectId`. */\n queryAttachments(objectId: number): Promise<AttachmentInfo[]>;\n /**\n * Adds an attachment to the feature with `objectId` and immediately persists the edit.\n * @param name File name (e.g. `\"photo.jpg\"`).\n * @param contentType MIME type (e.g. `\"image/jpeg\"`).\n * @param dataBase64 Base64-encoded file contents.\n */\n addAttachment(objectId: number, name: string, contentType: string, dataBase64: string): Promise<void>;\n /**\n * Fetches the binary data for the attachment with `attachmentId` on the feature with `objectId`\n * and returns it as a base64 string.\n */\n fetchAttachment(objectId: number, attachmentId: number): Promise<string>;\n /** Deletes the attachment with `attachmentId` from the feature with `objectId` and persists. */\n deleteAttachment(objectId: number, attachmentId: number): Promise<void>;\n /**\n * Updates the attachment with `attachmentId` on the feature with `objectId` and persists.\n * @param name New file name (e.g. `\"photo.jpg\"`).\n * @param contentType New MIME type (e.g. `\"image/jpeg\"`).\n * @param dataBase64 New base64-encoded file contents.\n */\n updateAttachment(objectId: number, attachmentId: number, name: string, contentType: string, dataBase64: string): Promise<void>;\n /**\n * Returns the branch-versioning handle for this layer's service geodatabase (ArcGIS Enterprise\n * branch-versioned services only). Loads the table first; rejects if the layer is not a service\n * feature layer. The same handle is returned on repeat calls.\n */\n getServiceGeodatabase(): Promise<ServiceGeodatabaseHandle>;\n /**\n * Returns the valid coded values for `fieldName` given the feature's current `attributes`.\n * Use this to drive editing-form dropdowns: pass the feature's current attribute state and the\n * name of the field being edited; returns `[{ name, code }]` for coded values that satisfy all\n * contingent-value constraints defined on the table.\n *\n * The table and its `ContingentValuesDefinition` are loaded automatically. A temporary feature\n * is built from `attributes` (no server round-trip for the feature itself); only `ArcGISFeature`\n * tables are supported — rejects for shapefiles and WFS tables.\n *\n * @example\n * ```ts\n * const options = await layer.current.contingentValues({ habitat: 'oak' }, 'species');\n * // options → [{ name: 'Red Oak', code: 1 }, { name: 'White Oak', code: 2 }]\n * ```\n */\n contingentValues(attributes: Record<string, unknown>, fieldName: string): Promise<{ name: string; code: unknown }[]>;\n /**\n * Returns the valid contingent values for `fieldName` on the feature with `objectId`, given\n * the feature's current attribute state. Contingent values constrain which attribute values\n * are valid based on the values of other fields (e.g. \"species\" options depend on \"habitat\").\n *\n * Requires an ArcGIS feature table (service or mobile geodatabase) — rejects for shapefiles\n * and WFS tables. Resolves with an empty `contingentValues` list when no constraints apply.\n *\n * @example\n * ```ts\n * const result = await layer.current.getContingentValues(42, 'species');\n * // result.contingentValues[0] → { type: 'coded', fieldGroupName: 'HabitatGroup',\n * // codedValue: { name: 'Oak', code: 1 } }\n * ```\n */\n getContingentValues(objectId: number, fieldName: string): Promise<ContingentValuesResult>;\n};\n\n/** Branch-version access level. */\nexport type VersionAccess = 'public' | 'protected' | 'private';\n\n/** Metadata for one branch version of a service geodatabase. */\nexport type ServiceVersionInfo = {\n /** Fully-qualified version name (e.g. `\"OWNER.versionName\"`). */\n name: string;\n /** Free-text description. */\n description: string;\n /** Who may see / edit the version. */\n access: VersionAccess;\n /** Whether the current user owns this version. */\n isOwner: boolean;\n /** Server-assigned version GUID, when available. */\n versionId?: string;\n};\n\n/** Parameters for creating a new branch version. */\nexport type CreateVersionParams = {\n /** Short version name (the server prefixes the owner). */\n name: string;\n /** Optional description. */\n description?: string;\n /** Access level. Defaults to `\"public\"`. */\n access?: VersionAccess;\n};\n\n/**\n * Handle to a service geodatabase's branch-versioning surface, from\n * `FeatureLayerHandle.getServiceGeodatabase()`. Manages named versions and pushes the service-wide\n * local edits (across every connected table) to the active version. Edit features through the\n * `<FeatureLayer>` handle with `apply: false`, then call `applyEdits()` here to push them — distinct\n * from the table-level `FeatureLayerHandle.applyEdits()`, which pushes only this layer's table.\n */\nexport type ServiceGeodatabaseHandle = {\n /** Lists all branch versions on the service. */\n fetchVersions(): Promise<ServiceVersionInfo[]>;\n /** Creates a new branch version and resolves with its info. */\n createVersion(params: CreateVersionParams): Promise<ServiceVersionInfo>;\n /** Switches the active version (rejects if there are outstanding local edits). */\n switchVersion(name: string): Promise<void>;\n /** Pushes all connected tables' local edits to the active version in one batch. */\n applyEdits(): Promise<EditResult[]>;\n /** Discards all local edits across connected tables. */\n undoLocalEdits(): Promise<void>;\n /** Whether any connected table has unsaved local edits. */\n hasLocalEdits(): boolean;\n /** The active version's name. */\n getVersionName(): string;\n /** The default version name (e.g. `\"sde.DEFAULT\"`). */\n getDefaultVersionName(): string;\n /** Whether the service supports branch versioning. */\n supportsBranchVersioning(): boolean;\n /**\n * Returns a `<FeatureLayer layer>`-attachable handle for the service table with `layerId`, bound to\n * the active version — its edits join the version's local edits (pushed by `applyEdits`).\n */\n getFeatureLayer(layerId: number): FeatureLayerHandle;\n};\n\n/**\n * A local mobile geodatabase (`.geodatabase` file) opened with `offline.openGeodatabase(path)`. Wrap\n * a batch of edits in `beginTransaction` then `commitTransaction` (persist) or `rollbackTransaction`\n * (discard). Edits target a feature table by name.\n */\nexport type GeodatabaseHandle = {\n /** Starts a transaction. Subsequent edits are buffered until commit or rollback. */\n beginTransaction(): Promise<void>;\n /** Persists all edits made since `beginTransaction`. */\n commitTransaction(): Promise<void>;\n /** Discards all edits made since `beginTransaction`. */\n rollbackTransaction(): Promise<void>;\n /** Whether a transaction is currently open. */\n isInTransaction(): boolean;\n /** The names of the geodatabase's feature tables. */\n getFeatureTableNames(): string[];\n /** Counts features in `tableName` matching `whereClause` (all when omitted). */\n queryFeatureCount(tableName: string, whereClause?: string): Promise<number>;\n /** Adds a feature to `tableName`; local until the transaction is committed. */\n addFeature(\n tableName: string,\n attributes: Record<string, unknown>,\n geometry?: Geometry\n ): Promise<void>;\n /**\n * Returns a `<FeatureLayer layer>`-attachable handle for `tableName` — display and edit the table\n * on a map; edits join the open transaction.\n */\n getFeatureLayer(tableName: string): FeatureLayerHandle;\n};\n\n/** A label rule for a `<FeatureLayer>` — mirrors the native `LabelDefinition`. */\nexport type LabelDefinition = {\n /**\n * Label expression. A simple field expression (`[FIELD]`) by default, or an Arcade\n * expression (`$feature.FIELD`) when `useArcade` is set.\n */\n expression: string;\n /** Treat `expression` as an Arcade expression instead of a simple field expression. */\n useArcade?: boolean;\n /** Text symbol for the labels. Defaults to black 12 pt. */\n symbol?: TextSymbol;\n /** Optional SQL `where` clause limiting which features are labeled. */\n whereClause?: string;\n};\n\n/** Props for a `<TileLayer>` — mirror the native `ArcGISTiledLayer`. */\nexport type TileLayerProps = LayerProps & {\n /** URL of the tiled map service. */\n url: string;\n};\n\n/** Props for a `<MapImageLayer>` — mirror the native `ArcGISMapImageLayer` (dynamic map service). */\nexport type MapImageLayerProps = LayerProps & {\n /** URL of the dynamic map service (`.../MapServer`). */\n url: string;\n};\n\n/** Props for a `<SceneLayer>` — mirror the native `ArcGISSceneLayer` (3D objects / integrated mesh). */\nexport type SceneLayerProps = LayerProps & {\n /** URL of the scene service (`.../SceneServer`). */\n url: string;\n};\n\n/** Props for a `<VectorTileLayer>` — mirror the native `ArcGISVectorTiledLayer`. */\nexport type VectorTileLayerProps = LayerProps & { url: string };\n\n/** Props for an `<IntegratedMeshLayer>` (3D) — mirror the native `IntegratedMeshLayer`. */\nexport type IntegratedMeshLayerProps = LayerProps & { url: string };\n\n/** Props for a `<PointCloudLayer>` (3D) — mirror the native `PointCloudLayer`. */\nexport type PointCloudLayerProps = LayerProps & { url: string };\n\n/** Props for an `<Ogc3DTilesLayer>` (3D) — mirror the native OGC 3D Tiles layer. */\nexport type Ogc3DTilesLayerProps = LayerProps & { url: string };\n\n/** Props for a `<WebTiledLayer>` — mirror `WebTiledLayer` (`{level}/{row}/{col}` URL template). */\nexport type WebTiledLayerProps = LayerProps & { urlTemplate: string };\n\n/** Props for an `<OpenStreetMapLayer>` — the built-in OSM tiles as an operational layer. */\nexport type OpenStreetMapLayerProps = LayerProps;\n\n/** Props for a `<WmsLayer>` — mirror the native WMS layer (service URL + visible layer names). */\nexport type WmsLayerProps = LayerProps & { url: string; layerNames: string[] };\n\n/** Props for a `<WmtsLayer>` — mirror the native WMTS layer (service URL + layer id). */\nexport type WmtsLayerProps = LayerProps & { url: string; layerId: string };\n\n/** Raster source for a `<RasterLayer>`: a remote ArcGIS image service or a local raster file. */\nexport type RasterSource = { type: 'imageService'; url: string } | { type: 'file'; path: string };\n\n/** Props for a `<RasterLayer>` — mirror the native `RasterLayer` (image service or local raster). */\nexport type RasterLayerProps = LayerProps & {\n source: RasterSource;\n /**\n * On-the-fly raster function chain to apply to the layer's raster, serialised as JSON\n * (e.g. a hillshade / colormap / NDVI chain). When set, the SDK builds a\n * `RasterFunction.fromJSON` → `Raster(rasterFunction:)` pipeline with the source raster\n * wired in as the first raster argument. Construction-time only — changing this prop\n * requires remounting the layer.\n */\n rasterFunction?: string;\n};\n\n/** Props for a `<KmlLayer>` — mirror `KMLLayer` (remote `.kml`/`.kmz` URL or local file). */\nexport type KmlLayerProps = LayerProps & { url: string };\n\n/** Annotation layer (map text stored as annotation features) from a feature service URL. */\nexport type AnnotationLayerProps = LayerProps & { url: string };\n\n/** Dimension layer (engineering/measurement dimensions) from a feature service URL. */\nexport type DimensionLayerProps = LayerProps & { url: string };\n\n/** 3D building scene layer (disciplines + building levels) from a scene service URL. */\nexport type BuildingSceneLayerProps = LayerProps & { url: string };\n\n/** Oriented imagery layer (photos with position/orientation) from a feature service URL. */\nexport type OrientedImageryLayerProps = LayerProps & { url: string };\n\n/** Subtype feature layer (one sublayer per subtype) from a feature service URL. */\nexport type SubtypeFeatureLayerProps = LayerProps & { url: string };\n\n/**\n * Props for a `<GeoPackageLayer>` — displays a feature table from a local `.gpkg` file.\n * The GeoPackage is opened asynchronously; the layer appears once the load completes.\n */\nexport type GeoPackageLayerProps = LayerProps & {\n /** Absolute path to the local `.gpkg` file. */\n path: string;\n /**\n * Name of the feature table to display. When omitted, the first table in the GeoPackage is used.\n * Construction-only — remount to change.\n */\n tableName?: string;\n};\n\n/** WFS (Web Feature Service) layer — a feature layer over `WFSFeatureTable`. */\nexport type WfsLayerProps = LayerProps & {\n /** WFS service URL. */\n url: string;\n /** Feature type / table name to display (e.g. `'namespace:typeName'`). */\n tableName: string;\n};\n\n/** OGC API - Features layer — a feature layer over `OGCFeatureCollectionTable`. */\nexport type OgcFeatureLayerProps = LayerProps & {\n /** OGC API - Features landing-page URL. */\n url: string;\n /** Collection id to display. */\n collectionId: string;\n};\n\n/** Connection state of a real-time `DynamicEntityDataSource`. Mirrors `ConnectionStatus`. */\nexport type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'failed';\n\n/**\n * The kind of entity lifecycle event emitted by `onDynamicEntityChange`.\n * - `received` — a new or updated entity observation arrived (fires once per entity, not per\n * observation, so attribute-only updates within the same entity are collapsed).\n * - `purged` — the entity was evicted by the data source's purge rules.\n */\nexport type DynamicEntityChangeType = 'received' | 'purged';\n\n/**\n * Payload for the `<DynamicEntityLayer onDynamicEntityChange>` event.\n * Contains the entity's current attribute snapshot and geometry at the time of the event.\n */\nexport type DynamicEntityChange = {\n /** Whether the entity arrived/updated (`received`) or was evicted (`purged`). */\n changeType: DynamicEntityChangeType;\n /** The entity's unique numeric id (from the data source's `entityIDField`). */\n entityId: number;\n /** The entity's current attribute values (snapshot at event time). */\n attributes: Record<string, unknown>;\n /** The entity's current geometry, or `undefined` when unavailable. */\n geometry?: Geometry;\n};\n\n/** Track display options for a `<DynamicEntityLayer>` (history of past observations). */\nexport type TrackDisplay = {\n /** How many past observations to keep per track. */\n maximumObservations?: number;\n /** Whether to draw previous observations (the track line/points). */\n showsPreviousObservations?: boolean;\n};\n\n/** Field definition for a custom dynamic-entity data source. */\nexport type DynamicEntityField = {\n name: string;\n /** Field type. Defaults to `text`. */\n type?: 'text' | 'int32' | 'int64' | 'float64' | 'date';\n};\n\n/** Config for a `CustomDynamicEntityDataSource` — push your own observations via `pushObservation`. */\nexport type CustomDynamicSource = {\n /** Attribute that identifies an entity (observations sharing it form one track). */\n entityIdField: string;\n /** The observation attribute schema. */\n fields: DynamicEntityField[];\n};\n\n/**\n * Purge-options for a `<DynamicEntityLayer>` data source — bounds the observation history kept in\n * memory. Mirrors the native `DynamicEntityDataSource.PurgeOptions` (Swift) /\n * `DynamicEntityDataSourcePurgeOptions` (Kotlin).\n *\n * Both fields are optional; omit a field to leave that limit unset (the SDK default is no limit).\n */\nexport type DynamicEntityPurgeOptions = {\n /**\n * Maximum total number of observations retained across **all** entities.\n * When exceeded, the oldest observations are evicted globally.\n */\n maximumObservations?: number;\n /**\n * Maximum age of observations to retain, in **seconds**.\n * Observations older than this value are evicted automatically.\n * Maps to `maximumDuration` on the native `PurgeOptions` object.\n */\n maximumDuration?: number;\n};\n\n/** Props for `<DynamicEntityLayer>` — real-time moving entities from a stream service or custom feed. */\nexport type DynamicEntityLayerProps = LayerProps & {\n /** Stream service URL (a real-time WebSocket feed of moving entities). */\n streamServiceUrl?: string;\n /** Alternative to `streamServiceUrl`: a custom data source you feed via the ref's `pushObservation`. */\n customSource?: CustomDynamicSource;\n /** Track display (history of past observations). */\n trackDisplay?: TrackDisplay;\n /** Stream-service filter — only entities matching `whereClause` (and/or within `geometry`) stream in. */\n filter?: { whereClause?: string; geometry?: Geometry };\n /**\n * Bounds the observation history kept in memory by the data source. Set either field to limit how\n * many total observations or how much elapsed time the stream retains across all dynamic entities.\n */\n purgeOptions?: DynamicEntityPurgeOptions;\n /** Fired as the data source connects / disconnects. */\n onConnectionStatusChange?: (status: ConnectionStatus) => void;\n /**\n * Fired when a dynamic entity is received (new/updated) or purged. High-frequency on busy\n * stream services — only entity lifecycle events are emitted (one per entity arrival or purge),\n * not per-observation attribute updates.\n */\n onDynamicEntityChange?: (event: { nativeEvent: DynamicEntityChange }) => void;\n};\n\n/** A live dynamic entity returned by `queryDynamicEntities`. */\nexport type DynamicEntityInfo = {\n attributes: Record<string, unknown>;\n geometry: Geometry | null;\n};\n\n/** A single historical observation returned by `queryObservations`. */\nexport type DynamicEntityObservationInfo = {\n attributes: Record<string, unknown>;\n geometry?: Geometry;\n};\n\n/** Imperative handle exposed by `<DynamicEntityLayer>` via `ref`. */\nexport type DynamicEntityLayerHandle = {\n /** Returns the data source's currently-tracked dynamic entities. */\n queryDynamicEntities(): Promise<{ count: number; entities: DynamicEntityInfo[] }>;\n /**\n * Returns the observation history for the entity with the given track id, newest first,\n * capped at `max` entries (default 100). Returns an empty array if the entity is not found.\n */\n queryObservations(entityId: string, max?: number): Promise<DynamicEntityObservationInfo[]>;\n /** Pushes an observation into a `customSource` (attributes + geometry). */\n pushObservation(attributes: Record<string, unknown>, geometry: Geometry): void;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Geometries — mirror the native `Geometry` types (`Point` / `Polyline` / `Polygon`).\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Well-known ID (WKID) of a coordinate system. `4326` = WGS84, `3857` = Web Mercator. */\nexport type SpatialReference = number;\n\n/**\n * A point geometry — `x` is longitude and `y` is latitude in a geographic spatial\n * reference. Mirrors the native `Point(x:y:spatialReference:)`.\n */\nexport type Point = {\n x: number;\n y: number;\n /** Altitude in meters. Used by 3D scenes (camera position, elevated geometries). */\n z?: number;\n /** Coordinate system WKID. Defaults to `4326` (WGS84). */\n spatialReference?: SpatialReference;\n};\n\n/** A multipoint geometry — an unordered collection of points sharing one symbol. */\nexport type Multipoint = {\n points: Point[];\n /** Coordinate system WKID. Defaults to `4326` (WGS84). */\n spatialReference?: SpatialReference;\n};\n\n/**\n * A polyline geometry — one or more paths. Provide `points` for a single path\n * (shorthand) or `parts` for an explicit multi-path line. Geometry operations\n * (buffer, union, …) return geometries using `parts`.\n */\nexport type Polyline = {\n /** Vertices of a single path — shorthand for a one-part polyline. */\n points?: Point[];\n /** Explicit paths; each inner array is one path. */\n parts?: Point[][];\n /** Coordinate system WKID. Defaults to `4326` (WGS84). */\n spatialReference?: SpatialReference;\n};\n\n/**\n * A polygon geometry — one or more rings (auto-closed). Provide `points` for a\n * single ring (shorthand) or `parts` for an explicit multi-ring polygon.\n */\nexport type Polygon = {\n /** Vertices of a single ring — shorthand for a one-part polygon. */\n points?: Point[];\n /** Explicit rings; each inner array is one ring. */\n parts?: Point[][];\n /** Coordinate system WKID. Defaults to `4326` (WGS84). */\n spatialReference?: SpatialReference;\n};\n\n/** An envelope geometry — an axis-aligned bounding box (the extent of other geometries). */\nexport type Envelope = {\n xMin: number;\n yMin: number;\n xMax: number;\n yMax: number;\n /** Coordinate system WKID. Defaults to `4326` (WGS84). */\n spatialReference?: SpatialReference;\n};\n\n/** Props for the `<ImageOverlay>` component — a georeferenced image displayed on a `<MapView>`. */\nexport type ImageOverlayProps = {\n /** Local image file path to display (e.g. a downloaded or bundled PNG/JPEG). */\n imagePath: string;\n /** The geographic extent (envelope) the image is stretched to fill. */\n extent: Envelope;\n /** Overlay opacity, 0–1. Defaults to `1`. */\n opacity?: number;\n};\n\n/** A node in a KML document tree, returned by `KmlLayerHandle.getNodes()`. */\nexport type KmlNodeInfo = {\n /** Node display name. */\n name: string;\n /** Whether the node is currently visible. */\n visible: boolean;\n /** Node class name (e.g. `KMLDocument` / `KMLFolder` / `KMLPlacemark` / `KMLNetworkLink` / `KMLTour`). */\n type: string;\n /** Child nodes, present for container nodes (documents / folders). */\n children?: KmlNodeInfo[];\n};\n\n/**\n * Imperative handle exposed by `<KmlLayer>` via `ref`.\n *\n * **Tour playback (`playTour` / `pauseTour` / `resetTour`) is iOS-only.** On Android the tour\n * controller cannot drive the camera of the view-based scene view (an ArcGIS Maps SDK limitation —\n * automatic tour playback exists only on the Compose `SceneView`, and the controller exposes no\n * camera/viewpoint to drive it manually). The methods are present on Android but no-op visually.\n */\nexport type KmlLayerHandle = {\n /** Loads the KML and returns its node tree (recursing into container nodes). */\n getNodes(): Promise<KmlNodeInfo[]>;\n /** Starts or resumes playback of the first KML tour found in the layer. No-ops if no tour exists. iOS only (see above). */\n playTour(): void;\n /** Pauses playback of the first KML tour found in the layer. No-ops if no tour exists. iOS only (see above). */\n pauseTour(): void;\n /** Resets playback of the first KML tour found in the layer to the beginning. No-ops if no tour exists. iOS only (see above). */\n resetTour(): void;\n};\n\n/**\n * A geometry value. The `type` discriminator mirrors the ArcGIS web API\n * (`\"point\"` / `\"multipoint\"` / `\"polyline\"` / `\"polygon\"` / `\"envelope\"`) and\n * selects the native geometry class.\n */\nexport type Geometry =\n | ({ type: 'point' } & Point)\n | ({ type: 'multipoint' } & Multipoint)\n | ({ type: 'polyline' } & Polyline)\n | ({ type: 'polygon' } & Polygon)\n | ({ type: 'envelope' } & Envelope);\n\n/** A `point` geometry — convenient alias used where an operation requires a point. */\nexport type PointGeometry = { type: 'point' } & Point;\n\n/** A `polyline` geometry — convenient alias used where an operation returns a line (e.g. a route). */\nexport type PolylineGeometry = { type: 'polyline' } & Polyline;\n\n// ────────────────────────────────────────────────────────────────────────────\n// GeometryEngine — units, curve types and result shapes for spatial operations.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Linear unit for geodesic length/distance/buffer operations. Defaults to `meters`. */\nexport type LinearUnit = 'meters' | 'kilometers' | 'feet' | 'miles' | 'nauticalMiles' | 'yards';\n\n/** Area unit for geodesic area operations. Defaults to `squareMeters`. */\nexport type AreaUnit =\n | 'squareMeters'\n | 'squareKilometers'\n | 'squareFeet'\n | 'squareMiles'\n | 'acres'\n | 'hectares';\n\n/** Curve type for geodesic operations. Defaults to `geodesic`. */\nexport type GeodeticCurveType =\n | 'geodesic'\n | 'loxodrome'\n | 'greatElliptic'\n | 'normalSection'\n | 'shapePreserving';\n\n/** Join style for `geometryEngine.offset`. Defaults to `mitered`. */\nexport type GeometryOffsetType = 'mitered' | 'bevelled' | 'rounded' | 'squared';\n\n/**\n * Angular unit for geodesic ellipse / sector construction. Defaults to `degrees`.\n * Maps to the native `AngularUnit`.\n */\nexport type AngularUnit = 'degrees' | 'radians';\n\n/**\n * Output geometry type for `geometryEngine.ellipseGeodesic` / `sectorGeodesic`.\n * Defaults to `polygon`. Maps to the native `GeometryType`.\n */\nexport type GeodesicGeometryType = 'polygon' | 'polyline' | 'multipoint';\n\n/**\n * Parameters for `geometryEngine.ellipseGeodesic`. Mirrors the native\n * `GeodesicEllipseParameters` (Swift) / `com.arcgismaps.geometry.GeodesicEllipseParameters` (Kotlin).\n */\nexport type GeodesicEllipseParams = {\n /** Center point of the ellipse. */\n center: PointGeometry;\n /** Length of the semi-major axis. */\n semiAxis1Length: number;\n /** Length of the semi-minor axis. */\n semiAxis2Length: number;\n /**\n * Direction of the major axis, in `angularUnit` clockwise from north. Defaults to `0`.\n */\n axisDirection?: number;\n /** Unit for `axisDirection`. Defaults to `degrees`. */\n angularUnit?: AngularUnit;\n /** Unit for `semiAxis1Length` / `semiAxis2Length`. Defaults to `meters`. */\n linearUnit?: LinearUnit;\n /**\n * Maximum segment length on the output geometry. `0` / omitted lets the SDK choose.\n */\n maxSegmentLength?: number;\n /** Maximum number of vertices on the output geometry. Defaults to `10` (SDK default). */\n maxPointCount?: number;\n /** Output geometry type. Defaults to `polygon`. */\n geometryType?: GeodesicGeometryType;\n};\n\n/**\n * Parameters for `geometryEngine.sectorGeodesic`. Extends `GeodesicEllipseParams` with\n * the sector angle and start direction. Mirrors the native `GeodesicSectorParameters`.\n */\nexport type GeodesicSectorParams = GeodesicEllipseParams & {\n /** The angular size of the sector, in `angularUnit`. */\n sectorAngle: number;\n /** The direction from which the sector opens, in `angularUnit` clockwise from north. */\n startDirection: number;\n};\n\n/** Result of `geometryEngine.geodesicDistance` — distance plus the two azimuths (degrees). */\nexport type GeodeticDistanceResult = {\n distance: number;\n azimuth1: number;\n azimuth2: number;\n};\n\n/** Result of `geometryEngine.nearestCoordinate` / `nearestVertex`. */\nexport type ProximityResult = {\n /** The nearest point on the geometry. */\n coordinate: PointGeometry;\n /** Planar distance from the query point to `coordinate`. */\n distance: number;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// CoordinateFormatter — notation formats for converting points to/from strings.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Latitude-longitude string format. Defaults to `decimalDegrees`. */\nexport type LatitudeLongitudeFormat =\n | 'decimalDegrees'\n | 'degreesDecimalMinutes'\n | 'degreesMinutesSeconds';\n\n/** UTM string format. Defaults to `latitudeBandIndicators`. */\nexport type UtmConversionMode = 'latitudeBandIndicators' | 'northSouthIndicators';\n\n/** MGRS string format. Defaults to `automatic`. */\nexport type MgrsConversionMode =\n | 'automatic'\n | 'new180InZone01'\n | 'new180InZone60'\n | 'old180InZone01'\n | 'old180InZone60';\n\n// ────────────────────────────────────────────────────────────────────────────\n// Geocoding — address ↔ coordinates search via the `geocoder` namespace.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** One geocode/reverse-geocode match. Mirrors the native `GeocodeResult`. */\nexport type GeocodeResult = {\n /** Human-readable address / place name. */\n label: string;\n /** Point to display for the match (null if the locator returns none). */\n location: PointGeometry | null;\n /** Match confidence, 0–100. */\n score: number;\n /** Result attributes (fields depend on the locator). */\n attributes: Record<string, unknown>;\n};\n\n/** Parameters for `geocoder.geocode`. Mirrors the native `GeocodeParameters`. */\nexport type GeocodeParameters = {\n /**\n * Structured address fields for multi-field geocoding (e.g.\n * `{ Address: \"380 New York St\", City: \"Redlands\", Region: \"CA\", Postal: \"92373\" }`).\n * When provided, the SDK's multi-field overload is used instead of the single-line text\n * search. Field names must match the locator's input fields (the World Geocoder accepts\n * `Address`, `Address2`, `Address3`, `City`, `Region`, `Postal`, `PostalExt`, `CountryCode`).\n * If both `searchValues` and `searchText` are supplied, `searchValues` takes precedence.\n */\n searchValues?: Record<string, string>;\n /** Maximum number of matches to return. */\n maxResults?: number;\n /**\n * Attribute names to include on each result (e.g. `['*']` for all, or\n * `['Match_addr', 'City', 'Region']` for a specific subset). When omitted the locator\n * returns its default set.\n */\n resultAttributeNames?: string[];\n /**\n * WKID of the spatial reference for returned locations (e.g. `3857` for Web Mercator,\n * `4326` for WGS84). When omitted the locator returns coordinates in its own SR.\n */\n outputSpatialReference?: number;\n /** Two/three-letter country code to constrain the search. */\n countryCode?: string;\n /** Place categories to filter by (e.g. `['Coffee shop']`). */\n categories?: string[];\n /** A point near which results are preferred. */\n preferredSearchLocation?: PointGeometry;\n /**\n * Locator to use. An online geocode-service URL, or a local path to an offline locator\n * (`.loc`) for disconnected geocoding. Defaults to the ArcGIS World Geocoding Service.\n */\n locatorUrl?: string;\n};\n\n/** Parameters for `geocoder.reverseGeocode`. Mirrors the native `ReverseGeocodeParameters`. */\nexport type ReverseGeocodeParameters = {\n /** Maximum number of matches to return. */\n maxResults?: number;\n /** Maximum search distance from the point, in meters. */\n maxDistance?: number;\n /**\n * Locator to use. An online geocode-service URL, or a local path to an offline locator\n * (`.loc`) for disconnected geocoding. Defaults to the ArcGIS World Geocoding Service.\n */\n locatorUrl?: string;\n};\n\n/** One autocomplete suggestion. Mirrors the native `SuggestResult`. */\nexport type SuggestResult = {\n /** Suggested text (a partial completion of the search). */\n label: string;\n /** True when the suggestion is a category/collection rather than a single place. */\n isCollection: boolean;\n /**\n * Opaque integer key that identifies the native `SuggestResult` held in the module registry.\n * Pass to `geocoder.geocodeSuggestion(suggestionId)` to resolve the selection precisely —\n * the SDK's `geocode(forSuggestResult:)` / `geocode(suggestResult)` overload avoids a text\n * re-search and returns the exact match the user picked.\n * The registry is replaced on each new `suggest` call; ids from a prior call are no longer valid.\n */\n suggestionId: number;\n};\n\n/** Parameters for `geocoder.suggest`. Mirrors the native `SuggestParameters`. */\nexport type SuggestParameters = {\n /** Maximum number of suggestions to return. */\n maxResults?: number;\n /** Place categories to filter by. */\n categories?: string[];\n /** A point near which suggestions are preferred. */\n preferredSearchLocation?: PointGeometry;\n /**\n * Locator to use. An online geocode-service URL, or a local path to an offline locator\n * (`.loc`) for disconnected geocoding. Defaults to the ArcGIS World Geocoding Service.\n */\n locatorUrl?: string;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Routing — directions between stops via the `router` namespace.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** One stop along a route. Mirrors the native `Stop` (constructed from a point). */\nexport type RouteStop = {\n /** The stop location. */\n point: PointGeometry;\n /** Optional label for the stop (echoed back on returned stops). */\n name?: string;\n /** Which side of the vehicle the stop should be approached from. */\n curbApproach?: 'eitherSide' | 'leftSide' | 'rightSide' | 'noUTurn';\n};\n\n/** Parameters for `router.solveRoute`. Mirrors the native `RouteParameters`. */\nexport type RouteParameters = {\n /**\n * Travel mode name to use, looked up among the service's travel modes\n * (e.g. `'Driving Time'`, `'Walking Time'`). Defaults to the service default.\n */\n travelMode?: string;\n /** Whether to return route geometry/metrics. Defaults to `true`. */\n returnRoutes?: boolean;\n /** Whether to return the (possibly re-sequenced) stops. Defaults to `false`. */\n returnStops?: boolean;\n /** Whether to generate turn-by-turn directions. Defaults to `true`. */\n returnDirections?: boolean;\n /** Language for the generated directions (e.g. `'en'`, `'es'`). Defaults to the service default. */\n directionsLanguage?: string;\n /** Whether the service may reorder stops to find the optimal sequence. Defaults to `false`. */\n findBestSequence?: boolean;\n /** Point barriers — locations the route must avoid (e.g. road closures). */\n barriers?: PointGeometry[];\n /** Route service URL. Defaults to the ArcGIS World Route Service. */\n routeServiceUrl?: string;\n};\n\n/** One turn-by-turn instruction along a route. Mirrors the native `DirectionManeuver`. */\nexport type DirectionManeuver = {\n /** Human-readable instruction text. */\n text: string;\n /** Length of this maneuver, in meters. */\n length: number;\n /** Duration of this maneuver, in minutes. */\n duration: number;\n /** Geometry of this maneuver (a line segment, or null). */\n geometry: Geometry | null;\n};\n\n/** A single solved route. Mirrors the native `Route`. */\nexport type Route = {\n /** The route line (null if the service returns none). */\n geometry: PolylineGeometry | null;\n /** Route name (usually derived from the first and last stop). */\n name: string;\n /** Total length of the route, in meters. */\n totalLength: number;\n /** Travel time along the route, in minutes. */\n travelTime: number;\n /** Total elapsed time including any wait/service time, in minutes. */\n totalTime: number;\n /** Turn-by-turn directions (empty unless `returnDirections` is set). */\n directions: DirectionManeuver[];\n};\n\n/** Result of `router.solveRoute`. Mirrors the native `RouteResult`. */\nexport type RouteResult = {\n /** The solved routes (one unless multiple route names / `findBestSequence` are used). */\n routes: Route[];\n /** Informational and warning messages from the solve operation. */\n messages: string[];\n};\n\n/** A device location fed to a `RouteTracker` (e.g. from `<MapView>`'s `onLocationChange`). */\nexport type TrackedLocation = {\n latitude: number;\n longitude: number;\n /** Speed in m/s (optional). */\n speed?: number;\n /** Heading in degrees (optional). */\n course?: number;\n};\n\n/** Navigation status returned by `RouteTrackerHandle.trackLocation`. */\nexport type RouteTrackingStatus = {\n /** Distance remaining on the route, in meters. */\n distanceRemaining: number;\n /** Time remaining on the route, in minutes. */\n timeRemaining: number;\n /** Index of the current maneuver in the route's directions. */\n currentManeuverIndex: number;\n /** Number of destinations still to reach. */\n remainingDestinationCount: number;\n /** Destination status (e.g. `notReached`, `approaching`, `reached`). */\n destinationStatus: string;\n /** Voice-guidance text for the current maneuver (empty when none). */\n voiceText: string;\n};\n\n/**\n * Turn-by-turn navigation handle from `router.createRouteTracker`. Feed it device locations with\n * `trackLocation` (typically from `<MapView>`'s `onLocationChange`); each call advances navigation\n * and resolves with the current status. Call `switchToNextDestination` after reaching a stop.\n */\nexport type RouteTrackerHandle = {\n trackLocation(location: TrackedLocation): Promise<RouteTrackingStatus>;\n switchToNextDestination(): Promise<void>;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Service Area — reachable-area polygons from facilities via `ServiceAreaTask`.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Parameters for `serviceArea.solve`. */\nexport type ServiceAreaSolveParams = {\n /** URL of the network analysis service (e.g. the ArcGIS World Service Areas service). */\n serviceUrl: string;\n /** Facility locations to compute service areas from. */\n facilities: PointGeometry[];\n /**\n * Impedance cutoff values (e.g. travel-time minutes or distance) that define each polygon ring.\n * When omitted the service's default cutoffs are used.\n */\n cutoffs?: number[];\n};\n\n/** One service-area polygon returned from `serviceArea.solve`. Mirrors the native `ServiceAreaPolygon`. */\nexport type ServiceAreaPolygon = {\n /** The polygon geometry of the reachable area. */\n geometry: Geometry;\n /** Lower impedance bound for this polygon ring. */\n fromCutoff: number;\n /** Upper impedance bound for this polygon ring. */\n toCutoff: number;\n};\n\n/** Result of `serviceArea.solve`. */\nexport type ServiceAreaResult = {\n /** All result polygons across all facilities, ordered by facility then cutoff. */\n polygons: ServiceAreaPolygon[];\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Spatial analysis (visual) — exploratory viewshed / line-of-sight on a `<SceneView>`.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Props for `<AnalysisOverlay>` — a container for visual analyses, hosted by a `<SceneView>`. */\nexport type AnalysisOverlayProps = {\n /** Whether the overlay's analyses are drawn. Defaults to `true`. */\n visible?: boolean;\n};\n\n/**\n * Props for `<Viewshed>` — an exploratory viewshed (visible area from an observer). Mirrors the\n * native `ExploratoryLocationViewshed`. 3D only (rendered in a `<SceneView>`).\n */\nexport type ViewshedProps = {\n /** Observer location. */\n location: PointGeometry;\n /** Direction the observer faces, in degrees (0 = north, clockwise). */\n heading: number;\n /** Observer pitch, in degrees (0 = horizontal, 90 = straight down). */\n pitch: number;\n /** Horizontal field-of-view angle, in degrees (0–360). */\n horizontalAngle: number;\n /** Vertical field-of-view angle, in degrees (0–180). */\n verticalAngle: number;\n /** Near clipping distance from the observer, in meters. */\n minDistance?: number;\n /** Far clipping distance from the observer, in meters. */\n maxDistance?: number;\n /** Whether to draw the viewshed frustum outline. Defaults to `false`. */\n frustumOutlineVisible?: boolean;\n};\n\n/**\n * Props for a GeoElement-anchored `<Viewshed>` — the viewshed follows a `<Graphic>` as it moves.\n * Mirrors the native `ExploratoryGeoElementViewshed`. 3D only (rendered in a `<SceneView>`).\n * Use instead of `ViewshedProps` when you want the observer to track a graphic's position.\n */\nexport type GeoElementViewshedProps = {\n /** Horizontal field-of-view angle, in degrees (0–360). */\n horizontalAngle: number;\n /** Vertical field-of-view angle, in degrees (0–180). */\n verticalAngle: number;\n /** Heading offset from the graphic's heading, in degrees. */\n headingOffset: number;\n /** Pitch offset from the graphic's pitch, in degrees. */\n pitchOffset: number;\n /** Near clipping distance from the observer, in meters. */\n minDistance?: number;\n /** Far clipping distance from the observer, in meters. */\n maxDistance?: number;\n /** Whether to draw the viewshed frustum outline. Defaults to `false`. */\n frustumOutlineVisible?: boolean;\n};\n\n/** Whether a line-of-sight target is visible from the observer. */\nexport type TargetVisibility = 'visible' | 'obstructed' | 'unknown';\n\n/**\n * Props for `<LineOfSight>` — an exploratory line of sight between an observer and a target.\n * Mirrors the native `ExploratoryLocationLineOfSight`. 3D only (rendered in a `<SceneView>`).\n */\nexport type LineOfSightProps = {\n /** Observer location. */\n observer: PointGeometry;\n /** Target location. */\n target: PointGeometry;\n /** Called when the target's visibility from the observer changes. */\n onTargetVisibilityChange?: (visibility: TargetVisibility) => void;\n};\n\n/**\n * Props for a GeoElement-anchored `<LineOfSight>` — both the observer and the target follow\n * `<Graphic>`s as they move. Mirrors the native `ExploratoryGeoElementLineOfSight`. 3D only\n * (rendered in a `<SceneView>`). Use instead of `LineOfSightProps` when both endpoints track\n * graphics rather than fixed points.\n */\nexport type GeoElementLineOfSightProps = {\n /** Called when the target's visibility from the observer changes. */\n onTargetVisibilityChange?: (visibility: TargetVisibility) => void;\n};\n\n/** Direct / horizontal / vertical distance (in the measurement's unit, default meters). */\nexport type DistanceMeasurementResult = {\n directDistance: number;\n horizontalDistance: number;\n verticalDistance: number;\n};\n\nexport type DistanceMeasurementProps = {\n /** Start point of the measurement. */\n startLocation: PointGeometry;\n /** End point of the measurement. */\n endLocation: PointGeometry;\n /** Called as the measured distances change. */\n onMeasurementChange?: (measurement: DistanceMeasurementResult) => void;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Geoprocessing — server-side analysis via the `geoprocessor` namespace.\n// ────────────────────────────────────────────────────────────────────────────\n\n/**\n * A single typed input to a geoprocessing tool, mirroring the native `GeoprocessingParameter`\n * subclasses. The `type` discriminator selects the native parameter built from `value`.\n */\nexport type GeoprocessingInput =\n | { type: 'string'; value: string }\n | { type: 'double'; value: number }\n | { type: 'long'; value: number }\n | { type: 'boolean'; value: boolean }\n | { type: 'date'; value: number }\n | { type: 'linearUnit'; value: number; unit?: LinearUnit }\n | { type: 'features'; geometries: Geometry[] }\n /** An array of homogeneous strings or numbers — maps to `GeoprocessingMultiValue`. */\n | { type: 'multiValue'; values: (string | number)[] }\n /**\n * A data-file input — maps to `GeoprocessingDataFile`.\n * Provide exactly one of `url` (remote service URL) or `filePath` (absolute local path).\n */\n | { type: 'dataFile'; url: string; filePath?: never }\n | { type: 'dataFile'; filePath: string; url?: never };\n\n/** A raster output from a geoprocessing tool. Mirrors `GeoprocessingRaster`. */\nexport type GeoprocessingRasterOutput = {\n type: 'raster';\n /** Remote raster URL (set by the service for output rasters). */\n url?: string;\n /** Absolute local file path (set when the output raster is a local file). */\n filePath?: string;\n};\n\n/** Result of `geoprocessor.execute`. Mirrors the native `GeoprocessingResult`. */\nexport type GeoprocessingResult = {\n /**\n * Output parameters keyed by name. Scalars (`string`/`double`/`long`/`boolean`) come back as\n * their JS value; feature outputs come back as `Feature[]`; raster outputs come back as\n * `GeoprocessingRasterOutput`.\n */\n outputs: Record<string, unknown>;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Utility network — load a network and run traces via `<UtilityNetwork>`.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** A utility-network trace algorithm. Mirrors the native `UtilityTraceParameters.TraceType`. */\nexport type UtilityTraceType =\n | 'connected'\n | 'subnetwork'\n | 'upstream'\n | 'downstream'\n | 'isolation'\n | 'loops'\n | 'shortestPath';\n\n/**\n * Describes a starting location for a trace — the network element to begin from, identified by\n * its asset-type path and global id. The native side resolves it to a `UtilityElement`.\n */\nexport type UtilityElementDescriptor = {\n /** Network source name (e.g. `'Electric Distribution Device'`). */\n networkSource: string;\n /** Asset group name (e.g. `'Circuit Breaker'`). */\n assetGroup: string;\n /** Asset type name (e.g. `'Three Phase'`). */\n assetType: string;\n /** Feature global id (`{...}` UUID string). */\n globalId: string;\n};\n\n/** One element returned by a trace. Mirrors the native `UtilityElement`. */\nexport type UtilityElementInfo = {\n objectId: number;\n globalId: string;\n networkSource: string;\n assetGroup: string;\n assetType: string;\n};\n\n/** Result of `UtilityNetwork.trace`. Flattens the native `UtilityElementTraceResult`. */\nexport type UtilityTraceResult = {\n /** Number of elements found by the trace. */\n elementCount: number;\n /** The elements found by the trace. */\n elements: UtilityElementInfo[];\n};\n\n/** Props for `<UtilityNetwork>` — a utility network loaded from a feature service, a child of `<Map>`. */\nexport type UtilityNetworkProps = {\n /** Feature-service URL of the utility network's service geodatabase. May require `setTokenCredential`. */\n serviceGeodatabaseUrl: string;\n /** Called once the network has loaded, with its name. */\n onLoad?: (name: string) => void;\n /** Called if the network fails to load. */\n onLoadError?: (message: string) => void;\n};\n\n/** A predefined trace configuration published with the network. Mirrors `UtilityNamedTraceConfiguration`. */\nexport type UtilityNamedTraceConfiguration = {\n name: string;\n globalId: string;\n};\n\n/** One terminal in a `UtilityTerminalConfiguration`. Mirrors the native `UtilityTerminal`. */\nexport type UtilityTerminal = {\n /** Terminal name (e.g. `'High'`, `'Low'`). */\n name: string;\n /**\n * Whether the terminal is the upstream terminal for the asset type.\n * Tracing upstream vs. downstream from a junction uses this to select the correct terminal.\n */\n isUpstream: boolean;\n};\n\n/**\n * A terminal configuration defined in the network. Mirrors `UtilityTerminalConfiguration`.\n * Devices such as transformers have multiple terminals (e.g. high-side / low-side).\n * Knowing the available terminals is a prerequisite for specifying a `terminal` on a\n * `UtilityElement` when starting a directional trace.\n */\nexport type UtilityTerminalConfiguration = {\n /** Configuration name (e.g. `'Transformer'`). */\n name: string;\n /** The terminals belonging to this configuration. */\n terminals: UtilityTerminal[];\n};\n\n/** Summary of an element's associations. Flattens the native `UtilityAssociation` list. */\nexport type UtilityAssociationSummary = {\n /** Number of associations found. */\n count: number;\n /** Distinct association kinds present (`connectivity` / `containment` / `attachment` / `junctionEdge`). */\n kinds: string[];\n};\n\n/** Imperative handle exposed by `<UtilityNetwork>` via `ref`. */\n/** Topology state of a utility network (from `getState`). */\nexport type UtilityNetworkState = {\n /** Whether the network has dirty areas pending validation. */\n hasDirtyAreas: boolean;\n /** Whether the network topology has errors. */\n hasErrors: boolean;\n /** Whether network topology is enabled. */\n networkTopologyEnabled: boolean;\n};\n\nexport type UtilityNetworkHandle = {\n /** Returns metadata about the loaded network (its network-source names). */\n describeNetwork(): { networkSources: string[] };\n /**\n * Returns the terminal configurations defined in the network.\n * Use this to discover the available terminals on multi-terminal devices (e.g. transformers)\n * before starting a directional trace that must specify a terminal. Synchronous — no network\n * round-trip; reads from the already-loaded network definition.\n */\n getTerminalConfigurations(): UtilityTerminalConfiguration[];\n /** Returns the network's topology state — dirty areas, errors, and whether topology is enabled. */\n getState(): Promise<UtilityNetworkState>;\n /**\n * Validates the network topology over `extent` (an envelope geometry). Returns a `JobRef` —\n * call `.result()` to run it (and track `onProgress`), or `.cancel()`. After it completes, read\n * `getState()` to see whether errors or dirty areas remain.\n */\n validateNetworkTopology(extent: Geometry): JobRef<{ validated: boolean }>;\n /** Runs a trace of `traceType` from the given starting locations (explicit element descriptors). */\n trace(\n traceType: UtilityTraceType,\n startingLocations: UtilityElementDescriptor[]\n ): Promise<UtilityTraceResult>;\n /**\n * Queries a starting feature from the layer `tableName` (matching `whereClause`), traces from it,\n * and selects the result features on the map. Convenient for an interactive \"trace from here\" flow.\n */\n traceFromQuery(\n tableName: string,\n whereClause: string,\n traceType: UtilityTraceType\n ): Promise<UtilityTraceResult>;\n /** Lists the network's predefined named trace configurations. */\n queryNamedTraceConfigurations(): Promise<UtilityNamedTraceConfiguration[]>;\n /** Traces using a named configuration (by `globalId`), from a feature queried from `tableName`. */\n traceWithConfiguration(\n configGlobalId: string,\n tableName: string,\n whereClause: string\n ): Promise<UtilityTraceResult>;\n /** Returns the associations of a feature queried from `tableName`. */\n associations(tableName: string, whereClause: string): Promise<UtilityAssociationSummary>;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Portal — search a Portal and list basemaps via the `portal` namespace.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Parameters for `portal.findItems`. */\nexport type PortalQuery = {\n /**\n * ArcGIS portal search query string (e.g. `'type:\"Web Map\" owner:esri'`).\n * Forwarded directly to `PortalQueryParameters(query:limit:)` on both platforms.\n */\n query: string;\n /** Maximum number of items to return (default 10). */\n max?: number;\n /** Portal URL (default `https://www.arcgis.com`). */\n portalUrl?: string;\n};\n\n/** One portal item returned by `portal.findItems`. */\nexport type PortalItemInfo = {\n /** Portal item id (pass to `<Map portalItem={{ itemId }}>` to display the web map). */\n id: string;\n /** Human-readable title. */\n title: string;\n /**\n * Human-readable type string (e.g. `\"Web Map\"`, `\"Feature Service\"`).\n * Maps to `PortalItem.typeName` on both platforms.\n */\n type: string;\n /** Short description / abstract. */\n snippet: string;\n /** Portal username of the item owner. */\n owner: string;\n /**\n * Absolute HTTPS URL of the item's thumbnail, or `null` when none is available.\n * Constructed as `<portalUrl>/sharing/rest/content/items/<id>/info/thumbnail`.\n * Load it in an `<Image>` component; no auth is required for public items.\n */\n thumbnailUrl: string | null;\n};\n\n/** Parameters for `portal.fetchBasemaps`. */\nexport type BasemapQuery = {\n /** Portal URL (default `https://www.arcgis.com`). */\n portalUrl?: string;\n};\n\n/** One basemap returned by `portal.fetchBasemaps`. */\nexport type BasemapInfo = {\n /** Human-readable basemap name (e.g. `\"World Topographic Map\"`). */\n name: string;\n /**\n * Portal item id of the underlying basemap item, or `null` when the basemap has no item.\n * Pass to `<Map portalItem={{ itemId }}>` to use it as the map's basemap.\n */\n itemId: string | null;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Offline — take maps and data offline (downloads to disk) via the `offline` namespace.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** Result of an offline-map download. `path` is the local mobile map package directory. */\nexport type OfflineMapResult = {\n /** Local filesystem path of the downloaded mobile map package (pass to `<Map mobileMapPackagePath>`). */\n path: string;\n};\n\n/** A preplanned offline map area published with a web map. Mirrors `PreplannedMapArea`. */\nexport type PreplannedMapAreaInfo = {\n /** Area title. */\n title: string;\n /** Index into the web map's preplanned areas (pass to `offline.downloadPreplannedOfflineMap`). */\n index: number;\n};\n\n/** Result of a geodatabase download. Mirrors the generated `Geodatabase`. */\nexport type OfflineGeodatabaseResult = {\n /** Local filesystem path of the downloaded `.geodatabase`. */\n path: string;\n /** Number of feature tables in the geodatabase. */\n tableCount: number;\n};\n\n/** Result of a tile-cache / vector-tiles export. */\nexport type OfflineTileResult = {\n /** Local filesystem path of the downloaded tile package (`.tpkx` / `.vtpk`). */\n path: string;\n};\n\n/** Result of `offline.estimateTileCacheSize` — an estimate of the download footprint. */\nexport type TileCacheSizeEstimate = {\n /** Estimated on-disk size of the tile cache in bytes. */\n fileSizeBytes: number;\n /** Estimated number of tiles in the tile cache. */\n tileCount: number;\n};\n\n/**\n * Overrides for `offline.generateOfflineMap` that narrow the tile-cache scale range, producing a\n * smaller download. Both values follow the ArcGIS scale convention (larger number = more zoomed\n * out; 0 means \"no limit\" on that end).\n *\n * Applied via `GenerateOfflineMapParameterOverrides`: each `ExportTileCacheParameters` entry in\n * the overrides object has its `levelIDs` list trimmed to the subset that falls within\n * [minScale, maxScale]. Vector-tile entries are not affected (the SDK exposes no per-entry scale\n * filter for `ExportVectorTilesParameters`).\n */\nexport type OfflineMapParameterOverrides = {\n /**\n * Coarsest scale to include (outermost/lowest-detail level). 0 = no coarse limit.\n * E.g. `100000` keeps levels finer than 1:100 000.\n */\n minScale?: number;\n /**\n * Finest scale to include (innermost/highest-detail level). 0 = no fine limit.\n * E.g. `5000` drops levels finer than 1:5 000, meaningfully reducing download size.\n */\n maxScale?: number;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// GeometryEditor — interactive sketching on a `<MapView>`.\n// ────────────────────────────────────────────────────────────────────────────\n\n/** The kind of geometry a `<GeometryEditor>` sketches. */\nexport type GeometryEditorType = 'point' | 'multipoint' | 'polyline' | 'polygon' | 'envelope';\n\n/**\n * Props for the interactive `<GeometryEditor>` — a child of `<MapView>` that lets the user\n * sketch a geometry. (The native SDK binds the editor to 2D map views only.)\n */\n/** Interaction tool for the geometry editor. Mirrors `VertexTool`/`FreehandTool`/`ShapeTool`. */\nexport type GeometryEditorTool =\n | 'vertex'\n | 'freehand'\n | 'reticleVertex'\n | 'arrow'\n | 'ellipse'\n | 'rectangle'\n | 'triangle';\n\nexport type GeometryEditorProps = {\n /** The kind of geometry to sketch. */\n type: GeometryEditorType;\n /** When `true` (default) editing is started with `type`; set `false` to stop. */\n active?: boolean;\n /** Interaction tool (default `vertex`). Shape tools (`arrow`/`ellipse`/…) sketch by dragging. */\n tool?: GeometryEditorTool;\n /** Called as the sketch geometry changes (`null` when empty / cleared). */\n onGeometryChange?: (geometry: Geometry | null) => void;\n};\n\n/** Imperative handle exposed by `<GeometryEditor>` via `ref`. */\nexport type GeometryEditorHandle = {\n /** Undo the last edit. */\n undo(): void;\n /** Redo the last undone edit. */\n redo(): void;\n /** Clear the current sketch. */\n clear(): void;\n /** Delete the currently selected vertex/part. */\n deleteSelectedElement(): void;\n /** Stop editing and return the final geometry (or `null`). */\n stop(): Geometry | null;\n};\n\n// ────────────────────────────────────────────────────────────────────────────\n// Symbols — mirror `SimpleMarkerSymbol` / `SimpleLineSymbol` / `SimpleFillSymbol`.\n// Colors are hex strings: `#RRGGBB` or `#RRGGBBAA` (alpha last).\n// ────────────────────────────────────────────────────────────────────────────\n\nexport type SimpleMarkerSymbolStyle = 'circle' | 'cross' | 'diamond' | 'square' | 'triangle' | 'x';\n\nexport type SimpleLineSymbolStyle = 'solid' | 'dash' | 'dot' | 'dash-dot' | 'dash-dot-dot' | 'none';\n\nexport type SimpleFillSymbolStyle =\n | 'solid'\n | 'none'\n | 'horizontal'\n | 'vertical'\n | 'cross'\n | 'diagonal-cross'\n | 'forward-diagonal'\n | 'backward-diagonal';\n\n/** Stroke options shared by `SimpleLineSymbol` and the `outline` of marker/fill symbols. */\nexport type Stroke = {\n style?: SimpleLineSymbolStyle;\n /** Stroke color as a hex string. */\n color?: string;\n /** Stroke width in points. */\n width?: number;\n};\n\n/** A simple marker symbol for point graphics. */\nexport type SimpleMarkerSymbol = {\n type: 'simple-marker';\n style?: SimpleMarkerSymbolStyle;\n /** Fill color as a hex string (e.g. `#ff3b30`). */\n color?: string;\n /** Marker size in points. */\n size?: number;\n /** Optional outline stroke. */\n outline?: Stroke;\n};\n\n/** A simple line symbol for polyline graphics (also used as an `outline`). */\nexport type SimpleLineSymbol = { type: 'simple-line' } & Stroke;\n\n/** A simple fill symbol for polygon graphics. */\nexport type SimpleFillSymbol = {\n type: 'simple-fill';\n style?: SimpleFillSymbolStyle;\n /** Fill color as a hex string (e.g. `#ffa50080`). */\n color?: string;\n /** Optional outline stroke. */\n outline?: Stroke;\n};\n\n/** A text symbol that draws a string at a point. Mirrors the native `TextSymbol`. */\nexport type TextSymbol = {\n type: 'text';\n /** The text to draw. */\n text: string;\n /** Text color as a hex string. Defaults to black. */\n color?: string;\n /** Font size in points. */\n size?: number;\n /** Halo (outline) color as a hex string. */\n haloColor?: string;\n /** Halo width in points. */\n haloWidth?: number;\n /** Font family name. */\n fontFamily?: string;\n /** Horizontal anchor. Defaults to `center`. */\n horizontalAlignment?: 'left' | 'center' | 'right' | 'justify';\n /** Vertical anchor. Defaults to `middle`. */\n verticalAlignment?: 'top' | 'middle' | 'bottom' | 'baseline';\n};\n\n/**\n * A 3D marker symbol for point graphics in a `<SceneView>`. Mirrors the native\n * `SimpleMarkerSceneSymbol` (a parametric solid: cone / cube / sphere / …).\n */\nexport type SimpleMarkerSceneSymbol = {\n type: 'simple-marker-scene';\n /** Solid shape. Defaults to `sphere`. */\n style?: 'cone' | 'cube' | 'cylinder' | 'diamond' | 'sphere' | 'tetrahedron';\n /** Fill color as a hex string. */\n color?: string;\n /** Size along x, in meters. Defaults to 100. */\n width?: number;\n /** Size along z (up), in meters. Defaults to 100. */\n height?: number;\n /** Size along y, in meters. Defaults to 100. */\n depth?: number;\n /** Which part of the solid sits on the point. Defaults to `bottom`. */\n anchor?: 'center' | 'bottom' | 'top' | 'origin';\n};\n\n/**\n * A 3D model symbol (glTF / `.glb`) for point graphics in a `<SceneView>`. Mirrors the native\n * `ModelSceneSymbol` (loads the model at `url` at runtime — symbol is `Loadable`).\n */\nexport type ModelSceneSymbol = {\n type: 'model-scene';\n /** URL of the glTF / `.glb` model file. Required. */\n url: string;\n /** Uniform scale factor applied to the model. Defaults to `1`. */\n scale?: number;\n /** Whether the model dimensions are expressed in device-independent pixels or geographic meters. Defaults to `dips`. */\n sizeUnits?: 'dips' | 'meters';\n /** Rotation around the vertical (z) axis, in degrees. Defaults to `0`. */\n heading?: number;\n /** Rotation around the lateral (x) axis, in degrees. Defaults to `0`. */\n pitch?: number;\n /** Rotation around the longitudinal (y) axis, in degrees. Defaults to `0`. */\n roll?: number;\n /** Which part of the model sits on the point. Defaults to `bottom`. */\n anchor?: 'center' | 'bottom' | 'top' | 'origin';\n};\n\n/** A marker drawn from an image at a URL. Mirrors `PictureMarkerSymbol`. */\nexport type PictureMarkerSymbol = {\n type: 'picture-marker';\n /** Image URL (remote `http(s)` or a local file URL). */\n url: string;\n /** Display width in points (defaults to the image's intrinsic size). */\n width?: number;\n /** Display height in points (defaults to the image's intrinsic size). */\n height?: number;\n};\n\n/** A polygon fill drawn by tiling an image from a URL. Mirrors `PictureFillSymbol`. */\nexport type PictureFillSymbol = {\n type: 'picture-fill';\n /** Image URL (remote `http(s)` or a local file URL). */\n url: string;\n /** Tile width in points (defaults to the image's intrinsic size). */\n width?: number;\n /** Tile height in points (defaults to the image's intrinsic size). */\n height?: number;\n /** Optional outline stroke. */\n outline?: Stroke;\n};\n\n/**\n * One range within a `DistanceCompositeSceneSymbol` — the `symbol` rendered while the camera\n * distance to the graphic falls within `[minDistance, maxDistance]`. Use `0` for `maxDistance`\n * to make the range unbounded (no far limit). Mirrors the native `DistanceSymbolRange`.\n */\nexport type DistanceSymbolRange = {\n /** The symbol drawn while within this distance band. */\n symbol: Symbol;\n /** Near camera-distance limit, in meters. */\n minDistance?: number;\n /** Far camera-distance limit, in meters. `0` / omitted = unbounded. */\n maxDistance?: number;\n};\n\n/**\n * A 3D composite symbol that swaps its appearance based on camera distance.\n * Each range specifies a `symbol` visible within a `[minDistance, maxDistance]` band.\n * Mirrors the native `DistanceCompositeSceneSymbol`. Only valid in a `<SceneView>`.\n */\nexport type DistanceCompositeSceneSymbol = {\n type: 'distance-composite-scene';\n ranges: DistanceSymbolRange[];\n};\n\n/**\n * A composite symbol that overlays multiple symbols stacked on top of each other.\n * Useful for combining a marker with a label, or layering two markers for a ring effect.\n * Mirrors the native `CompositeSymbol`.\n *\n * @example\n * ```ts\n * { type: 'composite', symbols: [\n * { type: 'simple-marker', color: '#fff', size: 18 },\n * { type: 'simple-marker', color: '#e63946', size: 10 },\n * ] }\n * ```\n */\nexport type CompositeSymbolType = {\n type: 'composite';\n /** The symbols to stack, drawn in order (first = bottom, last = top). */\n symbols: Symbol[];\n};\n\n/**\n * One picture-marker symbol layer within a `MultilayerPointSymbolType`.\n * Mirrors the native `PictureMarkerSymbolLayer`.\n *\n * NOTE: `size` sets a uniform size (overrides `width`/`height` when all three are supplied).\n * `width` and `height` are applied in order, so supplying both sets size to the last one;\n * use `size` for a uniform value. `offsetX`/`offsetY` shift the layer in points.\n */\nexport type PictureMarkerSymbolLayerSpec = {\n type: 'picture-marker';\n /** Image URL (remote `http(s)` or a local file URL). */\n url: string;\n /** Uniform size in points (sets both width and height). */\n size?: number;\n /** Display width in points. */\n width?: number;\n /** Display height in points. */\n height?: number;\n /** Horizontal offset of the layer, in points. */\n offsetX?: number;\n /** Vertical offset of the layer, in points. */\n offsetY?: number;\n};\n\n/**\n * One vector-marker symbol layer within a `MultilayerPointSymbolType`.\n * Mirrors the native `VectorMarkerSymbolLayer` (a shape drawn from a geometry with fill/stroke,\n * requiring no image).\n *\n * Supported `geometry` types and how they are symbolised:\n * - `polygon` — `MultilayerPolygonSymbol([SolidFillSymbolLayer, SolidStrokeSymbolLayer?])`;\n * `fillColor` is the fill, `outlineColor`/`outlineWidth` add an optional stroke.\n * - `polyline` — `MultilayerPolylineSymbol([SolidStrokeSymbolLayer])`; `fillColor` is used as the\n * stroke color (falls back to `outlineColor`, then red), `outlineWidth` sets the stroke width.\n * - `multipoint` — `MultilayerPointSymbol([SolidFillSymbolLayer, SolidStrokeSymbolLayer?])`;\n * same color/width props as `polygon`.\n *\n * Any other `geometry` type is silently skipped (the layer is omitted from the symbol).\n * Geometries use a local coordinate space (not geographic) — use small integer-scale coordinates\n * (e.g. `x` / `y` in the range `[-1, 1]`).\n *\n * @example — filled triangle (polygon)\n * ```ts\n * { type: 'multilayer-point', symbolLayers: [\n * { type: 'vector-marker', size: 24,\n * geometry: { type: 'polygon', points: [\n * { x: -1, y: -1 }, { x: 0, y: 1 }, { x: 1, y: -1 },\n * ] },\n * fillColor: '#e63946', outlineColor: '#1d3557', outlineWidth: 1 },\n * ] }\n * ```\n */\nexport type VectorMarkerSymbolLayerSpec = {\n type: 'vector-marker';\n /**\n * The geometry that defines the marker shape. Supported types: `polygon`, `polyline`,\n * `multipoint`. Unsupported types are silently skipped. The geometry is defined in a local\n * coordinate space (not geographic) — use small integer-scale coordinates\n * (e.g. `x` / `y` in the range `[-1, 1]`).\n */\n geometry: Geometry;\n /** Overall size of the marker, in points. Scales the geometry uniformly. Defaults to 12. */\n size?: number;\n /** Fill color as a `#RRGGBB` / `#RRGGBBAA` hex string. Defaults to red. */\n fillColor?: string;\n /** Outline stroke color as a `#RRGGBB` / `#RRGGBBAA` hex string. Omit to suppress outline. */\n outlineColor?: string;\n /** Outline stroke width in points. Defaults to 1. */\n outlineWidth?: number;\n};\n\n/** Union of all supported symbol layer kinds within a `MultilayerPointSymbolType`. */\nexport type SymbolLayerSpec = PictureMarkerSymbolLayerSpec | VectorMarkerSymbolLayerSpec;\n\n/**\n * A multilayer point symbol composed of one or more symbol layers.\n * Mirrors the native `MultilayerPointSymbol`. Useful for rich point icons built from stacked\n * picture images or vector shapes (e.g. a filled triangle marker, or a pin body + badge).\n *\n * Supported layer kinds: `picture-marker` and `vector-marker`.\n *\n * @example — picture marker\n * ```ts\n * { type: 'multilayer-point', symbolLayers: [\n * { type: 'picture-marker', url: 'https://example.com/pin.png', width: 30, height: 30 },\n * ] }\n * ```\n *\n * @example — vector marker (filled triangle)\n * ```ts\n * { type: 'multilayer-point', symbolLayers: [\n * { type: 'vector-marker', size: 24,\n * geometry: { type: 'polygon', points: [\n * { x: 0, y: 1 }, { x: 1, y: -1 }, { x: -1, y: -1 },\n * ] },\n * fillColor: '#e63946', outlineColor: '#1d3557', outlineWidth: 1.5 },\n * ] }\n * ```\n */\nexport type MultilayerPointSymbolType = {\n type: 'multilayer-point';\n /** The symbol layers to compose, rendered in list order. */\n symbolLayers: SymbolLayerSpec[];\n};\n\n/** Any symbol usable by a `<Graphic>`. Mirrors the native `Symbol` hierarchy. */\nexport type Symbol =\n | SimpleMarkerSymbol\n | SimpleLineSymbol\n | SimpleFillSymbol\n | TextSymbol\n | SimpleMarkerSceneSymbol\n | ModelSceneSymbol\n | PictureMarkerSymbol\n | PictureFillSymbol\n | DistanceCompositeSceneSymbol\n | CompositeSymbolType\n | MultilayerPointSymbolType;\n\n// ─── Visual Variables ────────────────────────────────────────────────────────\n\n/** One stop in a `SizeVisualVariable` stops array. */\nexport type SizeStop = { value: number; size: number };\n\n/** One stop in a `ColorVisualVariable` stops array. Color is a `#RRGGBB` / `#RRGGBBAA` hex string. */\nexport type ColorStop = { value: number; color: string };\n\n/** One stop in an `OpacityVisualVariable` stops array. */\nexport type OpacityStop = { value: number; opacity: number };\n\n/**\n * Data-driven marker size: feature attribute values in [`minDataValue`, `maxDataValue`] are\n * mapped linearly to symbol sizes in [`minSize`, `maxSize`] (device-independent pixels).\n * Alternatively, supply `stops` for arbitrary breakpoints.\n * Exactly one of `field` or `valueExpression` (Arcade) must be provided.\n */\nexport type SizeVisualVariable = {\n type: 'size';\n field?: string;\n valueExpression?: string;\n minDataValue?: number;\n maxDataValue?: number;\n minSize?: number;\n maxSize?: number;\n stops?: SizeStop[];\n};\n\n/**\n * Data-driven color: each stop maps a feature attribute value to a `#RRGGBB`/`#RRGGBBAA` color.\n * Exactly one of `field` or `valueExpression` (Arcade) must be provided.\n */\nexport type ColorVisualVariable = {\n type: 'color';\n field?: string;\n valueExpression?: string;\n stops: ColorStop[];\n};\n\n/**\n * Data-driven rotation: the feature attribute value (degrees) rotates the symbol.\n * `rotationType`: `'geographic'` (0 = north, clockwise) or `'arithmetic'` (0 = east, counter-clockwise).\n * Exactly one of `field` or `valueExpression` (Arcade) must be provided.\n */\nexport type RotationVisualVariable = {\n type: 'rotation';\n field?: string;\n valueExpression?: string;\n rotationType?: 'geographic' | 'arithmetic';\n};\n\n/**\n * Data-driven opacity: each stop maps a feature attribute value to an opacity in [0, 1].\n * Exactly one of `field` or `valueExpression` (Arcade) must be provided.\n */\nexport type OpacityVisualVariable = {\n type: 'opacity';\n field?: string;\n valueExpression?: string;\n stops: OpacityStop[];\n};\n\n/** Union of all supported visual variable types for data-driven symbology. */\nexport type VisualVariable =\n | SizeVisualVariable\n | ColorVisualVariable\n | RotationVisualVariable\n | OpacityVisualVariable;\n\n// ─── Renderers ───────────────────────────────────────────────────────────────\n\n/** A renderer that draws every feature/graphic with the same `symbol`. */\nexport type SimpleRenderer = {\n type: 'simple';\n symbol: Symbol;\n /** Optional data-driven size, color, rotation, or opacity overrides. */\n visualVariables?: VisualVariable[];\n};\n\n/** One category of a `UniqueValueRenderer` — the `symbol` for features whose field(s) equal `values`. */\nexport type UniqueValueInfo = {\n /** Field value(s) (matched in `fields` order) that select this symbol. */\n values: (string | number)[];\n /** Symbol drawn for matching features. */\n symbol: Symbol;\n /** Optional legend label. */\n label?: string;\n};\n\n/** Draws features by matching one or more attribute fields against discrete `uniqueValues`. */\nexport type UniqueValueRenderer = {\n type: 'unique-value';\n /** Attribute field(s) compared against each `UniqueValueInfo.values`. */\n fields: string[];\n uniqueValues: UniqueValueInfo[];\n /** Symbol for features that match no category. */\n defaultSymbol?: Symbol;\n defaultLabel?: string;\n /** Optional data-driven size, color, rotation, or opacity overrides. */\n visualVariables?: VisualVariable[];\n};\n\n/** One range of a `ClassBreaksRenderer` — the `symbol` for `min < value ≤ max`. */\nexport type ClassBreak = {\n min: number;\n max: number;\n symbol: Symbol;\n label?: string;\n};\n\n/** Draws features by binning a numeric `field` into `classBreaks` (graduated symbols). */\nexport type ClassBreaksRenderer = {\n type: 'class-breaks';\n /** Numeric attribute field used to pick a class break. */\n field: string;\n classBreaks: ClassBreak[];\n /** Symbol for features outside all breaks. */\n defaultSymbol?: Symbol;\n defaultLabel?: string;\n /** Optional data-driven size, color, rotation, or opacity overrides. */\n visualVariables?: VisualVariable[];\n};\n\n/**\n * Any renderer usable by a `<GraphicsOverlay>` or `<FeatureLayer>`. Mirrors the native\n * `Renderer` hierarchy (`SimpleRenderer` / `UniqueValueRenderer` / `ClassBreaksRenderer`).\n */\nexport type Renderer = SimpleRenderer | UniqueValueRenderer | ClassBreaksRenderer;\n\n/** Props for a `<Graphic>` — a `geometry` drawn with a `symbol` on the nearest graphics overlay. */\nexport type GraphicProps = {\n /** Point, polyline, or polygon geometry. */\n geometry: Geometry;\n /** Symbol used to draw the geometry. */\n symbol?: Symbol;\n};\n\n/** Payload for the `<MapView onTap>` event. */\nexport type TapEventPayload = {\n /** Map location of the tap, in geographic coordinates (WGS84). */\n mapPoint: { latitude: number; longitude: number };\n /** Screen location of the tap, in points. */\n screenPoint: { x: number; y: number };\n};\n\n/** A 3D camera that defines a scene's viewpoint (position + orientation). */\nexport type Camera = {\n /** Camera position; `z` is the altitude in meters. */\n position: Point;\n /** Compass heading the camera faces, in degrees. */\n heading?: number;\n /** Tilt from straight down, in degrees (0 = top-down, 90 = horizon). */\n pitch?: number;\n /** Roll, in degrees. */\n roll?: number;\n};\n\n/** A tiled elevation service that provides terrain height to a scene's `Surface`. */\nexport type ElevationSource = { url: string };\n\n/** The ground/elevation surface (terrain) of a 3D `<Scene>`. */\nexport type Surface = {\n /** Tiled elevation sources stacked to build the terrain. */\n elevationSources?: ElevationSource[];\n /** Vertical exaggeration multiplier (default `1`). */\n elevationExaggeration?: number;\n};\n\n/** Props for the `<Scene>` model component — mirror the native ArcGISScene/Scene. */\nexport type SceneProps = {\n /** Basemap style. Defaults to `arcGISImagery` (3D-appropriate). */\n basemap?: BasemapStyle;\n /**\n * Language for basemap place-name labels. Only applies when `basemap` is a built-in style string.\n * Special values: `\"global\"` — English worldwide; `\"local\"` — local place names;\n * `\"default\"` — SDK default; `\"applicationLocale\"` — device locale.\n * Any other value is treated as a BCP-47 language tag (e.g. `\"fr\"`, `\"ar\"`, `\"zh-Hans\"`).\n */\n basemapLanguage?: string;\n /**\n * Worldview code for disputed-boundary rendering. Only applies when `basemap` is a built-in style.\n * Known codes: `\"CN\"`, `\"IN\"`, `\"IL\"`, `\"JP\"`, `\"MA\"`, `\"PK\"`, `\"KR\"`, `\"AE\"`, `\"US\"`, `\"VN\"`.\n */\n basemapWorldview?: string;\n /** Center + scale applied when the scene first loads. */\n initialViewpoint?: Viewpoint;\n /** 3D camera for the initial view (preferred over `initialViewpoint` for scenes). */\n camera?: Camera;\n /** Ground elevation surface (terrain). */\n surface?: Surface;\n /** Load the scene from an ArcGIS web scene. Construction-only (set once; remount to change). */\n portalItem?: PortalItem;\n /** Local path to a mobile scene package (`.mspk`); its first scene is shown when loaded. */\n mobileScenePackagePath?: string;\n /**\n * Named saved viewpoints stored on the scene. Replaces the scene's bookmark list each time the\n * prop changes. Each entry creates a native `Bookmark(name, Viewpoint(latitude, longitude, scale))`.\n * Navigation to a bookmark is done separately via the `<SceneView camera>` prop.\n */\n bookmarks?: { name: string; viewpoint: { latitude: number; longitude: number; scale: number } }[];\n};\n\n/** Sun lighting mode for a 3D scene view (controls shadows). */\nexport type SunLighting = 'off' | 'light' | 'lightAndShadows';\n\n/** Atmosphere rendering for a 3D scene view. */\nexport type AtmosphereEffect = 'off' | 'horizonOnly' | 'realistic';\n\n/**\n * Camera controller for a `<SceneView>`.\n * - `orbitLocation` — orbits around a fixed target point (`OrbitLocationCameraController`).\n * - `globe` — free globe navigation (`GlobeCameraController`).\n */\nexport type CameraController =\n | {\n type: 'orbitLocation';\n /** The point the camera orbits around (WGS84 longitude/latitude, optional altitude). */\n target: Point;\n /** Initial camera distance from the target, in meters. */\n distance: number;\n }\n | {\n /** Orbit a moving `<Graphic>` — also pass that graphic's ref via `<SceneView orbitGraphic>`. */\n type: 'orbitGeoElement';\n /** Initial camera distance from the target graphic, in meters. */\n distance: number;\n }\n | { type: 'globe' };\n\n/** Props for the `<SceneView>` host component. */\nexport type SceneViewProps = {\n style?: StyleProp<ViewStyle>;\n /** Animates the view to this 3D camera whenever the value changes (runtime camera control). */\n camera?: Camera;\n /**\n * Swaps the scene's camera-control mode. Omit (or pass `null`) to use the SDK default.\n * - `{ type: 'orbitLocation', target, distance }` — orbit around a fixed point.\n * - `{ type: 'globe' }` — free globe navigation.\n */\n cameraController?: CameraController | null;\n /** Coordinate-grid overlay (MGRS / UTM / USNG / latitude-longitude). `null` / omitted = none. */\n grid?: GridConfig | null;\n /**\n * The graphic to orbit when `cameraController` is `{ type: 'orbitGeoElement' }` — the camera\n * follows this `<Graphic>` as it moves. Pass the ref obtained from `<Graphic ref>`.\n */\n orbitGraphic?: GraphicRef | null;\n /** Sun lighting mode (shadows). Defaults to `off`. */\n sunLighting?: SunLighting;\n /** Atmosphere rendering. Defaults to `horizonOnly`. */\n atmosphereEffect?: AtmosphereEffect;\n /** Sun position, as epoch milliseconds (affects shadow direction). */\n sunTime?: number;\n /**\n * Filters time-aware layers to this time window. Both values are epoch milliseconds (UTC).\n * Pass `null` / omit to show all time steps (no filter). Maps to `GeoView.timeExtent` /\n * `SceneView(timeExtent:)` on both platforms.\n */\n timeExtent?: { startTime: number; endTime: number } | null;\n /** Called once the scene has finished loading successfully. */\n onSceneLoaded?: (event: { nativeEvent: MapLoadedEventPayload }) => void;\n /** Called if the scene fails to load. */\n onSceneLoadError?: (event: { nativeEvent: MapLoadErrorEventPayload }) => void;\n /** Called when the user taps the scene. */\n onTap?: (event: { nativeEvent: TapEventPayload }) => void;\n};\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-arcgis",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "ArcGIS Maps SDK for React Native — native Android (Kotlin) & iOS (Swift) map rendering as an Expo module",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -1120,15 +1120,22 @@ export type KmlNodeInfo = {
1120
1120
  children?: KmlNodeInfo[];
1121
1121
  };
1122
1122
 
1123
- /** Imperative handle exposed by `<KmlLayer>` via `ref`. */
1123
+ /**
1124
+ * Imperative handle exposed by `<KmlLayer>` via `ref`.
1125
+ *
1126
+ * **Tour playback (`playTour` / `pauseTour` / `resetTour`) is iOS-only.** On Android the tour
1127
+ * controller cannot drive the camera of the view-based scene view (an ArcGIS Maps SDK limitation —
1128
+ * automatic tour playback exists only on the Compose `SceneView`, and the controller exposes no
1129
+ * camera/viewpoint to drive it manually). The methods are present on Android but no-op visually.
1130
+ */
1124
1131
  export type KmlLayerHandle = {
1125
1132
  /** Loads the KML and returns its node tree (recursing into container nodes). */
1126
1133
  getNodes(): Promise<KmlNodeInfo[]>;
1127
- /** Starts or resumes playback of the first KML tour found in the layer. No-ops if no tour exists. */
1134
+ /** Starts or resumes playback of the first KML tour found in the layer. No-ops if no tour exists. iOS only (see above). */
1128
1135
  playTour(): void;
1129
- /** Pauses playback of the first KML tour found in the layer. No-ops if no tour exists. */
1136
+ /** Pauses playback of the first KML tour found in the layer. No-ops if no tour exists. iOS only (see above). */
1130
1137
  pauseTour(): void;
1131
- /** Resets playback of the first KML tour found in the layer to the beginning. No-ops if no tour exists. */
1138
+ /** Resets playback of the first KML tour found in the layer to the beginning. No-ops if no tour exists. iOS only (see above). */
1132
1139
  resetTour(): void;
1133
1140
  };
1134
1141