{
    "$ref": "#/definitions/viewer-spec.Action",
    "definitions": {
        "@vertigis.arcgis-extensions.FailureMode.FailureMode": {
            "description": "Possible modes of failure when there is an error resolving or initializing an item.",
            "enum": [
                "error",
                "ignore",
                "warn"
            ],
            "type": "string"
        },
        "@vertigis.arcgis-extensions.Hyperlink.HyperlinkProperties": {
            "additionalProperties": false,
            "description": "A hyperlink associated with a feature or layer.",
            "properties": {
                "iconUrl": {
                    "description": "See {@link Hyperlink.iconUrl}.",
                    "type": "string"
                },
                "target": {
                    "description": "See {@link Hyperlink.target}.",
                    "type": "string"
                },
                "text": {
                    "description": "See {@link Hyperlink.text}.",
                    "type": "string"
                },
                "tooltip": {
                    "description": "See {@link Hyperlink.tooltip}.",
                    "type": "string"
                },
                "url": {
                    "description": "See {@link Hyperlink.url}.",
                    "type": "string"
                }
            },
            "required": [
                "text",
                "url"
            ],
            "type": "object"
        },
        "@vertigis.arcgis-extensions.data.Feature.FeatureProperties": {
            "additionalProperties": false,
            "description": "Properties that can be passed into the constructor for {@link data /Feature!Feature}.",
            "properties": {
                "attributes": {
                    "anyOf": [
                        {},
                        {
                            "$ref": "Map"
                        }
                    ],
                    "description": "The feature's attributes, keyed by field name."
                },
                "failureMode": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.FailureMode.FailureMode",
                    "description": "See {@link support /InitializableBase!InitializableBase.failureMode}."
                },
                "geometry": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Geometry"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                        }
                    ],
                    "description": "The feature's geometry."
                },
                "id": {
                    "description": "The unique ID to assign to the entity. If not specified, one will be generated.",
                    "type": "string"
                },
                "schema": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.data.Schema.SchemaProperties",
                    "description": "Metadata about the feature, such as fields, domains, geometry type, etc."
                },
                "settings": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.data.FeatureSettings.FeatureSettingsProperties",
                    "description": "Settings for this feature."
                },
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The source of the feature."
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.data.FeatureSettings.FeatureSettingsProperties": {
            "additionalProperties": false,
            "description": "Properties that can be passed into the constructor for {@link data /FeatureSettings!FeatureSettings}.",
            "properties": {
                "formatSettings": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.support.FormatSettings.FormatSettingsProperties",
                    "description": "Settings affecting how feature attributes are formatted."
                },
                "hyperlinkTemplates": {
                    "description": "Templates that define hyperlinks associated with the feature. Each template's properties can contain field tokens enclosed in `{}`, which will be replaced by actual field values. If not explicitly set, these will be inherited from the associated layer extension if there is one.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.Hyperlink.HyperlinkProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.Hyperlink.Hyperlink"
                            }
                        ]
                    },
                    "type": "array"
                },
                "maxAllowableOffset": {
                    "description": "See {@link data /FeatureSettings!FeatureSettings.maxAllowableOffset}.",
                    "type": "number"
                },
                "outFields": {
                    "description": "See {@link data /FeatureSettings!FeatureSettings.outFields}.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "See {@link data /FeatureSettings!FeatureSettings.outSpatialReference}."
                },
                "popupContentExtensions": {
                    "description": "See {@link data /FeatureSettings!FeatureSettings.popupContentExtensions}.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.PopupContentExtension.PopupContentExtensionProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.PopupContentExtension.PopupContentExtension"
                            }
                        ]
                    },
                    "type": "array"
                },
                "popupTemplate": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson"
                        },
                        {
                            "$ref": "#/definitions/esri.PopupTemplate"
                        }
                    ],
                    "description": "The template for displaying content in a pop-up when the feature is selected. If not explicitly set, it will be inherited from the associated layer extension if there is one."
                },
                "returnGeometry": {
                    "description": "See {@link data /FeatureSettings!FeatureSettings.returnGeometry}.",
                    "type": "boolean"
                },
                "showRelatedRecordsWhenUnconfigured": {
                    "description": "See {@link data /FeatureSettings!FeatureSettings.showRelatedRecordsWhenUnconfigured}.",
                    "type": "boolean"
                },
                "zoomFactor": {
                    "description": "See {@link data /FeatureSettings!FeatureSettings.zoomFactor}.",
                    "type": "number"
                },
                "zoomScale": {
                    "description": "See {@link data /FeatureSettings!FeatureSettings.zoomScale}.",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.data.FieldExtension.FieldExtensionProperties": {
            "additionalProperties": false,
            "description": "Properties that can be passed into the constructor for {@link data /FieldExtension!FieldExtension}.",
            "properties": {
                "failureMode": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.FailureMode.FailureMode",
                    "description": "See {@link support /InitializableBase!InitializableBase.failureMode}."
                },
                "field": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Field"
                        },
                        {
                            "$ref": "#/definitions/@vertigis.arcgis-extensions.data.FieldExtension.FieldProperties"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The Esri Field object being extended."
                },
                "format": {
                    "description": "The field format specifier. This is a standard .NET-style format string containing a `{0}` placeholder that will be replaced by the actual field value.",
                    "type": "string"
                },
                "formatSettings": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.support.FormatSettings.FormatSettingsProperties",
                    "description": "Settings that affect how values are formatted. Depending on the type of field, some or all of these settings may not be applicable."
                },
                "id": {
                    "description": "The unique ID to assign to the entity. If not specified, one will be generated.",
                    "type": "string"
                },
                "searchable": {
                    "description": "Whether the field is searchable or not.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.data.FieldExtension.FieldProperties": {
            "additionalProperties": false,
            "description": "Properties that extend the ArcGis portal representation of a Field.",
            "properties": {
                "$ref": {
                    "description": "A field name referring to an existing field in a schema. The field extension will attempt to find an existing field in its parent schema.",
                    "type": "string"
                },
                "alias": {
                    "description": "The field alias (human-readable name).",
                    "type": "string"
                },
                "domain": {
                    "$ref": "#/definitions/esri.rest-api.DomainJson.DomainJson",
                    "description": "A domain object that provides the attribute domain information for the field, if a domain exists."
                },
                "editable": {
                    "description": "Whether this field is editable.",
                    "type": "boolean"
                },
                "exactMatch": {
                    "description": "A Boolean defining whether or not the field is an exact match.",
                    "type": "boolean"
                },
                "length": {
                    "description": "A number defining how many characters are allowed in a string field.",
                    "type": "number"
                },
                "name": {
                    "description": "A string defining the field name.",
                    "type": "string"
                },
                "nullable": {
                    "description": "Whether this field can have a null value.",
                    "type": "boolean"
                },
                "type": {
                    "$ref": "#/definitions/esri.rest-api.FieldJson.FieldJsonType",
                    "description": "Type of the Field. See {@link FieldJsonType}."
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.data.PopupContentExtension.ContentProperties": {
            "additionalProperties": false,
            "description": "Properties that extend the ArcGis portal representation of a PopupContent.",
            "properties": {
                "$ref": {
                    "$ref": "@vertigis.arcgis-extensions.data.PopupContentExtension.ContentRef",
                    "description": "A popupContent name referring to an existing popupContent in a featureSettings. The popupContent extension will attempt to find an existing popupContent in its parent featureSettings."
                },
                "attributes": {
                    "description": "A dictionary of key value pairs representing attributes to be used instead of fields and their values. This property is only used when the element is of type expression and should be returned as part of the arcade expression itself. This property allows passing arcade derived attribute values into fields or media elements."
                },
                "description": {
                    "description": "An optional string value describing the element in detail. This property does not apply when the type is text or expression.",
                    "type": "string"
                },
                "displayCount": {
                    "description": "This property applies to elements of type relationship. An integer that indicates the maximum number of records to display.",
                    "type": "number"
                },
                "displayType": {
                    "description": "This property applies to elements of type attachments and relationship. A string value indicating how to display the attachment. Possible values are, 'preview', and 'list' for attachments types, and 'list' for relationship types. If list is specified, attachments show as links.",
                    "type": "string"
                },
                "expressionInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupExpressionInfoJson",
                    "description": "This property applies to elements of type expression. An Arcade expression that defines the pop-up element content."
                },
                "fieldInfos": {
                    "description": "This property applies to elements of type fields. It is an array of popupInfo.fieldInfo objects representing a field/value pair displayed as a table within the popupElement. If the fieldInfos property is not provided, the popupElement will display whatever is specified directly in the popupInfo.fieldInfos property.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.FieldInfoJson"
                    },
                    "type": "array"
                },
                "mediaInfos": {
                    "description": "This property applies to elements of type media. An array of popupInfo.mediaInfo objects representing an image or chart for display. If no mediaInfos property is provided, the popupElement will display whatever is specified in the popupInfo.mediaInfo property.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.MediaInfoJson"
                    },
                    "type": "array"
                },
                "orderByFields": {
                    "description": "This property applies to elements of type relationship. Array of orderByFields objects indicating the field display order for the related records and whether they should be sorted in ascending 'asc' or descending 'desc' order.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.OrderByFieldsJson"
                    },
                    "type": "array"
                },
                "relationshipId": {
                    "description": "This property applies to elements of type relationship. The id of the relationship as defined in the feature layer definition.",
                    "type": "number"
                },
                "text": {
                    "description": "This property applies to elements of type text. This is string value indicating the text to be displayed within the popupElement. If no text property is provided, the popupElement will display whatever is specified in the popupInfo.description property.",
                    "type": "string"
                },
                "title": {
                    "description": "An optional string value indicating what the element represents. This property does not apply when the type is text or expression.",
                    "type": "string"
                },
                "type": {
                    "description": "String value indicating which element to use.",
                    "enum": [
                        "attachments",
                        "expression",
                        "fields",
                        "media",
                        "relationship",
                        "text"
                    ],
                    "type": "string"
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.data.PopupContentExtension.PopupContentExtensionProperties": {
            "additionalProperties": false,
            "description": "Properties that can be passed into the constructor for {@link PopupContentExtension}.",
            "properties": {
                "content": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Content"
                        },
                        {
                            "$ref": "#/definitions/@vertigis.arcgis-extensions.data.PopupContentExtension.ContentProperties"
                        }
                    ],
                    "description": "The ESRI Content instance to be extended."
                },
                "failureMode": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.FailureMode.FailureMode",
                    "description": "See {@link support /InitializableBase!InitializableBase.failureMode}."
                },
                "id": {
                    "description": "The unique ID to assign to the entity. If not specified, one will be generated.",
                    "type": "string"
                },
                "summaryHiddenFields": {
                    "description": "Names of fields that will be hidden when displayed in the a summary view. This property is only applied to \"fields\" Content types.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "visibleInSummary": {
                    "description": "Whether the Content is visible when being displayed in a summary view.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.data.Schema.SchemaProperties": {
            "additionalProperties": false,
            "description": "Properties that can be passed into the constructor for {@link data /Schema!Schema}.",
            "properties": {
                "displayField": {
                    "description": "See {@link data /Schema!Schema.displayField}.",
                    "type": "string"
                },
                "fieldExtensions": {
                    "description": "See {@link data /Schema!Schema.fieldExtensions}.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.FieldExtension.FieldExtensionProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.FieldExtension.FieldExtension"
                            }
                        ]
                    },
                    "type": "array"
                },
                "fields": {
                    "description": "See {@link data /Schema!Schema.fields}.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Field"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FieldJson.FieldJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                "geometryType": {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.GeometryJsonType",
                    "description": "See {@link data /Schema!Schema.geometryType}."
                },
                "primaryKeyField": {
                    "description": "See {@link data /Schema!Schema.primaryKeyField}.",
                    "type": "string"
                },
                "spatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "See {@link data /Schema!Schema.spatialReference}."
                },
                "timeZone": {
                    "description": "See {@link data /Schema!Schema.timeZone}.",
                    "type": "string"
                },
                "typeIdField": {
                    "description": "See {@link data /Schema!Schema.typeIdField}.",
                    "type": "string"
                },
                "types": {
                    "description": "See {@link data /Schema!Schema.types}.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.FeatureType"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.TypeJson.TypeJson"
                            }
                        ]
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.data.TaskSettings.TaskSettingsProperties": {
            "additionalProperties": false,
            "description": "Properties that can be passed into the constructor for {@link data /TaskSettings!TaskSettings}.",
            "properties": {
                "enableAdd": {
                    "description": "See {@link data /TaskSettings!TaskSettings.enableAdd}.",
                    "type": "boolean"
                },
                "enableDelete": {
                    "description": "See {@link data /TaskSettings!TaskSettings.enableDelete}.",
                    "type": "boolean"
                },
                "enableEditing": {
                    "description": "See {@link data /TaskSettings!TaskSettings.enableEditing}.",
                    "type": "boolean"
                },
                "enableExport": {
                    "description": "See {@link data /TaskSettings!TaskSettings.enableExport}.",
                    "type": "boolean"
                },
                "enableIdentify": {
                    "description": "See {@link data /TaskSettings!TaskSettings.enableIdentify}.",
                    "type": "boolean"
                },
                "enableQuery": {
                    "description": "See {@link data /TaskSettings!TaskSettings.enableQuery}.",
                    "type": "boolean"
                },
                "enableSearch": {
                    "description": "See {@link data /TaskSettings!TaskSettings.enableSearch}.",
                    "type": "boolean"
                },
                "enableUpdate": {
                    "description": "See {@link data /TaskSettings!TaskSettings.enableUpdate}.",
                    "type": "boolean"
                },
                "studioSearchSubindexId": {
                    "description": "See {@link data /TaskSettings!TaskSettings.studioSearchSubindexId}.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.data._TableExtension.TableReference": {
            "additionalProperties": false,
            "description": "Matches an existing table in a map.",
            "properties": {
                "id": {
                    "description": "The table's ID.",
                    "type": "string"
                },
                "title": {
                    "description": "The table's title.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.data.convert.CellData": {
            "additionalProperties": false,
            "description": "Data for a cell in a table.",
            "properties": {
                "formatted": {
                    "description": "The formatted value of the cell.",
                    "type": "string"
                },
                "raw": {
                    "anyOf": [
                        {
                            "format": "date-time",
                            "type": "string"
                        },
                        {
                            "type": [
                                "string",
                                "number",
                                "boolean"
                            ]
                        }
                    ],
                    "description": "The raw value of the cell."
                }
            },
            "required": [
                "raw"
            ],
            "type": "object"
        },
        "@vertigis.arcgis-extensions.mapping.Bookmark.BookmarkProperties": {
            "additionalProperties": false,
            "description": "Properties that can be passed into the constructor for {@link mapping /Bookmark!Bookmark}.",
            "properties": {
                "id": {
                    "description": "The unique ID to assign to the entity. If not specified, one will be generated.",
                    "type": "string"
                },
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.mapping.Bookmark.BookmarkSource",
                    "description": "See {@link mapping /Bookmark!Bookmark.source}."
                },
                "title": {
                    "description": "See {@link mapping /Bookmark!Bookmark.title}.",
                    "type": "string"
                },
                "viewpoint": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Viewpoint"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.ViewpointJson.ViewpointJson"
                        }
                    ],
                    "description": "See {@link mapping /Bookmark!Bookmark.viewpoint}."
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.mapping.MapExtension.ViewMode": {
            "description": "Viewing mode for a map (2D map or 3D scene).",
            "enum": [
                "map",
                "scene"
            ],
            "type": "string"
        },
        "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerReference": {
            "additionalProperties": false,
            "description": "Matches an existing layer.",
            "properties": {
                "id": {
                    "description": "The layer's ID.",
                    "type": "string"
                },
                "path": {
                    "description": "The path to the geodatabase used by an MMAP layer. Mobile only.",
                    "type": "string"
                },
                "subtype": {
                    "description": "The Layer's type, used for Layer types with multiple possible layer extension mappings.",
                    "type": "string"
                },
                "title": {
                    "description": "The layer's title.",
                    "type": "string"
                },
                "url": {
                    "description": "The layer's url.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.support.Action.Action": {
            "$ref": "#/definitions/viewer-spec.Action"
        },
        "@vertigis.arcgis-extensions.support.Action.BoundAction": {
            "additionalProperties": false,
            "description": "An action that is bound to arguments.",
            "properties": {
                "arguments": {
                    "description": "Arguments for the action. Can either be a primitive value (string, number, boolean), or a plain JSON object containing named arguments."
                },
                "name": {
                    "description": "Determines which action to perform. It is up to the calling application how it transforms an action name into actual executable code.",
                    "type": "string"
                }
            },
            "required": [
                "arguments",
                "name"
            ],
            "type": "object"
        },
        "@vertigis.arcgis-extensions.support.Action.CompositeAction": {
            "description": "A composite action that is made up of a sequence of one or more actions. The intent is that the application should execute these in the given order. If any of the actions produces an output, that should be used as the input arguments for all subsequent actions.",
            "items": {
                "$ref": "#/definitions/SimpleAction"
            },
            "type": "array"
        },
        "@vertigis.arcgis-extensions.support.FormatSettings.FormatSettingsProperties": {
            "additionalProperties": false,
            "description": "Properties that can be passed into the constructor for {@link FormatSettings}.",
            "properties": {
                "currency": {
                    "description": "The 3-letter ISO 4217 currency code (e.g \"USD\", \"CAD\"). Required when formatting a number using NumberFormat.CURRENCY or NumberFormat.ACCOUNTING.",
                    "type": "string"
                },
                "dateFormat": {
                    "description": "The default format for date values. Either a {@link utilities /format/formats!DateFormat} constant, or a custom date format string.",
                    "type": "string"
                },
                "fractionalDigits": {
                    "description": "The number of digits to show after the decimal point. If unspecified, an appropriate value is determined based on the locale and currency.",
                    "type": "number"
                },
                "locale": {
                    "description": "The locale to use when formatting values.",
                    "type": "string"
                },
                "numberFormat": {
                    "description": "The default format for number values. Either a {@link utilities /format/formats!NumberFormat} constant, or a custom number format string.",
                    "type": "string"
                },
                "timeFormat": {
                    "description": "The default format for time values. Either a {@link utilities /format/formats!DateFormat} constant, or a custom time format string.",
                    "type": "string"
                },
                "timeZone": {
                    "description": "The time zone to display date/time data in. The default will be the user's local time zone.",
                    "type": "string"
                },
                "useFieldInfo": {
                    "description": "Whether to use formatting from the field info if it is specified.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.tasks.CountResult.CountResult": {
            "additionalProperties": false,
            "description": "A count result for services.",
            "properties": {
                "count": {
                    "description": "The number of features that match the search criteria.",
                    "type": "number"
                },
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The input feature source."
                }
            },
            "required": [
                "count",
                "source"
            ],
            "type": "object"
        },
        "@vertigis.arcgis-extensions.tasks.geocoding.Geocoder.AddressLike": {
            "anyOf": [
                {},
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "type": "string"
                }
            ],
            "description": "A type that can be a string, feature or JSON object representing an address."
        },
        "@vertigis.arcgis-extensions.tasks.geocoding.Geocoder.GeocodeOptions": {
            "additionalProperties": false,
            "description": "Options that can be passed into geocode operations.",
            "properties": {
                "cancelToken": {
                    "$ref": "@vertigis.arcgis-extensions.support.Cancellable.CancelToken",
                    "description": "An optional cancel token from a {@link support /Cancellable!Cancellable} that can be used to cancel the geocode operation."
                },
                "maxResults": {
                    "description": "The maximum number of results to return. This cannot exceed the maximum supported by the geocoder (see {@link tasks /geocoding/Geocoder!Geocoder.capabilities}).",
                    "type": "number"
                },
                "outFields": {
                    "description": "Fields that should be returned for each feature.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "The spatial reference of the results."
                },
                "searchArea": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "If specified, results will be limited to those that intersect the given geometry. No effect for reverse geocoding."
                },
                "searchPoint": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "If specified, results will be weighted for the specified point. No effect for reverse geocoding."
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.tasks.identify.IdentifyOptions.IdentifyOptions": {
            "additionalProperties": false,
            "description": "Options that can be passed into {@link tasks /identify/IdentifyService!IdentifyService.identify}.",
            "properties": {
                "cancelToken": {
                    "$ref": "@vertigis.arcgis-extensions.support.Cancellable.CancelToken",
                    "description": "An optional cancel token from a {@link support /Cancellable!Cancellable} that can be used to cancel the search."
                },
                "maxAllowableOffset": {
                    "description": "The maximum allowable offset used for generalizing geometries returned by the query operation.",
                    "type": "number"
                },
                "maxResults": {
                    "description": "The maximum number of results to return.",
                    "type": "number"
                },
                "onSourceComplete": {
                    "$ref": "__type",
                    "description": "An optional callback that will be invoked with additional information about the tasks's result for each source."
                },
                "outFields": {
                    "description": "List of fields that should be returned that overrides the default out fields.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "The spatial reference for the returned geometry."
                },
                "returnGeometry": {
                    "description": "Whether geometry for features should be returned.",
                    "type": "boolean"
                },
                "tolerance": {
                    "description": "The distance in meters to buffer any geometries used in 2D identify operations.",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.tasks.query.QueryOptions.QueryOptions": {
            "additionalProperties": false,
            "description": "Options that can be passed into {@link tasks /query/QueryService!QueryService.query}.",
            "properties": {
                "cancelToken": {
                    "$ref": "@vertigis.arcgis-extensions.support.Cancellable.CancelToken",
                    "description": "An optional cancel token from a {@link support /Cancellable!Cancellable} that can be used to cancel the query."
                },
                "maxAllowableOffset": {
                    "description": "The maximum allowable offset used for generalizing geometries returned by the query operation.",
                    "type": "number"
                },
                "maxResults": {
                    "description": "The maximum number of results to return.",
                    "type": "number"
                },
                "outFields": {
                    "description": "Fields that should be returned for each feature.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "The spatial reference for the returned geometry."
                },
                "returnGeometry": {
                    "description": "Whether geometry for features should be returned.",
                    "type": "boolean"
                },
                "spatialFilter": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "Spatial filter used to filter search results. If specified, results are limited to features that intersect the geometry."
                }
            },
            "type": "object"
        },
        "@vertigis.arcgis-extensions.utilities.portal.PortalItemLike": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.PortalItem"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.ItemJson.ItemJson"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.PortalUri.PortalUri"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.utilities.uri.Uri"
                },
                {
                    "type": "string"
                }
            ],
            "description": "A reference to a portal item."
        },
        "ActivateArgs": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "$ref": "#/definitions/ActivationArgs"
                },
                {
                    "type": "string"
                }
            ],
            "description": "Arguments that can be passed to the \"ui.activate\" command. Supports a component's ID, its model, or detailed activation arguments."
        },
        "ActivateResultGroupArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.activate-group\" command.",
            "properties": {
                "layers": {
                    "$ref": "#/definitions/Layers",
                    "description": "The layer to activate the corresponding group for in the results component. If more than one layer is included, only the first item in the array will be used. One of `sources` or `layers` is required. If both are specified, `sources` will take precedence. Web only."
                },
                "results": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The result component to update, referenced by results model or its ID. Web only."
                },
                "sources": {
                    "description": "An array of sources to activate the corresponding group for in the results component. Only the first item in the array will be used. One of `sources` or `layers` is required. If both are specified, `sources` will take precedence. Web only.",
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "ActivationArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"ui.activate\" and \"ui.deactivate\" commands.",
            "properties": {
                "component": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/Model"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The component to activate or deactivate. Can be identified by its ID or model."
                },
                "validateState": {
                    "description": "Whether to validate the component's state before activation or deactivation. Defaults to `false` if not provided.",
                    "type": "boolean"
                }
            },
            "required": [
                "component"
            ],
            "type": "object"
        },
        "AddAttachmentArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"edit.add-attachment\" command. Supported by both Web and Mobile.",
            "properties": {
                "contentType": {
                    "description": "The MIME content type of the attachment.",
                    "type": "string"
                },
                "data": {
                    "description": "The binary data for the attachment.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "features": {
                    "description": "The feature(s) to add the attachment to.",
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                    },
                    "type": "array"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map."
                },
                "name": {
                    "description": "The name of the attachment.",
                    "type": "string"
                }
            },
            "required": [
                "contentType",
                "data",
                "features",
                "maps",
                "name"
            ],
            "type": "object"
        },
        "AddLayersArgs": {
            "additionalProperties": false,
            "description": "Arguments for the map.add-layers command.",
            "properties": {
                "layers": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.PortalItem"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.ItemJson.ItemJson"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.PortalUri.PortalUri"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.utilities.uri.Uri"
                        },
                        {
                            "$ref": "#/definitions/esri.Layer"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.AnnotationLayerJson.AnnotationLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.BuildingSceneLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.CSVLayerJson.CSVLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.FeatureLayerJson.FeatureLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.GeoJSONLayerJson.GeoJSONLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.GeoRSSLayerJson.GeoRSSLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.GroupLayerJson.GroupLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.ImageServiceLayerJson.ImageServiceLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.ImageServiceVectorLayerJson.ImageServiceVectorLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.IntegratedMeshLayerJson.IntegratedMeshLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.KMLLayerJson.KMLLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.MapServiceLayerJson.MapServiceLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.PointCloudLayerJson.PointCloudLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SceneLayerJson.SceneLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.StreamLayerJson.StreamLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SubtypeGroupLayerJson.SubtypeGroupLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.TiledImageServiceLayerJson.TiledImageServiceLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.TiledMapServiceLayerJson.TiledMapServiceLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.VectorTileLayerJson.VectorTileLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.WebTileLayerJson.WebTileLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.WFSLayerJson.WFSLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.WMSLayerJson.WMSLayerJson"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerExtension"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/OperationalLayerLike"
                            },
                            "type": "array"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The layer(s) to add."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The associated map(s) for the layer(s)."
                }
            },
            "required": [
                "layers"
            ],
            "type": "object"
        },
        "AddMarkupArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"map.add-markup\" command.",
            "properties": {
                "collection": {
                    "description": "The named collection of markup to operate on. If not specified the default markup collection will be used. Some markup collection names are used internally by Web:\n\n| Collection Name                    | Usage                                                                       |\n| ---------------------------------- | --------------------------------------------------------------------------- |\n| \"default\"                          | The default markup layer.                                                   |\n| \"vgs-active-snapping-guides\"       | The active snap point when snapping.                                        |\n| \"vgs-buffer\"                       | Buffer graphics from out of the box buffer tools.                           |\n| \"vgs-context-marker\"               | Right click context marker on map.                                          |\n| \"vgs-dirty-indicator\"              | Invalid geometry indicators used when editing.                              |\n| \"vgs-editing-control\"              | Edit frame and vertices while editing geometries.                           |\n| \"vgs-location-accuracy\"            | Location accuracy circle when geolocating.                                  |\n| \"vgs-location-marker-\\*\"           | Location markers have this prefix followed by the marker id.                |\n| \"vgs-map-notes\"                    | Map Notes.                                                                  |\n| \"vgs-measurement-labels\"           | Labels on measured graphics.                                                |\n| \"vgs-other-snapping-guides\"        | Additional snapping point visualizations.                                   |\n| \"vgs-query\"                        | Graphics representing the custom spatial filter for the query builder tool. |\n| \"vgs-self-snaps\"                   | Used internally by snapping.                                                |\n| \"vgs-sketching\"                    | Temporary graphics used while drawing geometries.                           |\n| \"vgs-snapping-radius\"              | Snapping radius when snapping is active.                                    |\n| \"vgs-transient-measurement-labels\" | Measurement labels used while drawing.                                      |\n\nWeb only.",
                    "type": "string"
                },
                "graphics": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/CreateGraphicsResult"
                        },
                        {
                            "$ref": "#/definitions/esri.Graphic"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/esri.Graphic"
                            },
                            "type": "array"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                        },
                        {
                            "$ref": "#/definitions/esri.FeatureSet"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/esri.Graphic"
                                    },
                                    {
                                        "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                                    }
                                ]
                            },
                            "type": "array"
                        }
                    ],
                    "description": "The markup to add to the map. `GraphicsLike` is only available in Web."
                },
                "level": {
                    "$ref": "#/definitions/MarkupLevel",
                    "description": "The level (z-order) to assign the markup to. If not specified uses the same level as default markup. Web only."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                }
            },
            "type": "object"
        },
        "AddNodeOrder": {
            "description": "Indicates whether a new point should be added before or after the active point in a sketch.",
            "enum": [
                "add-after-active",
                "add-before-active"
            ],
            "type": "string"
        },
        "AddNodeToGeometryArgs": {
            "additionalProperties": false,
            "description": "Deprecated - Mobile users should rather use \"geometry.add-point\"; Web users should use \"sketching.add-point\" with {@link AddPointArgs} or \"sketching.insert-point\" with {@link InsertPointArgs} instead.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The initial geometry to add the point to. Can be null."
                },
                "geometryType": {
                    "description": "The type of geometry to create if the initial geometry is null. In VertiGIS Studio Mobile, this value must be 'polygon' or 'polyline'. In VertiGIS Studio Web, this value may also be null if the point being added is intended to be added to the active sketch.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "node": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "A point geometry to add to the initial geometry. In VertiGIS Studio Web, this value may be null if the intention is to add a point at the position of the active point of an active sketch."
                },
                "nodeOrder": {
                    "$ref": "#/definitions/AddNodeOrder",
                    "description": "Indicates whether the new point should be added before or after the active point in the sketch. Not supported by VertiGIS Studio Mobile."
                }
            },
            "required": [
                "geometry",
                "geometryType",
                "node"
            ],
            "type": "object"
        },
        "AddPointArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.add-point\" command.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The geometry to add the point to, if multiple are present in an active editing session. Not supported by Mobile."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "newPoint": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The new point to be added."
                }
            },
            "required": [
                "newPoint"
            ],
            "type": "object"
        },
        "AddressLike": {
            "anyOf": [
                {},
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "type": "string"
                }
            ],
            "description": "A type that can be a string, feature or JSON object representing an address."
        },
        "AlertCommandArgs": {
            "additionalProperties": false,
            "description": "Arguments for the 'ui.alert' command.",
            "properties": {
                "buttonText": {
                    "description": "The text to display on the dismiss button.",
                    "type": "string"
                },
                "initialPosition": {
                    "$ref": "MessageBoxPosition",
                    "description": "Where the dialog appears in the app when it is created. Defaults to center position. Web only."
                },
                "isDraggable": {
                    "description": "Whether the dialog is draggable or not. Defaults to true. Web only.",
                    "type": "boolean"
                },
                "message": {
                    "description": "The message to be displayed in the dialog.",
                    "type": "string"
                },
                "title": {
                    "description": "The title of the dialog.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "AppConfig": {
            "additionalProperties": false,
            "description": "Configuration for a VertiGIS Studio App. An App is a portable format for describing the items and settings used by VertiGIS Studio applications. Items that are defined within an App (e.g. menus, layer extensions, web maps, etc.) can be retrieved by loading the App configuration into an {@link AppContainer} and using its {@link AppContainer.get} method.",
            "properties": {
                "failureModes": {
                    "additionalProperties": {
                        "$ref": "#/definitions/FailureMode"
                    },
                    "description": "User-defined failure modes for particular items. Items are referenced by item uri.",
                    "type": "object"
                },
                "import": {
                    "description": "Specifies zero or more App configurations that are imported into this one.\n\nImports are processed in the order specified, followed by items and settings that are locally defined in this AppConfig. If the same item is defined multiple times, then the items' properties will get merged in such a way that the later definitions will override earlier ones. Similarly if a setting is defined several times, then the most recent definition wins.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "items": {
                    "description": "The set of items defined in the App (order is irrelevant).",
                    "items": {
                        "$ref": "#/definitions/ItemConfig"
                    },
                    "type": "array"
                },
                "schemaVersion": {
                    "description": "The version of the App configuration schema that is being used. Current version is available via the {@link CURRENT_SCHEMA_VERSION} constant.",
                    "type": "string"
                },
                "settings": {
                    "additionalProperties": {
                        "type": [
                            "string",
                            "number",
                            "boolean"
                        ]
                    },
                    "description": "User-defined settings. These can be referenced via URIs in the form setting://setting-name.",
                    "type": "object"
                },
                "title": {
                    "description": "A human-readable name for the App.",
                    "type": "string"
                }
            },
            "required": [
                "schemaVersion"
            ],
            "type": "object"
        },
        "ApplyFilterEffectArgs": {
            "additionalProperties": false,
            "description": "The required arguments for the 'maps.apply-filter-effect' command.",
            "properties": {
                "distance": {
                    "description": "Specifies a search distance from a given 'geometry' in th spatial filter. In essence, setting this property creates a buffer at the specified size around the input 'geometry'.",
                    "type": "number"
                },
                "excludedEffect": {
                    "$ref": "#/definitions/FilterEffectSettings",
                    "description": "The effect given to features that don't match the filter."
                },
                "featureMode": {
                    "$ref": "#/definitions/FilterEffectFeatureMode",
                    "description": "How the features are used in the filter effect. 'include' includes new features to any that may exist within an existing effect. 'exclude' removes features that may exist within an existing effect. 'replace' replaces any features that may exist within an existing effect. The default is 'include'."
                },
                "features": {
                    "$ref": "#/definitions/Features",
                    "description": "The features to which the filter effect is applied. If the 'layer' property is set, only features from that layer will be effected; otherwise, the filter effect is applied to each of the features' source layers and all other applicable layers on the 'maps' will receive the 'excludedEffect'."
                },
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The geometry to apply to the spatial filter. The spatial relationship, as specified by the 'spatialRelationship' property, will indicate how the geometry should be used to filter features."
                },
                "includedEffect": {
                    "$ref": "#/definitions/FilterEffectSettings",
                    "description": "The effect given to features that match the filter."
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "The layer(s) to which the filter effect will be applied. When defined, the filter only gets set on the corresponding LayerView. If no 'layer' is defined, all applicable layers included in the specified 'maps' will receive the filter effect."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) whose layers will receive the filter effect. If no 'maps' nor 'layer' are defined, all applicable layers on all maps will receive the filter effect."
                },
                "spatialRelationship": {
                    "$ref": "#/definitions/FilterSpatialRelationship",
                    "description": "The spatial relationship to filter features in the layer view against the filter 'geometry'."
                },
                "timeExtent": {
                    "$ref": "#/definitions/TimeExtent",
                    "description": "A range of time with start and end date. Only the features that fall within this time extent will be included."
                },
                "units": {
                    "$ref": "#/definitions/FilterDistanceUnits",
                    "description": "The unit for calculating the buffer distance when 'distance' is defined for the spatial filter. If 'units' is not specified, the unit is derived from the filter geometry's spatial reference."
                },
                "where": {
                    "description": "A where clause for the feature filter. Any legal SQL92 where clause operating on the fields in the 'layer' is allowed. The 'where' clause is ignored if no 'layer' is defined.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "ApplyLayerPresetArgs": {
            "additionalProperties": false,
            "description": "Arguments for the map.apply-layer-preset command.",
            "properties": {
                "layerPreset": {
                    "$ref": "@vertigis.arcgis-extensions.layer-preset.LayerPreset.LayerPreset",
                    "description": "The LayerPreset to apply."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) to which the layerPreset will be applied."
                }
            },
            "required": [
                "layerPreset"
            ],
            "type": "object"
        },
        "AreaMeasurementUnits": {
            "description": "The units for area measurements supported by ArcGIS.",
            "enum": [
                "acres",
                "ares",
                "hectares",
                "square-feet",
                "square-kilometers",
                "square-meters",
                "square-miles",
                "square-yards"
            ],
            "type": "string"
        },
        "BatchGeocodeArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"geocode.batch-geocode\" operation.",
            "properties": {
                "addresses": {
                    "description": "The addresses to look up.",
                    "items": {
                        "$ref": "#/definitions/AddressLike"
                    },
                    "type": "array"
                },
                "options": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.tasks.geocoding.Geocoder.GeocodeOptions",
                    "description": "Options that affect geocode results."
                }
            },
            "required": [
                "addresses",
                "options"
            ],
            "type": "object"
        },
        "BufferGeometryArgs": {
            "additionalProperties": false,
            "description": "Arguments for the geometry.buffer operation.",
            "properties": {
                "bufferDistance": {
                    "description": "Optionally override the configured buffer distance.",
                    "type": "number"
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to use for the command/operation."
                }
            },
            "type": "object"
        },
        "BufferResult": {
            "additionalProperties": false,
            "description": "The result of a geometry.buffer operation.",
            "properties": {
                "geometry": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Geometry"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/esri.Geometry"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "The buffered geometry."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Any maps that were included within the input arguments."
                }
            },
            "required": [
                "geometry"
            ],
            "type": "object"
        },
        "CaptureGeometryArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.capture-geometry\" operation.",
            "properties": {
                "disableFreehand": {
                    "description": "Disables freehand sketching during the draw session. Web only.",
                    "type": "boolean"
                },
                "editorSettings": {
                    "$ref": "#/definitions/GeometryEditorSettings",
                    "description": "The settings to be applied to the sketch. Mobile only."
                },
                "geometryType": {
                    "anyOf": [
                        {
                            "items": {
                                "$ref": "#/definitions/SketchTool"
                            },
                            "type": "array"
                        },
                        {
                            "enum": [
                                "circle",
                                "extent",
                                "line",
                                "multipoint",
                                "point",
                                "polygon",
                                "polyline",
                                "square"
                            ],
                            "type": "string"
                        }
                    ],
                    "description": "The geometry/shape to use for sketching. * Multiple sketch tools are only supported by VertiGIS Studio Web. When multiple sketch tools are provided, the sketch will begin with the first one in the list. If \"point\" is the first of multiple options in the list, click actions will create points while click-and-drag actions will automatically begin the freehand variation of the next included geometry type. The types \"point\", \"line\" and \"square\" are supported only in Web."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The maps to activate drawing on. By default it will be all maps."
                },
                "maxSegments": {
                    "description": "The maximum number of segments permitted for a polyline or polygon sketch. Default is no limit. Mobile only.",
                    "type": "number"
                },
                "pluginSettings": {
                    "description": "Web only. Additional settings that are specific to sketching plugins, keyed by plugin ID. The only currently supported plugin is \"snapping\". A boolean value can also be assigned to completely disable, or enable with default settings."
                },
                "symbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.CIMSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.LabelSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.MeshSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.StyleSymbolReferenceJson"
                        },
                        {
                            "$ref": "#/definitions/SymbolSet"
                        }
                    ],
                    "description": "An optional symbol to use. SymbolSets are not supported by VertiGIS Studio Mobile."
                }
            },
            "required": [
                "geometryType"
            ],
            "type": "object"
        },
        "CaptureGeometryResult": {
            "additionalProperties": false,
            "description": "Result of the \"sketching.capture-geometry\" operation.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The geometry that was captured."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map that the user sketched the geometry on. Unavailable in VertiGIS Studio Mobile."
                },
                "symbol": {
                    "$ref": "#/definitions/esri.Symbol",
                    "description": "The symbol that was used. Unavailable in VertiGIS Studio Web."
                }
            },
            "required": [
                "geometry",
                "maps"
            ],
            "type": "object"
        },
        "CardSize": {
            "description": "Specifies what card size a results list component should use to display result items.",
            "enum": [
                "compact",
                "standard"
            ],
            "type": "string"
        },
        "ChooseLayersOptions": {
            "additionalProperties": false,
            "description": "Arguments for the \"portal.choose-layers\" operation.",
            "properties": {
                "allowMultiple": {
                    "description": "Whether the user can choose multiple layers, or just one. Default is `false`.",
                    "type": "boolean"
                },
                "attributes": {
                    "description": "Optional layout XML attributes to be used for the transient UI container."
                },
                "icon": {
                    "description": "Optional icon that may be used by the transient UI container.",
                    "type": "string"
                },
                "initialSource": {
                    "$ref": "#/definitions/Source",
                    "description": "Optionally specify the source that will be initially selected. If specified this will overwrite the configured default in the Portal Model."
                },
                "layerFilterTags": {
                    "description": "Optionally specify the tags by which the Choose Layer modal will filter out the displayed layers. If specified this will overwrite the configured default in the Portal Model.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "parent": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The layout ID or ItemRef to target for the command/operation. This component will be the parent of the temporary UI that will be removed after the command/operation completes."
                },
                "sources": {
                    "description": "Optionally specify the sources that we want to expose. If specified this will overwrite the configured default in the Portal Model.",
                    "items": {
                        "$ref": "#/definitions/Source"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "ChooseLayersResult": {
            "additionalProperties": false,
            "description": "Result of the \"portal.choose-layers\" operation.",
            "properties": {
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "The layer(s) chosen by the user."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                }
            },
            "type": "object"
        },
        "ClearMarkupArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"map.clear-markup\" command.",
            "properties": {
                "collection": {
                    "description": "The named collection of markup to operate on. If not specified the default markup collection will be used. Some markup collection names are used internally by Web:\n\n| Collection Name                    | Usage                                                                       |\n| ---------------------------------- | --------------------------------------------------------------------------- |\n| \"default\"                          | The default markup layer.                                                   |\n| \"vgs-active-snapping-guides\"       | The active snap point when snapping.                                        |\n| \"vgs-buffer\"                       | Buffer graphics from out of the box buffer tools.                           |\n| \"vgs-context-marker\"               | Right click context marker on map.                                          |\n| \"vgs-dirty-indicator\"              | Invalid geometry indicators used when editing.                              |\n| \"vgs-editing-control\"              | Edit frame and vertices while editing geometries.                           |\n| \"vgs-location-accuracy\"            | Location accuracy circle when geolocating.                                  |\n| \"vgs-location-marker-\\*\"           | Location markers have this prefix followed by the marker id.                |\n| \"vgs-map-notes\"                    | Map Notes.                                                                  |\n| \"vgs-measurement-labels\"           | Labels on measured graphics.                                                |\n| \"vgs-other-snapping-guides\"        | Additional snapping point visualizations.                                   |\n| \"vgs-query\"                        | Graphics representing the custom spatial filter for the query builder tool. |\n| \"vgs-self-snaps\"                   | Used internally by snapping.                                                |\n| \"vgs-sketching\"                    | Temporary graphics used while drawing geometries.                           |\n| \"vgs-snapping-radius\"              | Snapping radius when snapping is active.                                    |\n| \"vgs-transient-measurement-labels\" | Measurement labels used while drawing.                                      |\n\nWeb only.",
                    "type": "string"
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "The markup to clear. If not specified will clear all markup in the selected collection."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                }
            },
            "type": "object"
        },
        "CoincidentEditingGraphicResult": {
            "additionalProperties": false,
            "description": "The result of a Graphic being coincidentally edited as a part of a editing session with topological editing enabled. Web Only.",
            "properties": {
                "graphic": {
                    "$ref": "#/definitions/esri.Graphic",
                    "description": "The coincident graphic that was included in an editing session with topological editing enabled."
                },
                "originalGeometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "A copy of the original geometry of the Graphic, before it was edited."
                }
            },
            "required": [
                "graphic",
                "originalGeometry"
            ],
            "type": "object"
        },
        "ComponentId": {
            "description": "A component's ID in the layout.",
            "type": "string"
        },
        "ConfirmOperationArgs": {
            "additionalProperties": false,
            "description": "Arguments for the 'ui.confirm' operation.",
            "properties": {
                "cancelButtonText": {
                    "description": "The text to display on the cancel button.",
                    "type": "string"
                },
                "initialPosition": {
                    "$ref": "MessageBoxPosition",
                    "description": "Where the dialog appears in the app when it is created. Defaults to center position. Web only."
                },
                "isDraggable": {
                    "description": "Whether the dialog is draggable or not. Defaults to true. Web only.",
                    "type": "boolean"
                },
                "message": {
                    "description": "The message to be displayed in the dialog.",
                    "type": "string"
                },
                "okButtonText": {
                    "description": "The text to display on the ok button.",
                    "type": "string"
                },
                "title": {
                    "description": "The title of the dialog.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "ConversionResult": {
            "additionalProperties": false,
            "description": "Result of various operations that convert features into a downloadable file.",
            "properties": {
                "name": {
                    "description": "A file name representation for the conversion.",
                    "type": "string"
                },
                "result": {
                    "$ref": "Blob",
                    "description": "The result of the conversion in the specified form."
                }
            },
            "required": [
                "name",
                "result"
            ],
            "type": "object"
        },
        "CoordinateFormat": {
            "description": "The format in which a map coordinate could be displayed.",
            "enum": [
                "lat-long-dd",
                "lat-long-ddm",
                "lat-long-dms",
                "mgrs",
                "usng",
                "utm",
                "xy"
            ],
            "type": "string"
        },
        "CoordinateOptionProperties": {
            "additionalProperties": false,
            "description": "Options for configuring the display of map coordinates.",
            "properties": {
                "format": {
                    "$ref": "#/definitions/CoordinateFormat",
                    "description": "The format to display map coordinates in."
                },
                "id": {
                    "description": "The unique ID of the Coordinate Option.",
                    "type": "string"
                },
                "precision": {
                    "description": "For LAT_LONG and XY coordinate formats, this property depicts the number of decimal places displayed. For MGRS and USNG coordinate formats, this property depicts the precision of the coordinates using an integer between 0 and 8 (inclusive). This Value is ignored by UTM coordinate formats. The default values for coordinate formats are as follows: LAT_LONG=4, XY=2, MGRS=5, and USNG=5.",
                    "type": "number"
                },
                "spatialReference": {
                    "$ref": "#/definitions/esri.rest-api.SpatialReferenceJson.SpatialReferenceJson",
                    "description": "The spatial reference to display map coordinates in. If this property is not defined, the spatial reference of the map will be used."
                },
                "title": {
                    "description": "The display name of the CoordinateOption.",
                    "type": "string"
                }
            },
            "required": [
                "format",
                "id",
                "title"
            ],
            "type": "object"
        },
        "CreateFeatureArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"edit.create-feature\" operation. A valid feature layer, subtype group layer, or subtype sublayer is required. The geometry is required for non-tabular features. Web only.",
            "properties": {
                "featureAttributes": {
                    "description": "A collection of attributes to apply to the new feature."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to use for the command/operation."
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "orientation": {
                    "description": "The orientation of the template picker. Defaults to \"vertical\".",
                    "enum": [
                        "horizontal",
                        "vertical"
                    ],
                    "type": "string"
                },
                "showNotifications": {
                    "description": "Whether to show UI notifications. Defaults to `true`.",
                    "type": "boolean"
                },
                "showTitles": {
                    "description": "Whether to show titles on the template picker. Defaults to `true`.",
                    "type": "boolean"
                },
                "templateName": {
                    "description": "The template to use as a starting point for this feature. Requires a layer. The default or first template will be used if not set.",
                    "type": "string"
                },
                "typeId": {
                    "description": "A type id to use as a starting point for this feature. This may return one or more templates and requires a layer with types defined.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "CreateGraphicsArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"drawing.create-graphics\" operation. `GeometryLike`, `FeaturesLike` and `SymbolLike` are only available in Web.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features containing geometry to create graphics from. Web only."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry that was captured."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "symbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Symbol"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PointSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.LineSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.PolygonSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        }
                    ],
                    "description": "The symbol that should be used to create the graphic. If null, a default is provided."
                }
            },
            "required": [
                "geometry"
            ],
            "type": "object"
        },
        "CreateGraphicsResult": {
            "additionalProperties": false,
            "description": "Result of the \"drawing.create-graphics\" and \"measurement.create-graphics\" operations.",
            "properties": {
                "graphics": {
                    "description": "The resulting graphics.",
                    "items": {
                        "$ref": "#/definitions/esri.Graphic"
                    },
                    "type": "array"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map that the graphics were created on. Only available in Web."
                }
            },
            "required": [
                "graphics",
                "maps"
            ],
            "type": "object"
        },
        "CreateLocationMarkerArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"location-marker.create\" command.",
            "properties": {
                "color": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Color"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                            "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null. See {@link https://developers.arcgis.com/web-map-specification/objects/color/} {@link https://developers.arcgis.com/web-scene-specification/objects/color/}."
                        }
                    ],
                    "description": "Indicates the color for the Marker. This property is only used if the symbol is a well-known ID."
                },
                "fov": {
                    "description": "Indicates the horizontal field of view in degrees for the marker. Ranges from 0 to 360. This property is currently only supported by the \"dot\" symbol.",
                    "type": "number"
                },
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The location of the Marker."
                },
                "heading": {
                    "description": "The clockwise rotation of the symbol in the horizontal plane in degrees.",
                    "type": "number"
                },
                "id": {
                    "description": "The ID of the Marker.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsRef",
                    "description": "The map(s) for the Marker. If maps are undefined, all maps will be targeted."
                },
                "onUpdate": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.support.Action.Action",
                    "description": "Optional Action to perform when a Marker is updated."
                },
                "scale": {
                    "description": "The scale of the Marker, defaults to 1.",
                    "type": "number"
                },
                "symbol": {
                    "anyOf": [
                        {
                            "items": {
                                "$ref": "#/definitions/MarkerSymbolConfig"
                            },
                            "type": "array"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The symbol used to display the marker. The symbol can be an array of Symbols or one of the following well-known IDs: \"dot\", \"callout\", or \"exclamation\". Defaults to \"dot\"."
                },
                "tilt": {
                    "description": "In 3D, the tilt angle of the location marker symbol. Ranges from 0 (straight down) to 180 (straight up) degrees. Defaults to 90 (straight ahead).",
                    "type": "number"
                },
                "userDraggable": {
                    "description": "Sets whether the Marker should be user draggable.",
                    "type": "boolean"
                }
            },
            "required": [
                "geometry"
            ],
            "type": "object"
        },
        "CreateMapNoteArgs": {
            "additionalProperties": false,
            "description": "Arguments for the map.create-note command.",
            "properties": {
                "attributes": {
                    "description": "Optional layout XML attributes to be used for the transient UI container."
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Optionally the features that can be referenced for inserting snippets."
                },
                "geometry": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The location for the map note."
                },
                "icon": {
                    "description": "Optional icon that may be used by the transient UI container.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map that should show the created note."
                },
                "parent": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The layout ID or ItemRef to target for the command/operation. This component will be the parent of the temporary UI that will be removed after the command/operation completes."
                }
            },
            "required": [
                "geometry"
            ],
            "type": "object"
        },
        "CreateMeasurementGraphicsResult": {
            "additionalProperties": false,
            "description": "Result of the \"measurement.create-graphics\" operation.",
            "properties": {
                "graphics": {
                    "description": "The resulting graphics.",
                    "items": {
                        "$ref": "#/definitions/esri.Graphic"
                    },
                    "type": "array"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map that the graphics were created on. Only available in Web."
                }
            },
            "required": [
                "graphics",
                "maps"
            ],
            "type": "object"
        },
        "CreateOrUpdateItemArgs": {
            "additionalProperties": false,
            "description": "Arguments for the 'portal.create-or-update-item' operation.",
            "properties": {
                "data": {
                    "description": "The JSON data associated with the item."
                },
                "promptForOverwrite": {
                    "description": "Whether to prompt before overwriting an existing item. This must be set to `false` to allow overwriting if `showUI` is also `false`. Defaults to `true`.",
                    "type": "boolean"
                },
                "showUI": {
                    "description": "Whether to show UI elements associated with this operation. Defaults to `true`.",
                    "type": "boolean"
                },
                "thumbnail": {
                    "description": "The URL of a thumbnail for the item.",
                    "type": "string"
                },
                "title": {
                    "description": "The title of the resulting portal item. Must be provided if `showUI` is `false`.",
                    "type": "string"
                },
                "type": {
                    "description": "The portal type of the item.",
                    "type": "string"
                }
            },
            "required": [
                "data",
                "type"
            ],
            "type": "object"
        },
        "DeactivateArgs": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "$ref": "#/definitions/ActivationArgs"
                },
                {
                    "type": "string"
                }
            ],
            "description": "Arguments that can be passed to the \"ui.deactivate\" command. Supports a component's ID, its model, or detailed deactivation arguments."
        },
        "DeleteAttachmentArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"edit.delete-attachment\" command.",
            "properties": {
                "attachments": {
                    "description": "The attachment(s) to remove from the feature(s). This property can be populated with the title(s) or ID(s) of the attachments(s). Any and all matching attachments found on the input features will be deleted. Web only.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "features": {
                    "$ref": "#/definitions/Features",
                    "description": "The feature(s) to remove the attachment(s) from."
                },
                "gcxAttachment": {
                    "$ref": "@vertigis.arcgis-extensions.data.Attachment.Attachment",
                    "description": "The attachment to remove from the feature(s). Mobile only."
                }
            },
            "required": [
                "features"
            ],
            "type": "object"
        },
        "DeleteGeometryArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.delete\" command.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The geometry to remove a point from. If this property is not specified, any active vertices will be deleted."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "partIndex": {
                    "description": "The index of the part of the geometry that the point should be removed from. Required for polyline and polygon geometry types when the geometry and pointIndex properties are defined.",
                    "type": "number"
                },
                "point": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The point to remove from the geometry. If this property is defined, the 'pointIndex' and 'partIndex' properties are ignored. If no point nor pointIndex/partIndex are specified, any active points will be deleted. If there are no active points, the entire geometry will be deleted."
                },
                "pointIndex": {
                    "description": "The index of the point that should be removed from the geometry. If this property is defined, the geometry property must also be defined.",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "DeleteSharedProjectArgs": {
            "additionalProperties": false,
            "description": "Arguments for the project.delete-shared command. Only available in VertiGIS Studio Web.",
            "properties": {
                "created": {
                    "$ref": "Date",
                    "description": "The created Date."
                },
                "description": {
                    "description": "A description for the shared project.",
                    "type": "string"
                },
                "hiddenFrom": {
                    "$ref": "Iterable",
                    "description": "Filters that determine whether the UI element is hidden from a given end-user. If both visibleTo and hiddenFrom are undefined/empty, the component will be visible to all users."
                },
                "id": {
                    "description": "The unique ID for this entity.",
                    "type": "string"
                },
                "modified": {
                    "$ref": "Date",
                    "description": "The modified Date."
                },
                "modifiedBy": {
                    "$ref": "#/definitions/PortalUsername",
                    "description": "The username of the last modifier."
                },
                "owner": {
                    "$ref": "#/definitions/PortalUsername",
                    "description": "The username of the owner."
                },
                "readOnly": {
                    "description": "Indicates if the shared project is shared as 'read only'.",
                    "type": "boolean"
                },
                "showConfirm": {
                    "description": "Whether to show a confirm prompt, when overwriting a shared project. Defaults to 'true'.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A human-readable title for the shared project.",
                    "type": "string"
                },
                "visibleTo": {
                    "$ref": "Iterable",
                    "description": "Filters that determine whether the UI element is visible to a given end-user. If both visibleTo and hiddenFrom are undefined/empty, the component will be visible to all users."
                }
            },
            "type": "object"
        },
        "DisplayAddFeatureArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"edit.display-add-feature\" command. Web only.",
            "properties": {
                "editAttachments": {
                    "description": "Whether to allow editing of feature attachments.",
                    "type": "boolean"
                },
                "editAttributes": {
                    "description": "Whether to allow editing of feature attributes.",
                    "type": "boolean"
                },
                "editGeometry": {
                    "description": "Whether to allow editing of feature geometry.",
                    "type": "boolean"
                },
                "editGeometryOptions": {
                    "$ref": "#/definitions/EditGeometryOptions",
                    "description": "Options for the geometry editing session."
                },
                "featureAttributes": {
                    "description": "A collection of attributes to apply to the new feature."
                },
                "fieldElements": {
                    "description": "A collection of configuration overrides for the editable fields. Web only.",
                    "items": {
                        "$ref": "__type"
                    },
                    "type": "array"
                },
                "formUITarget": {
                    "$ref": "#/definitions/HasUITarget",
                    "description": "Arguments for the display of the attribute editing form. Web only."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to use for the command/operation."
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "orientation": {
                    "description": "The orientation of the template picker. Defaults to \"vertical\".",
                    "enum": [
                        "horizontal",
                        "vertical"
                    ],
                    "type": "string"
                },
                "pluginSettings": {
                    "description": "Web only. Additional settings that are specific to sketching plugins, keyed by plugin ID. The only currently supported plugin is \"snapping\". A boolean value can also be assigned to completely disable, or enable with default settings."
                },
                "showNotifications": {
                    "description": "Whether to show UI notifications. Defaults to `true`.",
                    "type": "boolean"
                },
                "showTitles": {
                    "description": "Whether to show titles on the template picker. Defaults to `true`.",
                    "type": "boolean"
                },
                "templateName": {
                    "description": "The template to use as a starting point for this feature. Requires a layer. The default or first template will be used if not set.",
                    "type": "string"
                },
                "templateUITarget": {
                    "$ref": "#/definitions/HasUITarget",
                    "description": "Arguments for the display of the template picker. Web only."
                },
                "typeId": {
                    "description": "A type id to use as a starting point for this feature. This may return one or more templates and requires a layer with types defined.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "DisplayAddRelatedFeatureArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"edit.display-add-related-feature\" command. A feature and a relationship ID are supplied as inputs instead of a layer.",
            "properties": {
                "editAttachments": {
                    "description": "Whether to allow editing of feature attachments.",
                    "type": "boolean"
                },
                "editAttributes": {
                    "description": "Whether to allow editing of feature attributes.",
                    "type": "boolean"
                },
                "editGeometry": {
                    "description": "Whether to allow editing of feature geometry.",
                    "type": "boolean"
                },
                "editGeometryOptions": {
                    "$ref": "#/definitions/EditGeometryOptions",
                    "description": "Options for the geometry editing session."
                },
                "featureAttributes": {
                    "description": "A collection of attributes to apply to the new feature."
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "fieldElements": {
                    "description": "A collection of configuration overrides for the editable fields. Web only.",
                    "items": {
                        "$ref": "__type"
                    },
                    "type": "array"
                },
                "formUITarget": {
                    "$ref": "#/definitions/HasUITarget",
                    "description": "Arguments for the display of the attribute editing form. Web only."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "orientation": {
                    "description": "The orientation of the template picker. Defaults to \"vertical\".",
                    "enum": [
                        "horizontal",
                        "vertical"
                    ],
                    "type": "string"
                },
                "pluginSettings": {
                    "description": "Web only. Additional settings that are specific to sketching plugins, keyed by plugin ID. The only currently supported plugin is \"snapping\". A boolean value can also be assigned to completely disable, or enable with default settings."
                },
                "relatedFeatureSource": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The feature source for the related feature to create. Mobile only."
                },
                "relationshipId": {
                    "description": "The ID of the relationship to add a feature to.",
                    "type": "string"
                },
                "showNotifications": {
                    "description": "Whether to show UI notifications. Defaults to `true`.",
                    "type": "boolean"
                },
                "showTitles": {
                    "description": "Whether to show titles on the template picker. Defaults to `true`.",
                    "type": "boolean"
                },
                "templateName": {
                    "description": "The template to use as a starting point for this feature. Requires a layer. The default or first template will be used if not set.",
                    "type": "string"
                },
                "templateUITarget": {
                    "$ref": "#/definitions/HasUITarget",
                    "description": "Arguments for the display of the template picker. Web only."
                },
                "typeId": {
                    "description": "A type id to use as a starting point for this feature. This may return one or more templates and requires a layer with types defined.",
                    "type": "string"
                }
            },
            "required": [
                "relatedFeatureSource",
                "relationshipId"
            ],
            "type": "object"
        },
        "DisplayBusyStateArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"ui.display-busy-state\" args.",
            "properties": {
                "id": {
                    "description": "The ID used to link a busy state to its caller. Web only.",
                    "type": "string"
                },
                "maximumDisplayDurationMs": {
                    "description": "The maximum number of milliseconds the busy state will be displayed. Web only.",
                    "type": "number"
                },
                "message": {
                    "description": "The message to display.",
                    "type": "string"
                },
                "messageDelayMs": {
                    "description": "The number of milliseconds to wait before displaying the message. Default is 3000. Web only.",
                    "type": "number"
                },
                "minimumDisplayDurationMs": {
                    "description": "The minimum duration, in milliseconds, that the busy state will be displayed. Defaults to 500. Mobile only.",
                    "type": "number"
                },
                "title": {
                    "description": "The title to display. Mobile only.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "DisplayNotificationArgs": {
            "additionalProperties": false,
            "description": "The arguments for the `ui.display-notification` command.",
            "properties": {
                "autoClose": {
                    "description": "Indicates if the notification should auto-close after a time duration. Defaults to true. Mobile only.",
                    "type": "boolean"
                },
                "category": {
                    "$ref": "#/definitions/NotificationCategory",
                    "description": "The category of notification, i.e. \"error\" (default is \"info\")."
                },
                "disableTimeouts": {
                    "description": "Disable notification timeouts. Timeouts only apply to \"info\" and \"success\" categories. Web only.",
                    "type": "boolean"
                },
                "id": {
                    "description": "Optional identifier that can be used to hide a particular notification (see `ui.hide-notification`) Web only.",
                    "type": "string"
                },
                "message": {
                    "$ref": "#/definitions/TranslatableText",
                    "description": "The message to be displayed in the notification. Mobile only supports a string for this property."
                },
                "notificationGroup": {
                    "description": "Notifications in the same notification group are mutually exclusive, and will supersede one another. Mobile only.",
                    "type": "string"
                },
                "onClose": {
                    "$ref": "__type",
                    "description": "Invoked when the notification is closed, either explicitly or due to timeout. Web only."
                },
                "position": {
                    "$ref": "Position",
                    "description": "The position of the notification on the screen. Web only."
                },
                "title": {
                    "description": "The notification title - only shown for system notifications. Mobile only.",
                    "type": "string"
                },
                "type": {
                    "$ref": "#/definitions/NotificationType",
                    "description": "The type of notification - 'app', 'system', or 'auto'. Defaults to 'auto'. Mobile only."
                }
            },
            "required": [
                "message"
            ],
            "type": "object"
        },
        "DisplayUpdateFeatureArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"edit.display-update-features\" operation. Web only.",
            "properties": {
                "attributes": {
                    "description": "Optional layout XML attributes to be used for the transient UI container."
                },
                "editAttachments": {
                    "description": "Whether to allow editing of feature attachments.",
                    "type": "boolean"
                },
                "editAttributes": {
                    "description": "Whether to allow editing of feature attributes.",
                    "type": "boolean"
                },
                "editGeometry": {
                    "description": "Whether to allow editing of feature geometry.",
                    "type": "boolean"
                },
                "editGeometryOptions": {
                    "$ref": "#/definitions/EditGeometryOptions",
                    "description": "Options for the geometry editing session."
                },
                "featureAttributes": {
                    "description": "A collection of attributes to automatically apply to the updated feature."
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "fieldElements": {
                    "description": "A collection of configuration overrides for the editable fields.",
                    "items": {
                        "$ref": "__type"
                    },
                    "type": "array"
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to use for the command/operation."
                },
                "icon": {
                    "description": "Optional icon that may be used by the transient UI container.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "orientation": {
                    "description": "The orientation of the template picker. Defaults to \"vertical\".",
                    "enum": [
                        "horizontal",
                        "vertical"
                    ],
                    "type": "string"
                },
                "parent": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The layout ID or ItemRef to target for the command/operation. This component will be the parent of the temporary UI that will be removed after the command/operation completes."
                },
                "pluginSettings": {
                    "description": "Web only. Additional settings that are specific to sketching plugins, keyed by plugin ID. The only currently supported plugin is \"snapping\". A boolean value can also be assigned to completely disable, or enable with default settings."
                },
                "showNotifications": {
                    "description": "Whether to show UI notifications. Will default to `true`.",
                    "type": "boolean"
                },
                "showTitles": {
                    "description": "Whether to show titles on the template picker. Defaults to `true`.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "DownloadArgs": {
            "additionalProperties": false,
            "description": "Arguments for the system.download-file operation.",
            "properties": {
                "fileNameAttribute": {
                    "description": "Optionally specify the record attribute to be used as the file name. Defaults to 'name'.",
                    "type": "string"
                },
                "fileNameExtension": {
                    "description": "Optionally specify the file name extension to be used if the file name does not end with one. Defaults to '.json'.",
                    "type": "string"
                },
                "name": {
                    "description": "A filename for the download.",
                    "type": "string"
                },
                "result": {
                    "anyOf": [
                        {},
                        {
                            "$ref": "Blob"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The blob to download."
                },
                "resultAttribute": {
                    "description": "Optionally specify the record attribute to be used as the result content. Defaults to 'result'.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "DrawingSymbolConfig": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PictureMarkerSymbol"
                },
                {
                    "$ref": "#/definitions/esri.SimpleLineSymbol"
                },
                {
                    "$ref": "#/definitions/esri.SimpleFillSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PictureFillSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PointSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.LineSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.PolygonSymbol3D"
                }
            ],
            "description": "Symbols supported for drawing."
        },
        "EditCommandArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"edit.add-features\", \"edit.update-features\" and \"edit.delete-features\" commands. Web only.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "showNotifications": {
                    "description": "Whether to show UI notifications. Will default to `true`.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "EditGeometryArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.edit-geometry\" operation.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "The features containing geometries to edit. The features will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometries to edit."
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "The graphics containing geometries to edit. The graphics will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "isMeasurement": {
                    "description": "Flag all inputs as measured geometries. Geometry operations will show measurements for in progress operations. Not supported in Mobile.",
                    "type": "boolean"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The maps to activate editing on. By default it will be all maps."
                },
                "options": {
                    "$ref": "#/definitions/EditGeometryOptions",
                    "description": "The options for this edit operation. Not supported in Mobile. Web only."
                },
                "pluginSettings": {
                    "description": "Web only. Additional settings that are specific to sketching plugins, keyed by plugin ID. The only currently supported plugin is \"snapping\". A boolean value can also be assigned to completely disable, or enable with default settings."
                },
                "symbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Symbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        }
                    ],
                    "description": "An optional symbol to use while editing."
                }
            },
            "type": "object"
        },
        "EditGeometryOptions": {
            "additionalProperties": false,
            "description": "Options for the \"sketching.edit-geometry operation.",
            "properties": {
                "anchor": {
                    "description": "Where to anchor the geometry when performing a free scale operation. Defaults to \"center\".",
                    "enum": [
                        "center",
                        "opposite"
                    ],
                    "type": "string"
                },
                "enableDelete": {
                    "description": "Whether to allow deletion of the edited geometry. Defaults to false.",
                    "type": "boolean"
                },
                "enableMoving": {
                    "description": "Whether to allow moving of the edited geometry. Defaults to true. Not applicable when editing in 3D.",
                    "type": "boolean"
                },
                "enableRotation": {
                    "description": "Whether to allow rotation of the edited geometry. Defaults to true.",
                    "type": "boolean"
                },
                "enableScaleModeToggle": {
                    "description": "Whether to allow the user to toggle to the non-default scale mode. Defaults to true.",
                    "type": "boolean"
                },
                "enableScaling": {
                    "description": "Whether to allow scaling of the edited geometry. Defaults to true.",
                    "type": "boolean"
                },
                "enableVertexEditing": {
                    "description": "Whether to allow the user to add, move, and remove vertices from a geometry. Defaults to true.",
                    "type": "boolean"
                },
                "scaleMode": {
                    "description": "Setting \"free\" allows independent scaling on the x and y axis, \"preserve-aspect-ratio\" constrains scaling to the original aspect ratio. Defaults to \"preserve-aspect-ratio\".",
                    "enum": [
                        "free",
                        "preserve-aspect-ratio"
                    ],
                    "type": "string"
                },
                "validateGeometry": {
                    "description": "Whether the resulting geometry is validated before it's returned from the operation. If the geometry is invalid upon completion, an error is thrown. Defaults to true.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "EditGeometryResult": {
            "additionalProperties": false,
            "description": "Result of the \"sketching.edit-geometry\" operation.",
            "properties": {
                "coincidentFeatures": {
                    "description": "Any coincident Features that were included in the geometry editing session, if topological editing was enabled. Web only.",
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                    },
                    "type": "array"
                },
                "coincidentGraphics": {
                    "description": "Any coincident Graphics that were included in the geometry editing session, if topological editing was enabled. Web only.",
                    "items": {
                        "$ref": "#/definitions/CoincidentEditingGraphicResult"
                    },
                    "type": "array"
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "The features containing geometries to edit. The features will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometries to edit."
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "The graphics containing geometries to edit. The graphics will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "isMeasurement": {
                    "description": "Flag all inputs as measured geometries. Geometry operations will show measurements for in progress operations. Not supported in Mobile.",
                    "type": "boolean"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The maps to activate editing on. By default it will be all maps."
                },
                "symbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Symbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        }
                    ],
                    "description": "An optional symbol to use while editing."
                }
            },
            "type": "object"
        },
        "EditMapNotesArgs": {
            "additionalProperties": false,
            "description": "Arguments for the map.edit-note command.",
            "properties": {
                "attributes": {
                    "description": "Optional layout XML attributes to be used for the transient UI container."
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Optionally the features that can be referenced for inserting snippets."
                },
                "geometry": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The geometry from which to attempt to select the Note."
                },
                "icon": {
                    "description": "Optional icon that may be used by the transient UI container.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map on which to edit the result."
                },
                "parent": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The layout ID or ItemRef to target for the command/operation. This component will be the parent of the temporary UI that will be removed after the command/operation completes."
                }
            },
            "required": [
                "maps"
            ],
            "type": "object"
        },
        "EditSymbolArgs": {
            "additionalProperties": false,
            "description": "Arguments for the drawing.edit-symbol operation. Only available in VertiGIS Studio Web.",
            "properties": {
                "attributes": {
                    "description": "Optional layout XML attributes to be used for the transient UI container."
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "geometryType": {
                    "$ref": "esri.GeometryType",
                    "description": "The geometry type for the symbol to create."
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "Graphics to use for the command/operation."
                },
                "icon": {
                    "description": "Optional icon that may be used by the transient UI container.",
                    "type": "string"
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "parent": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The layout ID or ItemRef to target for the command/operation. This component will be the parent of the temporary UI that will be removed after the command/operation completes."
                },
                "showOnlySymbolPresets": {
                    "description": "If the fine-grain controls should be hidden and only the symbol presets should be shown. If no valid symbol presets are configured, this property will be ignored. Default is false. If defined, this will override the value of the DrawService's 'showOnlySymbolPresets' property.",
                    "type": "boolean"
                },
                "symbol": {
                    "$ref": "#/definitions/SymbolLike",
                    "description": "The symbol to use for the command/operation."
                },
                "symbolPresets": {
                    "description": "Symbol presets that can be assigned to a graphic. If defined, these presets will override any that are configured in the DrawService.",
                    "items": {
                        "$ref": "#/definitions/SymbolPresetProperties"
                    },
                    "type": "array"
                },
                "symbols": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PointSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.LineSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.PolygonSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/SymbolLike"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "The symbols to use for the command/operation."
                }
            },
            "type": "object"
        },
        "EditSymbolResult": {
            "additionalProperties": false,
            "description": "Arguments for the drawing.edit-symbol operation. Only available in VertiGIS Studio Web.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "Graphics to use for the command/operation."
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "symbol": {
                    "$ref": "#/definitions/SymbolLike",
                    "description": "The symbol to use for the command/operation."
                },
                "symbols": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PointSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.LineSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.PolygonSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/SymbolLike"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "The symbols to use for the command/operation."
                }
            },
            "type": "object"
        },
        "EditorGeometryMode": {
            "description": "The editor geometry mode.",
            "enum": [
                "area",
                "line"
            ],
            "type": "string"
        },
        "EditorInteractionMode": {
            "description": "The editor interaction mode.",
            "enum": [
                "centerCrosshairMode",
                "pointerMode"
            ],
            "type": "string"
        },
        "EffectFunctionJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.HueRotateEffectFunctionJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.BlurEffectFunctionJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.DropShadowEffectFunctionJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.BloomEffectFunctionJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.BrightnessEffectFunctionJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.ContrastEffectFunctionJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.GrayscaleEffectFunctionJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.InvertEffectFunctionJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.OpacityEffectFunctionJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.SaturateEffectFunctionJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.SepiaEffectFunctionJson"
                }
            ],
            "description": "Effect functions that can be combined to build a layer effect."
        },
        "EvaluateWorkflowArgs": {
            "additionalProperties": false,
            "description": "Arguments for the workflow.evaluate command.",
            "properties": {
                "commandArgumentInput": {
                    "description": "The workflow input that the command's context will map to.",
                    "type": "string"
                },
                "icon": {
                    "description": "An icon to display for the workflow.",
                    "type": "string"
                },
                "id": {
                    "description": "The ID of the workflow item in app config.",
                    "type": "string"
                },
                "inputs": {
                    "$ref": "__type",
                    "description": "The inputs to be passed into the workflow."
                },
                "instanceId": {
                    "description": "A unique Id to identify an instance of this workflow running.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map to target, if omitted Web will attempt to choose the best map for you. Web only."
                },
                "target": {
                    "description": "The layout ID of the workflow component to use for any workflow forms, or the ID of a container component like taskbar, panel, stack, etc. In the latter case, a new workflow component will be created dynamically as a child of the targeted container, and removed when the workflow finishes running.",
                    "type": "string"
                },
                "title": {
                    "description": "The title of the workflow.",
                    "type": "string"
                }
            },
            "required": [
                "id"
            ],
            "type": "object"
        },
        "FailureMode": {
            "description": "Possible modes of failure when there is an error resolving or initializing an item.",
            "enum": [
                "error",
                "ignore",
                "warn"
            ],
            "type": "string"
        },
        "Features": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                }
            ],
            "description": "One or more features, or an object that has features."
        },
        "FeaturesLike": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                }
            ],
            "description": "Represents one or more features."
        },
        "FileLike": {
            "anyOf": [
                {
                    "$ref": "Blob"
                },
                {
                    "$ref": "File"
                }
            ],
            "description": "A data containing object that may or may not be named."
        },
        "Filter": {
            "additionalProperties": false,
            "description": "A filter that can be displayed in the filter builder.",
            "properties": {
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Alias of `source`, to facilitate command chaining. If multiple layers are present, only the first will be used as the source. One of `source` or `layers` is required."
                },
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The feature source to filter. One of `source` or `layers` is required."
                },
                "where": {
                    "description": "The where clause to filter by.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "FilterDistanceUnits": {
            "description": "The unit for calculating the buffer distance when 'distance' is specified for a filter effect.",
            "enum": [
                "feet",
                "kilometers",
                "meters",
                "miles",
                "nautical-miles"
            ],
            "type": "string"
        },
        "FilterEffectFeatureMode": {
            "description": "A feature mode for use with filter effects (see `ApplyFilterEffectArgs.featureMode`).",
            "enum": [
                "exclude",
                "include",
                "replace"
            ],
            "type": "string"
        },
        "FilterEffectSettings": {
            "additionalProperties": false,
            "description": "Filter effect configuration for either the included or excluded filter.",
            "properties": {
                "brightness": {
                    "description": "Applies a linear multiplier to the input image, making it appear more or less bright. A value of 0% (or 0) will create an image that is completely black. A value of 100% (or 1) leaves the input unchanged. Values of an amount over 100% are allowed, providing brighter results. See https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/brightness for more details.",
                    "type": "string"
                },
                "contrast": {
                    "description": "Adjusts the contrast of the input image. A value of 0% (or 0) will create an image that is completely gray. A value of 100% (or 1) leaves the input unchanged. Values of an amount over 100% are allowed, providing results with more contrast. See https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/contrast for more details.",
                    "type": "string"
                },
                "grayscale": {
                    "description": "Converts the input image to grayscale. The value defines the proportion of the conversion. A value of 100% (or 1) is completely grayscale. A value of 0% (or 0) leaves the input unchanged. See https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/grayscale for more details.",
                    "type": "string"
                },
                "hueRotate": {
                    "description": "Applies a hue rotation on the input image. The value defines the number of degrees around the color circle the input samples will be adjusted. A value of 0deg leaves the input unchanged. There is no maximum value; the effect of values above 360deg wraps around. See https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/hue-rotate for more details.",
                    "type": "string"
                },
                "invert": {
                    "description": "Inverts the samples in the input image. The value defines the proportion of the conversion. A value of 100% (or 1) is completely inverted. A value of 0% (or 0) leaves the input unchanged. See https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/invert for more details.",
                    "type": "string"
                },
                "opacity": {
                    "description": "Applies transparency to the samples in the input image. The value defines the proportion of the conversion. A value of 0% (or 0) is completely transparent. A value of 100% (or 1) leaves the input unchanged. See https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/opacity for more details.",
                    "type": "string"
                },
                "sepia": {
                    "description": "Converts the input image to sepia. The value defines the proportion of the conversion. A value of 100% (or 1) is completely grayscale. A value of 0% (or 0) leaves the input unchanged. See https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/sepia for more details.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "FilterResultsArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.filter\" operation.",
            "properties": {
                "features": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/CreateGraphicsResult"
                        },
                        {
                            "$ref": "#/definitions/esri.Graphic"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                                    },
                                    {
                                        "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                        },
                        {
                            "$ref": "#/definitions/esri.FeatureSet"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/esri.Graphic"
                                    },
                                    {
                                        "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                                    }
                                ]
                            },
                            "type": "array"
                        }
                    ],
                    "description": "Features or Graphics to filter."
                },
                "options": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.tasks.query.QueryOptions.QueryOptions",
                    "description": "Additional query options with which to filter the results."
                },
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The source of the Results. This is only necessary if Graphics are passed into the filter operation."
                },
                "where": {
                    "description": "An SQL 'where' clause used to filter down a set of results.",
                    "type": "string"
                }
            },
            "required": [
                "features"
            ],
            "type": "object"
        },
        "FilterSourcesByGeometryTypeArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"tasks.filter-sources.by-geometry-type\" operation.",
            "properties": {
                "geometryType": {
                    "anyOf": [
                        {
                            "items": {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.GeometryJsonType"
                            },
                            "type": "array"
                        },
                        {
                            "enum": [
                                "esriGeometryEnvelope",
                                "esriGeometryMultipoint",
                                "esriGeometryPoint",
                                "esriGeometryPolygon",
                                "esriGeometryPolyline"
                            ],
                            "type": "string"
                        }
                    ],
                    "description": "The geometry type to filter the sources by."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map from which to retrieve the sources. This argument will not be forwarded in the result of this operation."
                },
                "sources": {
                    "description": "The sources to search in. This can be used in combination with the \"maps\" argument to search both.",
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "FilterSourcesByGeometryTypeResult": {
            "additionalProperties": false,
            "description": "Result of the \"tasks.filter-sources.by-geometry-type\" operation.",
            "properties": {
                "layers": {
                    "description": "The filtered layers from the map and/or sources.",
                    "items": {
                        "$ref": "#/definitions/LayerLike"
                    },
                    "type": "array"
                },
                "sources": {
                    "description": "The filtered sources from the map and/or sources.",
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "FilterSourcesFirstVisibleArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"tasks.filter-sources.first-visible\" operation.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map from which to retrieve the sources. This argument will not be forwarded in the result of this operation."
                },
                "sources": {
                    "description": "The sources to search in. This can be used in combination with the \"maps\" argument to search both.",
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "FilterSourcesFirstVisibleResult": {
            "additionalProperties": false,
            "description": "Result of the \"tasks.filter-sources.first-visible\" operation.",
            "properties": {
                "layers": {
                    "description": "The filtered layers from the map and/or sources.",
                    "items": {
                        "$ref": "#/definitions/LayerLike"
                    },
                    "type": "array"
                },
                "sources": {
                    "description": "The filtered sources from the map and/or sources.",
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "FilterSpatialRelationship": {
            "description": "The spatial relationship for a filter effect.",
            "enum": [
                "contains",
                "crosses",
                "disjoint",
                "envelope-intersects",
                "intersects",
                "overlaps",
                "touches",
                "within"
            ],
            "type": "string"
        },
        "FocusArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"ui.focus\" command.",
            "properties": {
                "component": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/Model"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The component to focus. If the selector property is not defined, the first focusable element within the component will receive focus. If this property is not defined, only the selector will be used."
                },
                "selector": {
                    "description": "The CSS selector used to find an HTML Element in the DOM. If a component is also provided, the selector will only look within the component's element tree in the DOM.",
                    "type": "string"
                },
                "timeout": {
                    "description": "The maximum number of milliseconds the command will spend attempting to focus the element. This may be useful in cases where the target component/element requires time to load or render. Defaults to 0.",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "FromCsvConversionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.from-csv\" operation.",
            "properties": {
                "blobs": {
                    "description": "The data files to use for the command/operation.",
                    "items": {
                        "$ref": "FileLike"
                    },
                    "type": "array"
                },
                "dateFormat": {
                    "description": "The format for dates. The default is DateFormat.ROUND_TRIP. This can be a defined DateFormat string, the \"timestamp\" pseudo-format, or a custom format string.",
                    "type": "string"
                },
                "delimiter": {
                    "description": "The delimiter between fields. If not specified, an attempt will be made to auto-detect the delimiter.",
                    "type": "string"
                },
                "escapeFormulaChars": {
                    "description": "Whether to a prefix values that start with typical formula triggering chars (=,-,+,@).",
                    "type": "boolean"
                },
                "generatePrimaryKey": {
                    "description": "Indicates if a primary key should be generated if not found, defaults to true.",
                    "type": "boolean"
                },
                "geometryFields": {
                    "description": "A set of custom field names to use with the selected geometry format.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "geometryFormat": {
                    "$ref": "@vertigis.arcgis-extensions.data.convert.GeometryFormat",
                    "description": "The format for serializing the geometry. The default is WKT."
                },
                "inSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "When importing from CSV, this is the spatial reference of the geometry in the CSV."
                },
                "includeHeaderRow": {
                    "description": "Whether to include a header row with field names. Default is true.",
                    "type": "boolean"
                },
                "locale": {
                    "description": "The locale to use for formatting values. Accepts a valid locale code (example: \"inv\", \"fr\" or \"de-AT\"). Default is \"inv\" or invariant culture.",
                    "type": "string"
                },
                "numberFormat": {
                    "description": "The format for numbers. The default is NumberFormat.ROUND_TRIP.",
                    "type": "string"
                },
                "outFields": {
                    "description": "A list of fields to include. Defaults to the FeatureSources PopupTemplate outfields if available, otherwise \"*\" meaning all fields.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "When exporting to CSV, this is the spatial reference of the geometry in the CSV. The default is WGS84. When importing from CSV, this is the spatial reference of the geometry in the result."
                },
                "primaryKeyField": {
                    "description": "Optionally the primary key field, used for converting from CSV to features.",
                    "type": "string"
                },
                "rowDelimiter": {
                    "description": "The delimiter between rows. The default is the platform-specific line ending (e.g. \"\\r\\n\" on Windows, \"\\n\" on Unix or MacOS).",
                    "type": "string"
                },
                "timeFormat": {
                    "description": "The format for time-only fields. The default is TimeFormat.ROUND_TRIP. This can be a defined TimeFormat string, or a custom format string.",
                    "type": "string"
                },
                "useFormattedValues": {
                    "description": "If true, the configured formatters will be run on the raw values in the supplied data and these values will be output with type information if possible. If false, the formatted or presentable values already present in the supplied data will be taken 'as-is'. Field types configured on the input will be ignored and all values will be output as strings.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "FromGraphicsArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.from-graphics\" operation.",
            "properties": {
                "featureSettings": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.data.FeatureSettings.FeatureSettingsProperties",
                    "description": "FeatureSettings to use for feature metadata if the layer is not provided or can't be found."
                },
                "fetchAttachments": {
                    "description": "Whether to fetch attachments for the returned features. Defaults to false. Mobile only.",
                    "type": "boolean"
                },
                "fetchRelatedFeatures": {
                    "description": "Whether to fetch related features for the returned features. Defaults to false. Mobile only.",
                    "type": "boolean"
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "A selection of graphics to be converted to features."
                },
                "layer": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Layer"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The layer the graphics originate from, or the ID of that layer. Used as the source for created features."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The maps to search for the given layer."
                },
                "schema": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.data.Schema.SchemaProperties",
                    "description": "The schema to be associated with the returned features. This property is only necessary when no layer nor sublayer are present."
                },
                "sublayer": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Sublayer"
                        },
                        {
                            "type": "number"
                        }
                    ],
                    "description": "The sublayer the graphics originate from, or the ID of that sublayer. Used as the source for created features. Will not be used unless layer parameter is also provided."
                },
                "title": {
                    "description": "The feature source title to use if no layer or sublayer is associated with the features.",
                    "type": "string"
                },
                "workflowItemId": {
                    "description": "The feature source ID to use if the results are associated with a workflow.",
                    "type": "string"
                }
            },
            "required": [
                "graphics"
            ],
            "type": "object"
        },
        "FromShapefileConversionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.from-shapefile\" operation.",
            "properties": {
                "blobs": {
                    "description": "The data files to use for the command/operation.",
                    "items": {
                        "$ref": "FileLike"
                    },
                    "type": "array"
                },
                "dateFormat": {
                    "description": "The format for dates. The default is DateFormat.ROUND_TRIP. This can be a defined DateFormat string, the \"timestamp\" pseudo-format, or a custom format string.",
                    "type": "string"
                },
                "escapeFormulaChars": {
                    "description": "Whether to a prefix values that start with typical formula triggering chars (=,-,+,@).",
                    "type": "boolean"
                },
                "fileName": {
                    "description": "When exporting to a shapefile, the file name to use.",
                    "type": "string"
                },
                "generatePrimaryKey": {
                    "description": "Indicates if a primary key should be generated if not found, defaults to true.",
                    "type": "boolean"
                },
                "locale": {
                    "description": "The locale to use for formatting values. Accepts a valid locale code (example: \"inv\", \"fr\" or \"de-AT\"). Default is \"inv\" or invariant culture.",
                    "type": "string"
                },
                "numberFormat": {
                    "description": "The format for numbers. The default is NumberFormat.ROUND_TRIP.",
                    "type": "string"
                },
                "outFields": {
                    "description": "A list of fields to include. Defaults to the FeatureSources PopupTemplate outfields if available, otherwise \"*\" meaning all fields.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "When exporting to a shapefile, this is the spatial reference of the geometry in the shapefile file. The default is WGS84. When importing from shapefile, this is the spatial reference of the geometry in the result."
                },
                "primaryKeyField": {
                    "description": "Optionally the primary key field, used for converting from Shapefile to features.",
                    "type": "string"
                },
                "timeFormat": {
                    "description": "The format for time-only fields. The default is TimeFormat.ROUND_TRIP. This can be a defined TimeFormat string, or a custom format string.",
                    "type": "string"
                },
                "useFormattedValues": {
                    "description": "If true, the configured formatters will be run on the raw values in the supplied data and these values will be output with type information if possible. If false, the formatted or presentable values already present in the supplied data will be taken 'as-is'. Field types configured on the input will be ignored and all values will be output as strings.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "FromXLSXConversionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.from-xlsx\" operation.",
            "properties": {
                "blobs": {
                    "description": "The data files to use for the command/operation.",
                    "items": {
                        "$ref": "FileLike"
                    },
                    "type": "array"
                },
                "dateFormat": {
                    "description": "The format for dates. The default is DateFormat.ROUND_TRIP. This can be a defined DateFormat string, the \"timestamp\" pseudo-format, or a custom format string.",
                    "type": "string"
                },
                "escapeFormulaChars": {
                    "description": "Whether to a prefix values that start with typical formula triggering chars (=,-,+,@).",
                    "type": "boolean"
                },
                "generatePrimaryKey": {
                    "description": "Indicates if a primary key should be generated if not found, defaults to true.",
                    "type": "boolean"
                },
                "geometryFields": {
                    "description": "A set of custom field names to use with the selected geometry format.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "geometryFormat": {
                    "$ref": "@vertigis.arcgis-extensions.data.convert.GeometryFormat",
                    "description": "The format for serializing the geometry. The default is WKT."
                },
                "inSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "When importing from XLSX, this is the spatial reference of the geometry in the XLSX file."
                },
                "includeHeaderRow": {
                    "description": "Whether to include a header row with field names. Default is true.",
                    "type": "boolean"
                },
                "locale": {
                    "description": "The locale to use for formatting values. Accepts a valid locale code (example: \"inv\", \"fr\" or \"de-AT\"). Default is \"inv\" or invariant culture.",
                    "type": "string"
                },
                "numberFormat": {
                    "description": "The format for numbers. The default is NumberFormat.ROUND_TRIP.",
                    "type": "string"
                },
                "outFields": {
                    "description": "A list of fields to include. Defaults to the FeatureSources PopupTemplate outfields if available, otherwise \"*\" meaning all fields.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "When exporting to XLSX, this is the spatial reference of the geometry in the XLSX file. The default is WGS84. When importing from XLSX, this is the spatial reference of the geometry in the result."
                },
                "primaryKeyField": {
                    "description": "Optionally the primary key field, used for converting from XLSX to features.",
                    "type": "string"
                },
                "sheetName": {
                    "description": "When exporting to XLSX, the name of the resulting work sheet. The default is \"sheet1\".",
                    "type": "string"
                },
                "timeFormat": {
                    "description": "The format for time-only fields. The default is TimeFormat.ROUND_TRIP. This can be a defined TimeFormat string, or a custom format string.",
                    "type": "string"
                },
                "useFormattedValues": {
                    "description": "If true, the configured formatters will be run on the raw values in the supplied data and these values will be output with type information if possible. If false, the formatted or presentable values already present in the supplied data will be taken 'as-is'. Field types configured on the input will be ignored and all values will be output as strings.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "GeocodeArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"geocode.geocode\" and \"geocode.count\" operations.",
            "properties": {
                "address": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.tasks.geocoding.Geocoder.AddressLike",
                    "description": "The address to look up."
                },
                "options": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.tasks.geocoding.Geocoder.GeocodeOptions",
                    "description": "Options that affect geocode results."
                }
            },
            "required": [
                "address",
                "options"
            ],
            "type": "object"
        },
        "GeolocateCurrentState": {
            "additionalProperties": false,
            "description": "Result for the \"geolocation.get-current-state\" operation.",
            "properties": {
                "accuracy": {
                    "description": "The current accuracy in meters.",
                    "type": "number"
                },
                "isGeolocationAvailable": {
                    "description": "Whether or not a position is actively being reported and received.",
                    "type": "boolean"
                },
                "isGeolocationEnabled": {
                    "description": "Whether or not the app has been permitted to use geolocation according to the OS level settings.",
                    "type": "boolean"
                },
                "position": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The current position."
                }
            },
            "required": [
                "accuracy",
                "isGeolocationAvailable",
                "isGeolocationEnabled",
                "position"
            ],
            "type": "object"
        },
        "Geometries": {
            "anyOf": [
                {
                    "$ref": "#/definitions/CreateGraphicsResult"
                },
                {
                    "$ref": "#/definitions/esri.Graphic"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasFeatures"
                },
                {
                    "$ref": "#/definitions/esri.Geometry"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                },
                {
                    "$ref": "#/definitions/esri.FeatureSet"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Graphic"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Geometry"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasGeometry"
                }
            ],
            "description": "An object that is convertible to one or more geometries, or an object that has geometry."
        },
        "GeometryEditorSettings": {
            "additionalProperties": false,
            "description": "Settings for a sketch.",
            "properties": {
                "editorGeometryMode": {
                    "$ref": "#/definitions/EditorGeometryMode",
                    "description": "The editor geometry mode."
                },
                "editorInteractionMode": {
                    "$ref": "#/definitions/EditorInteractionMode",
                    "description": "The editor interaction mode."
                },
                "finishIfInterrupted": {
                    "description": "Whether the sketch should commit its geometry if another sketch is activated.",
                    "type": "boolean"
                },
                "finishOnDoubleClick": {
                    "description": "Whether the sketch should stop when double clicking.",
                    "type": "boolean"
                },
                "freehand": {
                    "description": "Whether the sketch is using freehand or segment sketching.",
                    "type": "boolean"
                },
                "showBearings": {
                    "description": "Whether bearing labels should be shown on the map.",
                    "type": "boolean"
                },
                "snappingEnabled": {
                    "description": "Whether snapping should be enabled.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "GeometryLike": {
            "anyOf": [
                {
                    "$ref": "#/definitions/CreateGraphicsResult"
                },
                {
                    "$ref": "#/definitions/esri.Graphic"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/esri.Geometry"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                },
                {
                    "$ref": "#/definitions/esri.FeatureSet"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Graphic"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Geometry"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                            }
                        ]
                    },
                    "type": "array"
                }
            ],
            "description": "An object that is convertible to one or more geometries."
        },
        "GeometryOperationBase": {
            "additionalProperties": false,
            "description": "A generic context for operations that act on geometries.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "The features containing geometries to edit. The features will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometries to edit."
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "The graphics containing geometries to edit. The graphics will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "isMeasurement": {
                    "description": "Flag all inputs as measured geometries. Geometry operations will show measurements for in progress operations. Not supported in Mobile.",
                    "type": "boolean"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The maps to activate editing on. By default it will be all maps."
                },
                "symbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Symbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        }
                    ],
                    "description": "An optional symbol to use while editing."
                }
            },
            "type": "object"
        },
        "GetActivePointsResult": {
            "additionalProperties": false,
            "description": "Result returned from the 'sketching.get-active-points' operation.",
            "properties": {
                "graphics": {
                    "description": "The active graphic(s).",
                    "items": {
                        "$ref": "#/definitions/esri.Graphic"
                    },
                    "type": "array"
                },
                "maps": {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension",
                    "description": "The map associated with the graphics."
                }
            },
            "required": [
                "graphics",
                "maps"
            ],
            "type": "object"
        },
        "GetActiveSketchResult": {
            "additionalProperties": false,
            "description": "Result returned from the 'sketching.get-active-sketch' operation.",
            "properties": {
                "graphics": {
                    "description": "The active graphic(s).",
                    "items": {
                        "$ref": "#/definitions/esri.Graphic"
                    },
                    "type": "array"
                },
                "maps": {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension",
                    "description": "The map associated with the graphics."
                }
            },
            "required": [
                "graphics",
                "maps"
            ],
            "type": "object"
        },
        "GetAdjacentPointArgs": {
            "additionalProperties": false,
            "description": "Arguments for the 'sketching.get-adjacent-point' operation.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "referencePoint": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "A point geometry that represents a vertex within an active editing graphic."
                },
                "relativeOffset": {
                    "$ref": "#/definitions/PointOffset",
                    "description": "Specifies if the desired point comes before or after the referencePoint. Defaults to 'after'."
                }
            },
            "required": [
                "referencePoint"
            ],
            "type": "object"
        },
        "GetCoordinateArgs": {
            "additionalProperties": false,
            "description": "Arguments for the map.get-user-coordinates-input operation.",
            "properties": {
                "allowSelectFromMap": {
                    "description": "Indicates if the user should be given the option to select a point from the map.",
                    "type": "boolean"
                },
                "attributes": {
                    "description": "Optional layout XML attributes to be used for the transient UI container."
                },
                "completeLabel": {
                    "description": "Optionally override the display text on the complete button. Defaults to 'OK'.",
                    "type": "string"
                },
                "geometry": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "An optional starting coordinate."
                },
                "icon": {
                    "description": "Optional icon that may be used by the transient UI container.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map on which to select the result."
                },
                "parent": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The layout ID or ItemRef to target for the command/operation. This component will be the parent of the temporary UI that will be removed after the command/operation completes."
                }
            },
            "type": "object"
        },
        "GetCoordinateResult": {
            "additionalProperties": false,
            "description": "The result of a map.get-user-coordinates-input operation.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The result."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The associated map."
                }
            },
            "required": [
                "geometry",
                "maps"
            ],
            "type": "object"
        },
        "GetDefaultSymbolArgs": {
            "additionalProperties": false,
            "description": "Arguments for the measurement.get-symbol operation. Only available in VertiGIS Studio Web.",
            "properties": {
                "geometryType": {
                    "$ref": "esri.GeometryType",
                    "description": "The geometry type for the default symbol to retrieve."
                }
            },
            "type": "object"
        },
        "GetExtentArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"map.get-extent\" operation.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map from which to retrieve the extent."
                }
            },
            "type": "object"
        },
        "GetExtentResult": {
            "additionalProperties": false,
            "description": "Result of the \"map.get-extent\" operation.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The extent for the selected map."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The associated map for the retrieved extent."
                }
            },
            "required": [
                "geometry",
                "maps"
            ],
            "type": "object"
        },
        "GetFilterArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"filter-builder.get-filter\" operation.",
            "properties": {
                "filterBuilder": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The filter builder component that will be targeted. If not specified, all active filter builder components in the layout will be targeted."
                }
            },
            "required": [
                "filterBuilder"
            ],
            "type": "object"
        },
        "GetKpiDefinitionResult": {
            "additionalProperties": false,
            "description": "The result of the the charts.update-definition operation.",
            "properties": {
                "referenceExpression": {
                    "description": "The stringified Arcade script used to calculate the 'reference' token of the KPI Card.",
                    "type": "string"
                },
                "valueExpression": {
                    "description": "The stringified Arcade script used to calculate the 'value' token of the KPI card.",
                    "type": "string"
                }
            },
            "required": [
                "referenceExpression",
                "valueExpression"
            ],
            "type": "object"
        },
        "GetMarkupArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"map.get-markup\" operation.",
            "properties": {
                "collection": {
                    "description": "The named collection of markup to operate on. If not specified the default markup collection will be used. Some markup collection names are used internally by Web:\n\n| Collection Name                    | Usage                                                                       |\n| ---------------------------------- | --------------------------------------------------------------------------- |\n| \"default\"                          | The default markup layer.                                                   |\n| \"vgs-active-snapping-guides\"       | The active snap point when snapping.                                        |\n| \"vgs-buffer\"                       | Buffer graphics from out of the box buffer tools.                           |\n| \"vgs-context-marker\"               | Right click context marker on map.                                          |\n| \"vgs-dirty-indicator\"              | Invalid geometry indicators used when editing.                              |\n| \"vgs-editing-control\"              | Edit frame and vertices while editing geometries.                           |\n| \"vgs-location-accuracy\"            | Location accuracy circle when geolocating.                                  |\n| \"vgs-location-marker-\\*\"           | Location markers have this prefix followed by the marker id.                |\n| \"vgs-map-notes\"                    | Map Notes.                                                                  |\n| \"vgs-measurement-labels\"           | Labels on measured graphics.                                                |\n| \"vgs-other-snapping-guides\"        | Additional snapping point visualizations.                                   |\n| \"vgs-query\"                        | Graphics representing the custom spatial filter for the query builder tool. |\n| \"vgs-self-snaps\"                   | Used internally by snapping.                                                |\n| \"vgs-sketching\"                    | Temporary graphics used while drawing geometries.                           |\n| \"vgs-snapping-radius\"              | Snapping radius when snapping is active.                                    |\n| \"vgs-transient-measurement-labels\" | Measurement labels used while drawing.                                      |\n\nWeb only.",
                    "type": "string"
                },
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The geometry used to bound the retrieved markup. If not specified all markup in the selected collection will be returned."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                }
            },
            "type": "object"
        },
        "GetMarkupResult": {
            "additionalProperties": false,
            "description": "Result of the \"map.get-markup\" operation.",
            "properties": {
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "The markup results."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The associated map the markup was retrieved from."
                }
            },
            "required": [
                "graphics"
            ],
            "type": "object"
        },
        "GetQueryArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"query-builder.get-query\" operation.",
            "properties": {
                "queryBuilder": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The query builder component that will be targeted. If not specified, all active query builder components in the layout will be targeted."
                }
            },
            "required": [
                "queryBuilder"
            ],
            "type": "object"
        },
        "GetViewpointResult": {
            "additionalProperties": false,
            "description": "The result of getting a Viewpoint.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) used in the operation."
                },
                "viewpoint": {
                    "$ref": "#/definitions/esri.Viewpoint",
                    "description": "The viewpoint."
                }
            },
            "required": [
                "viewpoint"
            ],
            "type": "object"
        },
        "GraphicsLike": {
            "anyOf": [
                {
                    "$ref": "#/definitions/CreateGraphicsResult"
                },
                {
                    "$ref": "#/definitions/esri.Graphic"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                },
                {
                    "$ref": "#/definitions/esri.FeatureSet"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Graphic"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                            }
                        ]
                    },
                    "type": "array"
                }
            ],
            "description": "An object that is convertible to Esri Graphic or set of graphics."
        },
        "HasAppConfig": {
            "additionalProperties": false,
            "description": "An object that has a `appConfig` property.",
            "properties": {
                "appConfig": {
                    "$ref": "#/definitions/AppConfig",
                    "description": "The AppConfig for the command or operation."
                }
            },
            "type": "object"
        },
        "HasFeatures": {
            "additionalProperties": false,
            "description": "Defines an object that has a `features` property.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                }
            },
            "type": "object"
        },
        "HasFiles": {
            "additionalProperties": false,
            "description": "An object that has a `blobs` property containing data files.",
            "properties": {
                "blobs": {
                    "description": "The data files to use for the command/operation.",
                    "items": {
                        "$ref": "FileLike"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "HasGeometry": {
            "additionalProperties": false,
            "description": "An object that has a `geometry` property.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to use for the command/operation."
                }
            },
            "type": "object"
        },
        "HasLayers": {
            "additionalProperties": false,
            "description": "An object that has one or more layer extensions.",
            "properties": {
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                }
            },
            "type": "object"
        },
        "HasMapGeometry": {
            "additionalProperties": false,
            "description": "A result geometry which also indicates which map it came from.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to target."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) to target."
                }
            },
            "type": "object"
        },
        "HasMaps": {
            "additionalProperties": false,
            "description": "Defines an object that has a `maps` property.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                }
            },
            "type": "object"
        },
        "HasMapsRef": {
            "additionalProperties": false,
            "description": "An object that has a `maps property.",
            "properties": {
                "maps": {
                    "$ref": "MapsRef",
                    "description": "The map(s) to use for the command/operation."
                }
            },
            "type": "object"
        },
        "HasSymbol": {
            "additionalProperties": false,
            "description": "An object that has a `symbol` property.",
            "properties": {
                "symbol": {
                    "$ref": "#/definitions/SymbolLike",
                    "description": "The symbol to use for the command/operation."
                }
            },
            "type": "object"
        },
        "HasUITarget": {
            "additionalProperties": false,
            "description": "An object with arguments for a command or operation that can display temporary UI.",
            "properties": {
                "attributes": {
                    "description": "Optional layout XML attributes to be used for the transient UI container."
                },
                "icon": {
                    "description": "Optional icon that may be used by the transient UI container.",
                    "type": "string"
                },
                "parent": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The layout ID or ItemRef to target for the command/operation. This component will be the parent of the temporary UI that will be removed after the command/operation completes."
                }
            },
            "type": "object"
        },
        "HideNotificationArgs": {
            "additionalProperties": false,
            "description": "The arguments for the `ui.hide-notification` command.",
            "properties": {
                "id": {
                    "description": "Optional identifier that can be used to hide a particular notification. Web only.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "IdentifyArgs": {
            "additionalProperties": false,
            "description": "Arguments for the tasks.identify operation.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to identify by."
                },
                "layersInScaleRangeOnly": {
                    "description": "When \"map\" is specified, this determines whether to include only layers that are in visible scale range. The default is false. Not supported in VertiGIS Studio Mobile.",
                    "type": "boolean"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map to identify. Can be used instead of or in addition to \"sources\". Layers on the map will be used as sources according to the \"layersInScaleRangeOnly\" and \"visibleLayersOnly\" flags."
                },
                "maxAllowableOffset": {
                    "description": "The maximum allowable offset used for generalizing returned geometries. Not supported in VertiGIS Studio Mobile.",
                    "type": "number"
                },
                "maxResults": {
                    "description": "The maximum number of results to return per source. Not supported in VertiGIS Studio Mobile.",
                    "type": "number"
                },
                "outFields": {
                    "description": "List of fields that should be returned that overrides the default out fields. Not supported in VertiGIS Studio Mobile.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "The spatial reference for the returned geometry. Not supported in VertiGIS Studio Mobile."
                },
                "pointTolerance": {
                    "description": "A tolerance value to use for point identify operations. All features falling within a buffer of this many logical pixels around the point will be returned by the identify operation. The default is 10. Not supported in VertiGIS Studio Mobile.",
                    "type": "number"
                },
                "polyTolerance": {
                    "description": "A tolerance value to use for polyline and polygon identify operations. All features falling within a buffer of this many logical pixels around the geometry will be returned by the identify operation. The default is\n2. Not supported in VertiGIS Studio Mobile.",
                    "type": "number"
                },
                "returnGeometry": {
                    "description": "Whether geometry for features should be returned. Not supported in VertiGIS Studio Mobile.",
                    "type": "boolean"
                },
                "sources": {
                    "description": "The feature sources to identify. Can be used instead of or in addition to \"maps\". Not supported in VertiGIS Studio Mobile (use \"maps\").",
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                    },
                    "type": "array"
                },
                "visibleLayersOnly": {
                    "description": "When \"map\" is specified, this determines whether to include only visible layers. The default is true. Not supported in VertiGIS Studio Mobile.",
                    "type": "boolean"
                }
            },
            "required": [
                "geometry"
            ],
            "type": "object"
        },
        "InsertPointArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.insert-point\" command.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The geometry to add the point to, if multiple are present in an active editing session. Not supported by Mobile."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "newPoint": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The new point to be added."
                },
                "partIndex": {
                    "description": "The index of the part to which the point will be added. If null, the last part will be used.",
                    "type": "number"
                },
                "pointIndex": {
                    "description": "The index at which the point will be added. If null, the point will be added as the last point.",
                    "type": "number"
                }
            },
            "required": [
                "newPoint"
            ],
            "type": "object"
        },
        "ItemConfig": {
            "additionalProperties": {},
            "description": "An item in an {@link AppConfig}.",
            "properties": {
                "$type": {
                    "description": "The item's type. See {@link ItemType}.",
                    "type": "string"
                },
                "id": {
                    "description": "The item's ID. No two items of the same type within an App can have the same ID (however, items of different types can have the same ID).",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "JobParameters": {
            "additionalProperties": false,
            "description": "A set of parameters used to run a job.",
            "type": "object"
        },
        "LayerConversionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.convert-to-layers\" operation.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/Features",
                    "description": "The feature(s) to convert."
                },
                "meshSymbol": {
                    "$ref": "#/definitions/esri.Symbol",
                    "description": "Optionally a symbol to be used for mesh geometries."
                },
                "multipointSymbol": {
                    "$ref": "#/definitions/esri.Symbol",
                    "description": "Optionally a symbol to be used for multipoint geometries."
                },
                "pointSymbol": {
                    "$ref": "#/definitions/esri.Symbol",
                    "description": "Optionally a symbol to be used for point geometries."
                },
                "polygonSymbol": {
                    "$ref": "#/definitions/esri.Symbol",
                    "description": "Optionally a symbol to be used for polygon geometries."
                },
                "polylineSymbol": {
                    "$ref": "#/definitions/esri.Symbol",
                    "description": "Optionally a symbol to be used for polyline geometries."
                }
            },
            "required": [
                "features"
            ],
            "type": "object"
        },
        "LayerLike": {
            "anyOf": [
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.mapping._LayerExtension.LayerReference"
                },
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.data._TableExtension.TableReference"
                },
                {
                    "$ref": "#/definitions/esri.Layer"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerExtension"
                },
                {
                    "$ref": "esri.SublayerLike"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping._SublayerExtension.SublayerExtension"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data._TableExtension.TableExtension"
                },
                {
                    "type": "string"
                }
            ],
            "description": "A (sub)layer extension, or an object that is convertible to one."
        },
        "LayerSettingsArgs": {
            "additionalProperties": false,
            "description": "Arguments for a `layers.edit-settings` operation.",
            "properties": {
                "definitionExpression": {
                    "description": "The definitionExpression of the layer.",
                    "type": "string"
                },
                "labelingInfo": {
                    "anyOf": [
                        {
                            "items": {
                                "$ref": "#/definitions/esri.rest-api.DrawingInfoJson.LabelingInfoJson"
                            },
                            "type": "array"
                        },
                        {
                            "items": {
                                "items": {
                                    "$ref": "#/definitions/esri.rest-api.DrawingInfoJson.LabelingInfoJson"
                                },
                                "type": "array"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "The labeling class of the layer."
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "popupTemplate": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "Configuration for a popup template to be used by features in the layer."
                },
                "symbols": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PointSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.LineSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.PolygonSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/SymbolLike"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "The symbols to use for the command/operation."
                },
                "taskSettings": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/@vertigis.arcgis-extensions.data.TaskSettings.TaskSettingsProperties"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/@vertigis.arcgis-extensions.data.TaskSettings.TaskSettingsProperties"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "Settings relevant to layer tasks."
                },
                "title": {
                    "anyOf": [
                        {
                            "items": {
                                "type": "string"
                            },
                            "type": "array"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The title of the layer."
                }
            },
            "type": "object"
        },
        "Layers": {
            "anyOf": [
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.mapping._LayerExtension.LayerReference"
                },
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.data._TableExtension.TableReference"
                },
                {
                    "$ref": "#/definitions/esri.Layer"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerExtension"
                },
                {
                    "$ref": "esri.SublayerLike"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping._SublayerExtension.SublayerExtension"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data._TableExtension.TableExtension"
                },
                {
                    "items": {
                        "$ref": "#/definitions/LayerLike"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasLayers"
                },
                {
                    "type": "string"
                }
            ],
            "description": "One or more layer extensions, or an object that has one or more layer extensions."
        },
        "LayersLike": {
            "anyOf": [
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.mapping._LayerExtension.LayerReference"
                },
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.data._TableExtension.TableReference"
                },
                {
                    "$ref": "#/definitions/esri.Layer"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerExtension"
                },
                {
                    "$ref": "esri.SublayerLike"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping._SublayerExtension.SublayerExtension"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data._TableExtension.TableExtension"
                },
                {
                    "items": {
                        "$ref": "#/definitions/LayerLike"
                    },
                    "type": "array"
                },
                {
                    "type": "string"
                }
            ],
            "description": "One or more objects that are convertible to layer extensions."
        },
        "LayoutExportFormats": {
            "description": "The export formats allowed for the layout print.",
            "enum": [
                "AIX",
                "BMP",
                "EPS",
                "GIF",
                "JPG",
                "MF",
                "PDF",
                "PNG",
                "PNG32",
                "SVG",
                "SVGZ",
                "TGA",
                "TIFF"
            ],
            "type": "string"
        },
        "LengthMeasurementUnits": {
            "description": "The units for length measurements supported by ArcGIS.",
            "enum": [
                "feet",
                "kilometers",
                "meters",
                "miles",
                "nautical-miles",
                "yards"
            ],
            "type": "string"
        },
        "LengthUnits": {
            "description": "The units for distance buffers supported by ArcGIS.",
            "enum": [
                "feet",
                "kilometers",
                "meters",
                "miles",
                "nautical-miles",
                "yards"
            ],
            "type": "string"
        },
        "LicenseRequestArgs": {
            "additionalProperties": false,
            "properties": {
                "accountId": {
                    "description": "The accountId (orgId) that we want to check licensing.",
                    "type": "string"
                },
                "applicationName": {
                    "description": "The human readable application name, used for any licensing related ui.",
                    "type": "string"
                },
                "sku": {
                    "description": "Overwrite the SKU for license check.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "Maps": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                }
            ],
            "description": "One or more map extensions, or an object that has map extensions."
        },
        "MapsLike": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                }
            ],
            "description": "One or map extensions."
        },
        "MapsRef": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "items": {
                        "$ref": "#/definitions/ModelRef"
                    },
                    "type": "array"
                },
                {
                    "type": "string"
                }
            ],
            "description": "References to one or more maps."
        },
        "MarkerSymbolConfig": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PictureMarkerSymbol"
                },
                {
                    "$ref": "#/definitions/esri.TextSymbol"
                }
            ],
            "description": "Symbols that can be used for location markers."
        },
        "MarkupArgs": {
            "additionalProperties": false,
            "description": "Base arguments for markup commands and operations.",
            "properties": {
                "collection": {
                    "description": "The named collection of markup to operate on. If not specified the default markup collection will be used. Some markup collection names are used internally by Web:\n\n| Collection Name                    | Usage                                                                       |\n| ---------------------------------- | --------------------------------------------------------------------------- |\n| \"default\"                          | The default markup layer.                                                   |\n| \"vgs-active-snapping-guides\"       | The active snap point when snapping.                                        |\n| \"vgs-buffer\"                       | Buffer graphics from out of the box buffer tools.                           |\n| \"vgs-context-marker\"               | Right click context marker on map.                                          |\n| \"vgs-dirty-indicator\"              | Invalid geometry indicators used when editing.                              |\n| \"vgs-editing-control\"              | Edit frame and vertices while editing geometries.                           |\n| \"vgs-location-accuracy\"            | Location accuracy circle when geolocating.                                  |\n| \"vgs-location-marker-\\*\"           | Location markers have this prefix followed by the marker id.                |\n| \"vgs-map-notes\"                    | Map Notes.                                                                  |\n| \"vgs-measurement-labels\"           | Labels on measured graphics.                                                |\n| \"vgs-other-snapping-guides\"        | Additional snapping point visualizations.                                   |\n| \"vgs-query\"                        | Graphics representing the custom spatial filter for the query builder tool. |\n| \"vgs-self-snaps\"                   | Used internally by snapping.                                                |\n| \"vgs-sketching\"                    | Temporary graphics used while drawing geometries.                           |\n| \"vgs-snapping-radius\"              | Snapping radius when snapping is active.                                    |\n| \"vgs-transient-measurement-labels\" | Measurement labels used while drawing.                                      |\n\nWeb only.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                }
            },
            "type": "object"
        },
        "MarkupLevel": {
            "description": "Levels (z-orders) to which markup can be assigned, listed from high to low.",
            "enum": [
                "custom1",
                "custom2",
                "custom3",
                "default",
                "labels",
                "ui"
            ],
            "type": "string"
        },
        "MeasurementSystem": {
            "description": "A system used to determine what units should be used for measurement values.",
            "enum": [
                "imperial",
                "metric"
            ],
            "type": "string"
        },
        "Model": {
            "additionalProperties": false,
            "description": "A model belonging to a component.",
            "properties": {
                "id": {
                    "description": "The unique ID for this entity.",
                    "type": "string"
                },
                "itemType": {
                    "description": "The item type for this entity when it participates in an App.",
                    "type": "string"
                }
            },
            "required": [
                "id",
                "itemType"
            ],
            "type": "object"
        },
        "ModelRef": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": "string"
                }
            ],
            "description": "A reference to a model (using its ID or model instance)."
        },
        "MoveGeometryArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.move-geometry\" operation.",
            "properties": {
                "distance": {
                    "$ref": "#/definitions/Vector2D",
                    "description": "An amount to move the geometry on the X and Y axes."
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "The features containing geometries to edit. The features will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometries to edit."
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "The graphics containing geometries to edit. The graphics will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "isMeasurement": {
                    "description": "Flag all inputs as measured geometries. Geometry operations will show measurements for in progress operations. Not supported in Mobile.",
                    "type": "boolean"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The maps to activate editing on. By default it will be all maps."
                },
                "symbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Symbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        }
                    ],
                    "description": "An optional symbol to use while editing."
                },
                "units": {
                    "$ref": "#/definitions/LengthUnits",
                    "description": "The units of the above distance. Optional, will default to the units used by the measurement service associated with the map."
                }
            },
            "required": [
                "distance"
            ],
            "type": "object"
        },
        "MoveNodeArgs": {
            "additionalProperties": false,
            "description": "Deprecated - use \"sketching.move-point\" with {@link MovePointArgs}.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "node": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The point to move, which must already exist within the active sketch. If not provided, the active point will be used."
                },
                "position": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The new position for the point."
                }
            },
            "required": [
                "position"
            ],
            "type": "object"
        },
        "MovePointArgs": {
            "additionalProperties": false,
            "description": "The arguments for the \"sketching.move-point\" command.",
            "properties": {
                "distance": {
                    "$ref": "#/definitions/Vector2D",
                    "description": "An amount to move the point(s) on the X and Y axes. If the newPoint property is defined, this property will be ignored."
                },
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The geometry where the point exists, if multiple are present in an active editing session. This property is required if pointIndex and/or partIndex are defined."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "newPoint": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The new point that will replace the target point within an active sketch or edit geometry. If this property is defined, the distance property will be ignored."
                },
                "partIndex": {
                    "description": "The part of the geometry where the point exists. Required for polyline and polygon geometry types when the geometry and pointIndex properties are defined.",
                    "type": "number"
                },
                "point": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The point to move, which must already exist within the active sketch. If this property is undefined and no geometry and pointIndex are specified, the active point(s) will be moved."
                },
                "pointIndex": {
                    "description": "The index of the point. If this property is defined, the 'geometry' property must also be defined.",
                    "type": "number"
                },
                "units": {
                    "$ref": "#/definitions/LengthUnits",
                    "description": "The units of the above distance. Optional, will default to the units used by the measurement service associated with the map."
                }
            },
            "type": "object"
        },
        "NarrateArgs": {
            "anyOf": [
                {
                    "$ref": "#/definitions/NarrateOptions"
                },
                {
                    "type": "string"
                }
            ],
            "description": "Arguments for the ui.narrate command."
        },
        "NarrateOptions": {
            "additionalProperties": false,
            "description": "Translate options for the ui.narrate command.",
            "properties": {
                "args": {
                    "description": "The values to substitute into the format string if it contains substitution placeholders (see utilities/string/format in ArcGIS Extensions API).",
                    "items": {},
                    "type": "array"
                },
                "currency": {
                    "description": "The default unit of currency to use when formatting currency. See {@link utilities /format/number!NumberSettings.currency}.",
                    "type": "string"
                },
                "dateFormat": {
                    "description": "The default format to use when formatting dates. See {@link utilities /format/date!DateFormatter.format}.",
                    "type": "string"
                },
                "defaultValue": {
                    "description": "An optional default value to fallback to when a language resource key does not exist. Web only.",
                    "type": "string"
                },
                "fractionalDigits": {
                    "description": "The default number of digits to show after the decimal point when formatting numbers. See {@link utilities /format/number!NumberSettings.fractionalDigits}.",
                    "type": "number"
                },
                "locale": {
                    "description": "The locale to use for translation. If not specified, the current locale will be used.",
                    "type": "string"
                },
                "numberFormat": {
                    "description": "The default format to use when formatting numbers. See {@link utilities /format/number!NumberFormatter.format}.",
                    "type": "string"
                },
                "text": {
                    "description": "The string to translate. If the text is a language resource key, then a localized version of that resource will be used if one exists, otherwise the original text is returned.",
                    "type": "string"
                },
                "timeFormat": {
                    "description": "The default format to use when formatting times. See {@link utilities /format/time!TimeFormatter.format}.",
                    "type": "string"
                },
                "timeZone": {
                    "description": "The time zone of a date being formatted. See {@link utilities /format/date!DateFormatter.timeZone}.",
                    "type": "string"
                },
                "timeout": {
                    "description": "A timeout before the narration is executed. This can be used to avoid focus changes that can interrupt the screen reader. Defaults to 50ms.",
                    "type": "number"
                }
            },
            "required": [
                "text"
            ],
            "type": "object"
        },
        "NotificationCategory": {
            "description": "A category for a notification that affects the color and icon used.",
            "enum": [
                "error",
                "info",
                "success",
                "warning"
            ],
            "type": "string"
        },
        "NotificationType": {
            "description": "The type of notification - 'app', 'system', or 'auto'. Defaults to 'auto'. Mobile only.",
            "enum": [
                "auto",
                "app",
                "system"
            ],
            "type": "string"
        },
        "OpenUrlArgs": {
            "additionalProperties": false,
            "description": "Arguments for the system.open-url command.",
            "properties": {
                "context": {
                    "description": "An object containing arguments that this command was originally executed with. This property is populated automatically when using a bound action. The URL will be the configured value, and the context is automatically populated as the argument that was passed into the execute method when the command was executed in context."
                },
                "coordinateOption": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/CoordinateOptionProperties"
                        },
                        {
                            "$ref": "#/definitions/Model"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The coordinate option to use when formatting coordinate tokens. Valid options must support latitude and longitude. Can be a reference to an existing 'coordinate-option' item, or inline JSON defining a coordinate option item."
                },
                "numberFormatterLocale": {
                    "description": "The locale to use for number token substitution. Accepts a valid locale code (example: \"en\", \"fr\" or \"de-AT\"), or \"device\" or \"invariant\" which will use the device's current culture or the invariant culture, respectively. Default is invariant culture.",
                    "type": "string"
                },
                "url": {
                    "description": "The URL to open.",
                    "type": "string"
                }
            },
            "required": [
                "url"
            ],
            "type": "object"
        },
        "OperationalLayerJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.AnnotationLayerJson.AnnotationLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.BuildingSceneLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.CSVLayerJson.CSVLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureLayerJson.FeatureLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeoJSONLayerJson.GeoJSONLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeoRSSLayerJson.GeoRSSLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GroupLayerJson.GroupLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.ImageServiceLayerJson.ImageServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.ImageServiceVectorLayerJson.ImageServiceVectorLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.IntegratedMeshLayerJson.IntegratedMeshLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.KMLLayerJson.KMLLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.MapServiceLayerJson.MapServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.PointCloudLayerJson.PointCloudLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SceneLayerJson.SceneLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.StreamLayerJson.StreamLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SubtypeGroupLayerJson.SubtypeGroupLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.TiledImageServiceLayerJson.TiledImageServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.TiledMapServiceLayerJson.TiledMapServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.VectorTileLayerJson.VectorTileLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.WebTileLayerJson.WebTileLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.WFSLayerJson.WFSLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.WMSLayerJson.WMSLayerJson"
                }
            ],
            "description": "An operational layer in a web map/scene."
        },
        "OperationalLayerLike": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.PortalItem"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.ItemJson.ItemJson"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.PortalUri.PortalUri"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.utilities.uri.Uri"
                },
                {
                    "$ref": "#/definitions/esri.Layer"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.AnnotationLayerJson.AnnotationLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.BuildingSceneLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.CSVLayerJson.CSVLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureLayerJson.FeatureLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeoJSONLayerJson.GeoJSONLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeoRSSLayerJson.GeoRSSLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GroupLayerJson.GroupLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.ImageServiceLayerJson.ImageServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.ImageServiceVectorLayerJson.ImageServiceVectorLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.IntegratedMeshLayerJson.IntegratedMeshLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.KMLLayerJson.KMLLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.MapServiceLayerJson.MapServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.PointCloudLayerJson.PointCloudLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SceneLayerJson.SceneLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.StreamLayerJson.StreamLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SubtypeGroupLayerJson.SubtypeGroupLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.TiledImageServiceLayerJson.TiledImageServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.TiledMapServiceLayerJson.TiledMapServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.VectorTileLayerJson.VectorTileLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.WebTileLayerJson.WebTileLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.WFSLayerJson.WFSLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.WMSLayerJson.WMSLayerJson"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerExtension"
                },
                {
                    "type": "string"
                }
            ],
            "description": "Represents an operational layer."
        },
        "Orientation": {
            "description": "An orientation for the layout.",
            "enum": [
                "landscape",
                "portrait"
            ],
            "type": "string"
        },
        "PointCloudFilterJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.DrawingInfoJson.PointCloudBitfieldFilterJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.DrawingInfoJson.PointCloudReturnFilterJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.DrawingInfoJson.PointCloudValueFilterJson"
                }
            ],
            "description": "Filters applied to the pointCloud which will hide a point.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudFilter/}."
        },
        "PointOffset": {
            "description": "Specifies if a desired point comes before or after a given reference point.",
            "enum": [
                "after",
                "before"
            ],
            "type": "string"
        },
        "PortalItemData": {
            "additionalProperties": false,
            "description": "Information about a portal item to be saved.",
            "properties": {
                "data": {
                    "description": "The JSON data associated with the item."
                },
                "thumbnail": {
                    "description": "The URL of a thumbnail for the item.",
                    "type": "string"
                },
                "type": {
                    "description": "The portal type of the item.",
                    "type": "string"
                }
            },
            "required": [
                "data",
                "type"
            ],
            "type": "object"
        },
        "PortalUsername": {
            "description": "A username for a particular ArcGIS Portal User.",
            "type": "string"
        },
        "ProjectArgs": {
            "additionalProperties": false,
            "description": "Arguments for the geometry.project operation.",
            "properties": {
                "geometries": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Geometry"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/esri.Geometry"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "The geometries to project."
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "The target spatial reference."
                },
                "transformation": {
                    "$ref": "#/definitions/esri.GeographicTransformation",
                    "description": "The geographic transformation which contains the steps to transform the input spatial reference to the output spatial reference."
                }
            },
            "required": [
                "geometries",
                "outSpatialReference"
            ],
            "type": "object"
        },
        "PromptOperationArgs": {
            "additionalProperties": false,
            "description": "Arguments for the 'ui.prompt' operation.",
            "properties": {
                "cancelButtonText": {
                    "description": "The text to display on the cancel button.",
                    "type": "string"
                },
                "defaultInputValue": {
                    "description": "The default value to display in the input box.",
                    "type": "string"
                },
                "initialPosition": {
                    "$ref": "MessageBoxPosition",
                    "description": "Where the dialog appears in the app when it is created. Defaults to center position. Web only."
                },
                "isDraggable": {
                    "description": "Whether the dialog is draggable or not. Defaults to true. Web only.",
                    "type": "boolean"
                },
                "message": {
                    "description": "The message to be displayed in the dialog.",
                    "type": "string"
                },
                "okButtonText": {
                    "description": "The text to display on the ok button.",
                    "type": "string"
                },
                "title": {
                    "description": "The title of the dialog.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "Query": {
            "additionalProperties": false,
            "description": "A query that can be displayed in the query builder, or executed using the `tasks.query` operation.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "If specified, limits the results to ones that intersect the given geometry. If both `geometry` and `graphics` are specified, only `graphics` will be used."
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "Alias of `geometry`, to facilitate command chaining. If both `geometry` and `graphics` are specified, only `graphics` will be used."
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Alias of `source`, to facilitate command chaining. If multiple layers are present, only the first will be used as the source. One of `source` or `layers` is required."
                },
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The feature source to query. One of `source` or `layers` is required."
                },
                "where": {
                    "description": "The where clause to query by.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "QueryArgs": {
            "additionalProperties": false,
            "description": "Arguments for the tasks.query operation.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to query by."
                },
                "maxAllowableOffset": {
                    "description": "The maximum allowable offset used for generalizing returned geometries.",
                    "type": "number"
                },
                "maxResults": {
                    "description": "The maximum number of results to return.",
                    "type": "number"
                },
                "outFields": {
                    "description": "Fields that should be returned for each feature.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "The spatial reference for the returned geometry."
                },
                "returnGeometry": {
                    "description": "Whether geometry for features should be returned.",
                    "type": "boolean"
                },
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The feature source to query."
                },
                "where": {
                    "description": "The where clause to query by.",
                    "type": "string"
                }
            },
            "required": [
                "source",
                "where"
            ],
            "type": "object"
        },
        "ReadFileArgs": {
            "additionalProperties": false,
            "description": "Arguments for the system.read-file operation.",
            "properties": {
                "accept": {
                    "description": "The accept parameter for the file input. See {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept}.",
                    "type": "string"
                },
                "attributes": {
                    "description": "Optional layout XML attributes to be used for the transient UI container."
                },
                "fileTypeDescription": {
                    "description": "If present, provides information about what file types are accepted by this dialog, eg: \"*.jpg, *.gif and *.bmp files accepted\".",
                    "type": "string"
                },
                "icon": {
                    "description": "Optional icon that may be used by the transient UI container.",
                    "type": "string"
                },
                "multiple": {
                    "description": "If present, indicates that the user may choose more than one file.",
                    "type": "boolean"
                },
                "parent": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The layout ID or ItemRef to target for the command/operation. This component will be the parent of the temporary UI that will be removed after the command/operation completes."
                },
                "promptMessage": {
                    "description": "If present, overrides the default message of the dialog that prompts the user for a file.",
                    "type": "string"
                },
                "promptTitle": {
                    "description": "If present, overrides the default title of the dialog that prompts the user for a file.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "RemoveLayersArgs": {
            "additionalProperties": false,
            "description": "Arguments for the map.remove-layers command.",
            "properties": {
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "The layer(s) to remove."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The associated map(s) for the layer(s)."
                }
            },
            "required": [
                "layers"
            ],
            "type": "object"
        },
        "RemoveLocationMarkerArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"location-marker.remove\" command.",
            "properties": {
                "id": {
                    "description": "The ID of the Marker to be removed.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsRef",
                    "description": "The map(s) for the Marker. If maps are undefined, all maps will be targeted."
                }
            },
            "type": "object"
        },
        "RepeatActionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the system.repeat-action command.",
            "properties": {
                "action": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.support.Action.Action",
                    "description": "The actions to be repeatedly executed."
                },
                "repetitions": {
                    "description": "The number of times actions will be executed. If omitted or given a value of less than 1, actions will continue to be executed until manual termination.",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "ReportDataSource": {
            "additionalProperties": false,
            "description": "Represents a data source for VertiGIS Studio Reporting. A data source created at report design time will be replaced by this data source at runtime.",
            "properties": {
                "name": {
                    "description": "The name is the name of the data source whose data you want to replace. The name must match the name of the data source in the report.",
                    "type": "string"
                },
                "value": {
                    "description": "The value is an object that defines the data to use in the report. The value is defined using the same schema as the data source in the report."
                }
            },
            "required": [
                "name",
                "value"
            ],
            "type": "object"
        },
        "Results": {
            "additionalProperties": false,
            "description": "Feature results from an operation.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                }
            },
            "type": "object"
        },
        "ReverseGeocodeArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"geocode.reverse-geocode\" operation.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The location to look up."
                },
                "options": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.tasks.geocoding.Geocoder.GeocodeOptions",
                    "description": "Options that affect geocode results."
                }
            },
            "required": [
                "geometry",
                "options"
            ],
            "type": "object"
        },
        "RotateGeometryArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.rotate-geometry\" operation.",
            "properties": {
                "degrees": {
                    "description": "The number of degrees to rotate the geometry.",
                    "type": "number"
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "The features containing geometries to edit. The features will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometries to edit."
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "The graphics containing geometries to edit. The graphics will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "isMeasurement": {
                    "description": "Flag all inputs as measured geometries. Geometry operations will show measurements for in progress operations. Not supported in Mobile.",
                    "type": "boolean"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The maps to activate editing on. By default it will be all maps."
                },
                "origin": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The origin around which to rotate the geometry. Defaults to the centroid."
                },
                "symbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Symbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        }
                    ],
                    "description": "An optional symbol to use while editing."
                }
            },
            "required": [
                "degrees"
            ],
            "type": "object"
        },
        "RunArcadeArgs": {
            "additionalProperties": false,
            "description": "The arguments for the arcade.run operation.",
            "properties": {
                "arguments": {
                    "description": "An arguments object that provides named variables and associated values, which can be referenced from within the executeScript and canExecuteScript. Note that context variables will be passed in if available under the well known arcade variable names: $feature, $features, $map, and $layer and $featuremap a constructed arcade dictionary that exposes a feature mapping dictionary keyed via feature source ID with the following values: id, title and features.\n\nNOTE: All variable keys must consist of only lowercase letters; camel-cased context variables will break the script when they are referenced at runtime."
                },
                "canExecuteScript": {
                    "description": "The stringified Arcade script used to determine whether or not the executeScript can/should be run. If no executeScript is provided and the canExecuteScript returns a truthy value, the operation will return its input arguments; otherwise, if the canExecuteScript returns a falsy value, it will throw a {@link Cancellation}.",
                    "type": "string"
                },
                "executeScript": {
                    "description": "The stringified Arcade script to run. If this property is included, the operation will return the result of the script.",
                    "type": "string"
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "includeContext": {
                    "description": "Whether to pass the operation context object into the script. If included, the context object uses the variable name $context.",
                    "type": "boolean"
                },
                "includeWorkflowApplicationData": {
                    "description": "Whether to pass the current workflow application state into the script. If included, the application state object uses the variable name $workflowdata.",
                    "type": "boolean"
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "watchHandles": {
                    "description": "Properties used to set a series of watch handles and/or event listeners on an item that will trigger the canExecuteChanged event for the 'arcade.run' operation.",
                    "items": {
                        "$ref": "#/definitions/WatchEventHandleProperties"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "RunLayoutPrintArgs": {
            "additionalProperties": false,
            "description": "The arguments required by the printing.run command when printing with ArcGIS Pro layouts.",
            "properties": {
                "dpi": {
                    "description": "The DPI with which to print.",
                    "type": "number"
                },
                "exportFormat": {
                    "$ref": "#/definitions/LayoutExportFormats",
                    "description": "The export format of the layout print."
                },
                "extent": {
                    "$ref": "#/definitions/esri.Extent",
                    "description": "The initial extent of the 2D map(s). Defaults to the map's current extent. If scale is provided, only the center point is used."
                },
                "id": {
                    "description": "The ID of the report item.",
                    "type": "string"
                },
                "instanceId": {
                    "description": "A unique ID used to track a print job.",
                    "type": "string"
                },
                "layoutId": {
                    "description": "The ID of the layout item to be printed.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) to print."
                },
                "parameters": {
                    "$ref": "#/definitions/JobParameters",
                    "description": "Additional parameters used in the print template, specified as key-value pairs."
                },
                "portalItem": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.utilities.portal.PortalItemLike",
                    "description": "The portal item where the report is located."
                },
                "rotation": {
                    "description": "The rotation of the map(s). Defaults to the map's current rotation.",
                    "type": "number"
                },
                "scale": {
                    "description": "The scale of the map(s). Defaults to the map's current scale.",
                    "type": "number"
                },
                "title": {
                    "description": "The title of the report.",
                    "type": "string"
                },
                "viewpoint": {
                    "$ref": "#/definitions/esri.Viewpoint",
                    "description": "The initial viewpoint of the 3D map(s). Defaults to the scene's current viewpoint."
                }
            },
            "required": [
                "layoutId",
                "maps"
            ],
            "type": "object"
        },
        "RunPrintArgs": {
            "additionalProperties": false,
            "description": "The arguments required by the printing.run command when printing with templates.",
            "properties": {
                "dpi": {
                    "description": "The DPI with which to print.",
                    "type": "number"
                },
                "extent": {
                    "$ref": "#/definitions/esri.Extent",
                    "description": "The initial extent of the 2D map(s). Defaults to the map's current extent. If scale is provided, only the center point is used."
                },
                "grid": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "The WKID of the spatial reference used to draw a grid on the map(s)."
                },
                "id": {
                    "description": "The ID of the report item.",
                    "type": "string"
                },
                "instanceId": {
                    "description": "A unique ID used to track a print job.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) to print."
                },
                "parameters": {
                    "$ref": "#/definitions/JobParameters",
                    "description": "Additional parameters used in the print template, specified as key-value pairs."
                },
                "portalItem": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.utilities.portal.PortalItemLike",
                    "description": "The portal item where the report is located."
                },
                "rotation": {
                    "description": "The rotation of the map(s). Defaults to the map's current rotation.",
                    "type": "number"
                },
                "scale": {
                    "description": "The scale of the map(s). Defaults to the map's current scale.",
                    "type": "number"
                },
                "title": {
                    "description": "The title of the report.",
                    "type": "string"
                },
                "viewpoint": {
                    "$ref": "#/definitions/esri.Viewpoint",
                    "description": "The initial viewpoint of the 3D map(s). Defaults to the scene's current viewpoint."
                }
            },
            "required": [
                "maps"
            ],
            "type": "object"
        },
        "RunReportArgs": {
            "additionalProperties": false,
            "description": "The arguments required by the reports.run command.",
            "properties": {
                "dataSources": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/ReportDataSource"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/ReportDataSource"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "Replace the data from one or more data sources at run time."
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "The features passed to the report."
                },
                "id": {
                    "description": "The ID of the report item.",
                    "type": "string"
                },
                "instanceId": {
                    "description": "A unique ID to identify an instance of this report running.",
                    "type": "string"
                },
                "portalItem": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.utilities.portal.PortalItemLike",
                    "description": "The portal item where the report is located."
                },
                "title": {
                    "description": "The title of the report.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "RunWorkflowArgs": {
            "additionalProperties": false,
            "description": "Arguments for the workflow.run command.",
            "properties": {
                "async": {
                    "description": "Whether or not the workflow should be executed asynchronously. If this property is true, the workflow will be executed but the command will not wait for it to finish. Defaults to false. Web only.",
                    "type": "boolean"
                },
                "commandArgumentInput": {
                    "description": "The workflow input that the command's context will map to.",
                    "type": "string"
                },
                "icon": {
                    "description": "An icon to display for the workflow.",
                    "type": "string"
                },
                "id": {
                    "description": "The ID of the workflow item in app config.",
                    "type": "string"
                },
                "inputs": {
                    "$ref": "__type",
                    "description": "The inputs to be passed into the workflow."
                },
                "instanceId": {
                    "description": "A unique Id to identify an instance of this workflow running.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map to target, if omitted Web will attempt to choose the best map for you. Web only."
                },
                "target": {
                    "description": "The layout ID of the workflow component to use for any workflow forms, or the ID of a container component like taskbar, panel, stack, etc. In the latter case, a new workflow component will be created dynamically as a child of the targeted container, and removed when the workflow finishes running.",
                    "type": "string"
                },
                "title": {
                    "description": "The title of the workflow.",
                    "type": "string"
                }
            },
            "required": [
                "id"
            ],
            "type": "object"
        },
        "SaveSharedProjectArgs": {
            "additionalProperties": false,
            "description": "Arguments for the project.save-shared operation. Only available in VertiGIS Studio Web.",
            "properties": {
                "appConfig": {
                    "$ref": "#/definitions/AppConfig",
                    "description": "The AppConfig for the command or operation."
                },
                "created": {
                    "$ref": "Date",
                    "description": "The created Date."
                },
                "description": {
                    "description": "A description for the shared project.",
                    "type": "string"
                },
                "hiddenFrom": {
                    "$ref": "Iterable",
                    "description": "Filters that determine whether the UI element is hidden from a given end-user. If both visibleTo and hiddenFrom are undefined/empty, the component will be visible to all users."
                },
                "id": {
                    "description": "The unique ID for this entity.",
                    "type": "string"
                },
                "modified": {
                    "$ref": "Date",
                    "description": "The modified Date."
                },
                "modifiedBy": {
                    "$ref": "#/definitions/PortalUsername",
                    "description": "The username of the last modifier."
                },
                "owner": {
                    "$ref": "#/definitions/PortalUsername",
                    "description": "The username of the owner."
                },
                "readOnly": {
                    "description": "Indicates if the shared project is shared as 'read only'.",
                    "type": "boolean"
                },
                "showConfirm": {
                    "description": "Whether to show a confirm prompt, when overwriting a shared project. Defaults to 'true'.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A human-readable title for the shared project.",
                    "type": "string"
                },
                "visibleTo": {
                    "$ref": "Iterable",
                    "description": "Filters that determine whether the UI element is visible to a given end-user. If both visibleTo and hiddenFrom are undefined/empty, the component will be visible to all users."
                }
            },
            "type": "object"
        },
        "ScaleGeometryArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.scale-geometry\" operation.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "The features containing geometries to edit. The features will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometries to edit."
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "The graphics containing geometries to edit. The graphics will pass through and be assigned the altered geometries. Not supported in Mobile."
                },
                "isMeasurement": {
                    "description": "Flag all inputs as measured geometries. Geometry operations will show measurements for in progress operations. Not supported in Mobile.",
                    "type": "boolean"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The maps to activate editing on. By default it will be all maps."
                },
                "scale": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/Vector2D"
                        },
                        {
                            "type": "number"
                        }
                    ],
                    "description": "The amount to scale the geometry, specified either uniformly or independently on the x and y axis. Point geometries will not be modified by this operation."
                },
                "symbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Symbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        }
                    ],
                    "description": "An optional symbol to use while editing."
                }
            },
            "required": [
                "scale"
            ],
            "type": "object"
        },
        "SearchArgs": {
            "additionalProperties": false,
            "description": "Arguments for search operations.",
            "properties": {
                "disableSearchAreaExpansion": {
                    "description": "By default the search area will be expanded to try and return the specified maxResults. Set to true to disable this behavior. Not supported in VertiGIS Studio Mobile.",
                    "type": "boolean"
                },
                "mapViewpoint": {
                    "$ref": "#/definitions/esri.Viewpoint",
                    "description": "The map Viewpoint at the time of the search. Mobile only."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) to search. Can be used instead of or in addition to \"sources\". This property is required in VertiGIS Studio Mobile."
                },
                "maxQueryResults": {
                    "description": "The maximum number of results to query per source, the results per source will still be limited by maxResults.",
                    "type": "number"
                },
                "maxResults": {
                    "description": "The maximum number of results to return per source.",
                    "type": "number"
                },
                "near": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "If specified, this will influence the score of spatial features based on their proximity to this point. Most commonly this would be the user's current location, but can be any point of interest. This option requires searchArea to also be specified. Not supported in VertiGIS Studio Mobile."
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "The spatial reference for the returned geometry. Not supported in VertiGIS Studio Mobile."
                },
                "searchArea": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "If specified, results are limited to features that intersect the geometry. This property is required in VertiGIS Studio Mobile."
                },
                "searchText": {
                    "description": "The text to search for. Required.",
                    "type": "string"
                },
                "sourceId": {
                    "description": "Id of source to filter for.",
                    "type": "string"
                },
                "sources": {
                    "description": "The feature sources to search. Can be used instead of or in addition to \"maps\". Not supported in VertiGIS Studio Mobile (use \"maps\").",
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                    },
                    "type": "array"
                }
            },
            "required": [
                "searchText"
            ],
            "type": "object"
        },
        "SetActiveFeatureArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.set-active-feature\" command.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/Features",
                    "description": "The feature to set as active in the results component, if it exists. If multiple features are specified, only the first will be set as active."
                },
                "results": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The result component to update, referenced by results model or its ID. Web only."
                }
            },
            "required": [
                "features"
            ],
            "type": "object"
        },
        "SetActivePointsArgs": {
            "additionalProperties": false,
            "description": "The arguments for the \"sketching.set-active-points\" command.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The geometry where the new active point exists, if multiple are present in an active editing session. This property is required if pointIndex and/or partIndex are defined."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "partIndex": {
                    "description": "The part of the geometry where the new active point exists. Required for polyline and polygon geometry types when the geometry and pointIndex properties are defined.",
                    "type": "number"
                },
                "pointIndex": {
                    "description": "The index of the new active point. If this property is defined, the geometry property must be defined.",
                    "type": "number"
                },
                "points": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Point"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/esri.Point"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "The new point(s) that will become active in the sketch or editing session. Sketching only supports one active point; if multiple are specified, then only the first will be set as active."
                }
            },
            "type": "object"
        },
        "SetBasemapArg": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.BasemapExtension.BasemapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.BasemapExtension.BasemapExtension"
                    },
                    "type": "array"
                },
                {
                    "type": "string"
                }
            ],
            "description": "Argument used in case when we have only 1 map in the app or when the first active map should be used. Basemap extension ID or the basemap self. If more than one basemap is specified, only the first one is used."
        },
        "SetBasemapArgs": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.BasemapExtension.BasemapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.BasemapExtension.BasemapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/SetBasemapWithTargetMapArg"
                },
                {
                    "type": "string"
                }
            ],
            "description": "Argument used when setting current basemap in the app."
        },
        "SetBasemapWithTargetMapArg": {
            "additionalProperties": false,
            "description": "Argument used in case when we have more than 1 map in the app, and we need to pass the target map from outside (eg basemap picker in VertiGIS Studio Web).",
            "properties": {
                "basemap": {
                    "$ref": "#/definitions/SetBasemapArg",
                    "description": "Basemap to be set."
                },
                "map": {
                    "$ref": "MapsLike",
                    "description": "Target map."
                }
            },
            "required": [
                "basemap",
                "map"
            ],
            "type": "object"
        },
        "SetDisplayComponentArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.set-display-components\" command.",
            "properties": {
                "results": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The result component to update, referenced by results model or its ID. Web only."
                },
                "selector": {
                    "description": "Sets the selector, using CSS selector syntax, which queries for results components in the app layout XML, such as the Results List or Results Table components. The selector is used to determine which components will be activated when displaying results using `results.display`.",
                    "type": "string"
                }
            },
            "required": [
                "selector"
            ],
            "type": "object"
        },
        "SetFilterArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"filter-builder.set-filter\" command.",
            "properties": {
                "filterBuilder": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The filter builder component that will be targeted. If not specified, all active filter builder components in the layout will be targeted."
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Alias of `source`, to facilitate command chaining. If multiple layers are present, only the first will be used as the source. One of `source` or `layers` is required."
                },
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The feature source to filter. One of `source` or `layers` is required."
                },
                "where": {
                    "description": "The where clause to filter by.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "SetGeometryModeArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.set-geometry-mode\" command.",
            "properties": {
                "editorGeometryMode": {
                    "description": "The geometry mode to switch to. VertiGIS Studio Mobile only supports \"line\" and \"area\".",
                    "enum": [
                        "area",
                        "circle",
                        "extent",
                        "line",
                        "multipoint",
                        "point",
                        "polygon",
                        "polyline",
                        "square"
                    ],
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                }
            },
            "required": [
                "editorGeometryMode"
            ],
            "type": "object"
        },
        "SetLabelVisibilityArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"layers.show-labels\" and \"layers.hide-labels\" commands. If no 'maps' are specified, all active maps in the layout will be targeted. If no 'layers' are specified, all viable layers and sublayers within the 'maps' will be affected. If the 'layers' property includes (Sub)Layer references or ESRI (Sub)Layers, they must exist within one of the 'maps'.",
            "properties": {
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                }
            },
            "type": "object"
        },
        "SetLayerComparisonDirectionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the layer-comparison.set-direction command.",
            "properties": {
                "direction": {
                    "description": "The direction in which the layer-comparison tool should slide.",
                    "enum": [
                        "horizontal",
                        "vertical"
                    ],
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) on which to set the layer-comparison direction."
                }
            },
            "required": [
                "direction"
            ],
            "type": "object"
        },
        "SetLayerComparisonModeArgs": {
            "additionalProperties": false,
            "description": "Arguments for the layer-comparison.set-mode command.",
            "properties": {
                "active": {
                    "description": "Whether or not the layer-comparison mode should be active.",
                    "type": "boolean"
                },
                "leadingLayers": {
                    "$ref": "#/definitions/Layers",
                    "description": "Sets the leading layers on the map."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) on which to set the layer-comparison mode."
                },
                "trailingLayers": {
                    "$ref": "#/definitions/Layers",
                    "description": "Sets the trailing layers on the map."
                }
            },
            "required": [
                "active"
            ],
            "type": "object"
        },
        "SetListCardSizeArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.set-list-card-size\" command.",
            "properties": {
                "cardSize": {
                    "$ref": "#/definitions/CardSize",
                    "description": "The card size to set on the results list component. Web only."
                },
                "results": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The result component to update, referenced by results model or its ID. Web only."
                }
            },
            "required": [
                "cardSize"
            ],
            "type": "object"
        },
        "SetListViewModeArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.set-list-view-mode\" command.",
            "properties": {
                "results": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The result component to update, referenced by results model or its ID. Web only."
                },
                "viewMode": {
                    "$ref": "#/definitions/ViewMode",
                    "description": "The view mode to activate on the results list component. Web only."
                }
            },
            "required": [
                "viewMode"
            ],
            "type": "object"
        },
        "SetQueryArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"query-builder.set-query\" command.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "If specified, limits the results to ones that intersect the given geometry. If both `geometry` and `graphics` are specified, only `graphics` will be used."
                },
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "Alias of `geometry`, to facilitate command chaining. If both `geometry` and `graphics` are specified, only `graphics` will be used."
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Alias of `source`, to facilitate command chaining. If multiple layers are present, only the first will be used as the source. One of `source` or `layers` is required."
                },
                "queryBuilder": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The query builder component that will be targeted. If not specified, all active query builder components in the layout will be targeted."
                },
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The feature source to query. One of `source` or `layers` is required."
                },
                "where": {
                    "description": "The where clause to query by.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "SetSnappingConfigurationArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.set-snapping-configuration\" command.",
            "properties": {
                "config": {
                    "$ref": "#/definitions/SnappingProperties",
                    "description": "The snapping properties to set."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "mode": {
                    "description": "Whether the config should be replace, or merged. Defaults to \"merge\".",
                    "enum": [
                        "merge",
                        "replace"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "config"
            ],
            "type": "object"
        },
        "SetSymbolArgs": {
            "additionalProperties": false,
            "description": "Arguments for the layer.set-symbol command.",
            "properties": {
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "symbol": {
                    "$ref": "#/definitions/SymbolLike",
                    "description": "The symbol to use for the command/operation."
                },
                "symbols": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PointSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.LineSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.PolygonSymbol3D"
                        },
                        {
                            "$ref": "#/definitions/esri.TextSymbol"
                        },
                        {
                            "items": {
                                "$ref": "#/definitions/SymbolLike"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "The symbols to use for the command/operation."
                }
            },
            "type": "object"
        },
        "SetTopologyConfigurationArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.set-topology-configuration\" command.",
            "properties": {
                "config": {
                    "$ref": "#/definitions/TopologyProperties",
                    "description": "The topology properties to set."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "mode": {
                    "description": "Whether the config should be replace, or merged. Defaults to \"merge\".",
                    "enum": [
                        "merge",
                        "replace"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "config"
            ],
            "type": "object"
        },
        "SetViewModeArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"map.set-view-mode\" command.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "viewMode": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.mapping.MapExtension.ViewMode",
                    "description": "The new view mode for the specified map(s)."
                }
            },
            "required": [
                "viewMode"
            ],
            "type": "object"
        },
        "SetVisibilityArgs": {
            "additionalProperties": false,
            "description": "Arguments for the layer.set-visibility command. If no 'maps' are specified, all active maps in the layout will be targeted. If no 'layers' are specified, all viable layers and sublayers within the 'maps' will be affected. If the 'layers' property includes (Sub)Layer references or ESRI (Sub)Layers, they must exist within one of the 'maps'.",
            "properties": {
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "visible": {
                    "description": "The visibility of the provided layers.",
                    "type": "boolean"
                }
            },
            "required": [
                "visible"
            ],
            "type": "object"
        },
        "SetVisualStateArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"ui.set-visual-state\" command.",
            "properties": {
                "id": {
                    "$ref": "#/definitions/ComponentId",
                    "description": "The component ID."
                },
                "visualState": {
                    "$ref": "#/definitions/VisualState",
                    "description": "The visual state of the component. The set of visual states is specific to the type of component."
                }
            },
            "required": [
                "id",
                "visualState"
            ],
            "type": "object"
        },
        "SharedProject": {
            "additionalProperties": false,
            "description": "Configuration for a shared project.",
            "properties": {
                "created": {
                    "$ref": "Date",
                    "description": "The created Date."
                },
                "description": {
                    "description": "A description for the shared project.",
                    "type": "string"
                },
                "hiddenFrom": {
                    "$ref": "Iterable",
                    "description": "Filters that determine whether the UI element is hidden from a given end-user. If both visibleTo and hiddenFrom are undefined/empty, the component will be visible to all users."
                },
                "id": {
                    "description": "The unique ID for this entity.",
                    "type": "string"
                },
                "modified": {
                    "$ref": "Date",
                    "description": "The modified Date."
                },
                "modifiedBy": {
                    "$ref": "#/definitions/PortalUsername",
                    "description": "The username of the last modifier."
                },
                "owner": {
                    "$ref": "#/definitions/PortalUsername",
                    "description": "The username of the owner."
                },
                "readOnly": {
                    "description": "Indicates if the shared project is shared as 'read only'.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A human-readable title for the shared project.",
                    "type": "string"
                },
                "visibleTo": {
                    "$ref": "Iterable",
                    "description": "Filters that determine whether the UI element is visible to a given end-user. If both visibleTo and hiddenFrom are undefined/empty, the component will be visible to all users."
                }
            },
            "required": [
                "created",
                "description",
                "id",
                "title"
            ],
            "type": "object"
        },
        "ShowResultsArgs": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "activate": {
                            "description": "Whether to activate the component showing the results of the operation. False by default.",
                            "type": "boolean"
                        },
                        "features": {
                            "$ref": "#/definitions/FeaturesLike",
                            "description": "Features to use for the command/operation."
                        },
                        "results": {
                            "$ref": "#/definitions/ModelRef",
                            "description": "The result component to update, referenced by results model or its ID. Web only."
                        },
                        "resultsSetId": {
                            "description": "If specified the results will be updated in the named results set only. Results sets with the prefix 'vgs' are reserved for system use and should not be used unless you are intentionally targeting a well known results set such as the 'vgs-starred' results. Web only.",
                            "type": "string"
                        }
                    },
                    "type": "object"
                }
            ],
            "description": "Arguments for various commands that manipulate the current set of shown results."
        },
        "ShowSharedProjectArgs": {
            "additionalProperties": false,
            "description": "Arguments for the project.show-settings command. Only available in VertiGIS Studio Web.",
            "properties": {
                "appConfig": {
                    "$ref": "#/definitions/AppConfig",
                    "description": "The AppConfig for the command or operation."
                },
                "createNewProject": {
                    "description": "Whether to create a new project. If a project is provided it will be used as the starting point for configuration.",
                    "type": "boolean"
                },
                "created": {
                    "$ref": "Date",
                    "description": "The created Date."
                },
                "description": {
                    "description": "A description for the shared project.",
                    "type": "string"
                },
                "hiddenFrom": {
                    "$ref": "Iterable",
                    "description": "Filters that determine whether the UI element is hidden from a given end-user. If both visibleTo and hiddenFrom are undefined/empty, the component will be visible to all users."
                },
                "id": {
                    "description": "The unique ID for this entity.",
                    "type": "string"
                },
                "modified": {
                    "$ref": "Date",
                    "description": "The modified Date."
                },
                "modifiedBy": {
                    "$ref": "#/definitions/PortalUsername",
                    "description": "The username of the last modifier."
                },
                "owner": {
                    "$ref": "#/definitions/PortalUsername",
                    "description": "The username of the owner."
                },
                "readOnly": {
                    "description": "Indicates if the shared project is shared as 'read only'.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A human-readable title for the shared project.",
                    "type": "string"
                },
                "visibleTo": {
                    "$ref": "Iterable",
                    "description": "Filters that determine whether the UI element is visible to a given end-user. If both visibleTo and hiddenFrom are undefined/empty, the component will be visible to all users."
                }
            },
            "type": "object"
        },
        "SimpleAction": {
            "anyOf": [
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.support.Action.BoundAction"
                },
                {
                    "type": "string"
                }
            ],
            "description": "Defines a single action to perform."
        },
        "SketchTool": {
            "description": "The type of tool used for sketching.",
            "enum": [
                "point",
                "multipoint",
                "line",
                "polyline",
                "polygon",
                "extent",
                "square",
                "circle"
            ],
            "type": "string"
        },
        "SnappingConnections": {
            "additionalProperties": false,
            "description": "Well known connection points for Snapping.",
            "properties": {
                "edge": {
                    "description": "Enable connections to an edge, defaults to true.",
                    "type": "boolean"
                },
                "vertices": {
                    "description": "Enable connections to vertices, defaults to allow all connections.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "SnappingDestinationProperties": {
            "additionalProperties": false,
            "description": "Configuration for snapping destinations.",
            "properties": {
                "destination": {
                    "anyOf": [
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerExtension"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping._SublayerExtension.SublayerExtension"
                        }
                    ],
                    "description": "The destination layer or sublayer extension."
                },
                "sqlQuery": {
                    "description": "Optional SQL92 formatted query for filtering features to be considered for snapping.",
                    "type": "string"
                }
            },
            "required": [
                "destination"
            ],
            "type": "object"
        },
        "SnappingProperties": {
            "additionalProperties": false,
            "description": "Global configuration for snapping.",
            "properties": {
                "enableTooltips": {
                    "description": "Enable a tooltip that shows the name of the layer that has been snapped to and the type of the snap target, i.e. vertex or edge. Defaults to true.",
                    "type": "boolean"
                },
                "enableUtilityNetworkRules": {
                    "description": "Enable the automatic application of feature class based rules if any utility networks are included in the web map.",
                    "type": "boolean"
                },
                "maxSearchRadius": {
                    "description": "The radius in screen units in which to search for things to snap to (these are displayed as guides). Should be larger than snappingRadius. Defaults to 150.",
                    "type": "number"
                },
                "maxSnappingGuides": {
                    "description": "Indicates the maximum number of snapping guides to be displayed at any time. Defaults to 4.",
                    "type": "number"
                },
                "respectLayerVisibility": {
                    "description": "Indicates that snapping should respect the layer's visibility in the layer list, i.e. if a layer is not checked here it will not be considered for snapping. Defaults to true.",
                    "type": "boolean"
                },
                "snappingRadius": {
                    "description": "The radius in screen units in which the user will be automatically snapped. Defaults to 25.",
                    "type": "number"
                },
                "sourceMappings": {
                    "description": "Configuration for snapping sources.",
                    "items": {
                        "$ref": "#/definitions/SnappingSourceMapping"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "SnappingSourceMapping": {
            "additionalProperties": false,
            "description": "Maps snapping source layers to destination layers to be considered.",
            "properties": {
                "connections": {
                    "$ref": "#/definitions/SnappingConnections",
                    "description": "Types of snapping connections to be considered for this source."
                },
                "destinations": {
                    "description": "The snapping destinations, if not provided all destinations will be considered.",
                    "items": {
                        "$ref": "#/definitions/SnappingDestinationProperties"
                    },
                    "type": "array"
                },
                "guideColor": {
                    "$ref": "#/definitions/esri.Color",
                    "description": "The color to use for snapping guides generated by this source."
                },
                "required": {
                    "description": "Turns on validation of snapping. \"initial-points\" requires the first point to snap (in draw mode) or pre-existing snapped points to snap (in edit mode). Defaults to \"off\".",
                    "enum": [
                        "all-points",
                        "initial-points",
                        "off"
                    ],
                    "type": "string"
                },
                "source": {
                    "anyOf": [
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerExtension"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping._SublayerExtension.SublayerExtension"
                        }
                    ],
                    "description": "The snapping source. If omitted the configuration will be applied to all existing sources."
                }
            },
            "type": "object"
        },
        "Source": {
            "description": "Represent sources of portal items.",
            "enum": [
                "my-content",
                "my-favorites",
                "my-groups",
                "organization",
                "public"
            ],
            "type": "string"
        },
        "State": {
            "description": "Represents the state of a layout node.",
            "enum": [
                0,
                1,
                2,
                3,
                4
            ],
            "type": "number"
        },
        "StopGeometryEditArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"sketching.stop\" operation.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The maps on which to stop editing geometry."
                },
                "validateGeometry": {
                    "description": "Whether to validate the geometry before returning it. Defaults to true if not set.",
                    "type": "boolean"
                }
            },
            "required": [
                "maps"
            ],
            "type": "object"
        },
        "StorageDataArgs": {
            "additionalProperties": false,
            "description": "Arguments for the reading app.*-persistent-data operations. Only available in VertiGIS Studio Mobile.",
            "properties": {
                "key": {
                    "description": "The key of the data to store.",
                    "type": "string"
                },
                "scope": {
                    "$ref": "#/definitions/StorageScope",
                    "description": "The scope the data is stored in. Defaults to"
                }
            },
            "required": [
                "key"
            ],
            "type": "object"
        },
        "StorageScope": {
            "enum": [
                "app",
                "global",
                "memory"
            ],
            "type": "string"
        },
        "SuggestArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"geocode.suggest\" operation.",
            "properties": {
                "options": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.tasks.geocoding.Geocoder.GeocodeOptions",
                    "description": "Options that affect geocode results."
                },
                "searchText": {
                    "description": "The search text entered by the user.",
                    "type": "string"
                }
            },
            "required": [
                "options",
                "searchText"
            ],
            "type": "object"
        },
        "SupportsIdentifyArgs": {
            "additionalProperties": false,
            "description": "The arguments for the tasks.supports-identify operation.",
            "properties": {
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The geometry to identify by."
                },
                "options": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.tasks.identify.IdentifyOptions.IdentifyOptions",
                    "description": "The options for the identify operation."
                },
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The feature source to identify."
                }
            },
            "required": [
                "source"
            ],
            "type": "object"
        },
        "SupportsQueryArgs": {
            "additionalProperties": false,
            "description": "The arguments for the tasks.supports-identify operation.",
            "properties": {
                "source": {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource",
                    "description": "The feature source to query."
                }
            },
            "required": [
                "source"
            ],
            "type": "object"
        },
        "SwitchActiveNodeArgs": {
            "additionalProperties": false,
            "description": "Deprecated - use \"sketching.set-active-points\" with {@link SetActivePointsArgs}.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "node": {
                    "$ref": "#/definitions/esri.Point",
                    "description": "The new point that will become the active point of an active sketch."
                }
            },
            "required": [
                "node"
            ],
            "type": "object"
        },
        "SymbolGeometryType": {
            "description": "The type of geometry that a given symbol can symbolize.",
            "enum": [
                "point",
                "polygon",
                "polyline",
                "unknown"
            ],
            "type": "string"
        },
        "SymbolLike": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PictureMarkerSymbol"
                },
                {
                    "$ref": "#/definitions/esri.SimpleLineSymbol"
                },
                {
                    "$ref": "#/definitions/esri.SimpleFillSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PictureFillSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PointSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.LineSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.PolygonSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.TextSymbol"
                }
            ],
            "description": "Symbols supported for drawing."
        },
        "SymbolPresetProperties": {
            "additionalProperties": false,
            "description": "Configuration properties for a SymbolPreset.",
            "properties": {
                "description": {
                    "description": "A description of the SymbolPreset.",
                    "type": "string"
                },
                "geometryType": {
                    "$ref": "#/definitions/SymbolGeometryType",
                    "description": "The geometry type associated with the symbol."
                },
                "id": {
                    "description": "The unique ID.",
                    "type": "string"
                },
                "symbol": {
                    "$ref": "#/definitions/SymbolLike",
                    "description": "The Symbol."
                },
                "title": {
                    "description": "The title of the the SymbolPreset.",
                    "type": "string"
                }
            },
            "required": [
                "symbol",
                "title"
            ],
            "type": "object"
        },
        "SymbolSet": {
            "additionalProperties": false,
            "description": "A set of symbols that can be used to sketch geometries.",
            "properties": {
                "lineSymbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleLineSymbol"
                        }
                    ],
                    "description": "The symbol used to draw lines."
                },
                "lineSymbol3D": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.LineSymbol3D"
                        }
                    ],
                    "description": "The symbol used to draw 3D lines."
                },
                "pointSymbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureMarkerSymbol"
                        }
                    ],
                    "description": "The symbol used to draw points."
                },
                "pointSymbol3D": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.PointSymbol3D"
                        }
                    ],
                    "description": "The symbol used to draw 3D points."
                },
                "polygonSymbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.SimpleFillSymbol"
                        },
                        {
                            "$ref": "#/definitions/esri.PictureFillSymbol"
                        }
                    ],
                    "description": "The symbol used to draw polygons."
                },
                "polygonSymbol3D": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                        },
                        {
                            "$ref": "#/definitions/esri.PolygonSymbol3D"
                        }
                    ],
                    "description": "The symbol used to draw 3D polygons."
                }
            },
            "type": "object"
        },
        "TargetsResultsSetArgs": {
            "additionalProperties": false,
            "description": "Arguments for various commands that target a result set of features.",
            "properties": {
                "resultsSetId": {
                    "description": "If specified the results will be updated in the named results set only. Results sets with the prefix 'vgs' are reserved for system use and should not be used unless you are intentionally targeting a well known results set such as the 'vgs-starred' results. Web only.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "TimeExtent": {
            "additionalProperties": false,
            "description": "A time extent for a filter effect.",
            "properties": {
                "end": {
                    "anyOf": [
                        {
                            "format": "date-time",
                            "type": "string"
                        },
                        {
                            "type": "number"
                        }
                    ],
                    "description": "The end of the time interval, as either a JavaScript Date object or the number of milliseconds elapsed since January 1, 1970 00:00:00 UTC."
                },
                "start": {
                    "anyOf": [
                        {
                            "format": "date-time",
                            "type": "string"
                        },
                        {
                            "type": "number"
                        }
                    ],
                    "description": "The beginning of the time interval, as either a JavaScript Date object or the number of milliseconds elapsed since January 1, 1970 00:00:00 UTC."
                }
            },
            "required": [
                "end",
                "start"
            ],
            "type": "object"
        },
        "ToCsvConversionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.convert-to-csv\" operation.",
            "properties": {
                "alwaysQuote": {
                    "description": "Whether to always quote values, even if they do not require it. The default is false.",
                    "type": "boolean"
                },
                "dateFormat": {
                    "description": "The format for dates. The default is DateFormat.ROUND_TRIP. This can be a defined DateFormat string, the \"timestamp\" pseudo-format, or a custom format string.",
                    "type": "string"
                },
                "delimiter": {
                    "description": "The delimiter between fields. If not specified, an attempt will be made to auto-detect the delimiter.",
                    "type": "string"
                },
                "escapeFormulaChars": {
                    "description": "Whether to a prefix values that start with typical formula triggering chars (=,-,+,@).",
                    "type": "boolean"
                },
                "features": {
                    "$ref": "#/definitions/Features",
                    "description": "The feature(s) to convert."
                },
                "generatePrimaryKey": {
                    "description": "Indicates if a primary key should be generated if not found, defaults to true.",
                    "type": "boolean"
                },
                "geometryFields": {
                    "description": "A set of custom field names to use with the selected geometry format.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "geometryFormat": {
                    "$ref": "@vertigis.arcgis-extensions.data.convert.GeometryFormat",
                    "description": "The format for serializing the geometry. The default is WKT."
                },
                "includeByteOrderMark": {
                    "description": "Whether to include a Unicode byte order mark at the beginning of the text. True by default.",
                    "type": "boolean"
                },
                "includeHeaderRow": {
                    "description": "Whether to include a header row with field names. Default is true.",
                    "type": "boolean"
                },
                "locale": {
                    "description": "The locale to use for formatting values. Accepts a valid locale code (example: \"inv\", \"fr\" or \"de-AT\"). Default is \"inv\" or invariant culture.",
                    "type": "string"
                },
                "numberFormat": {
                    "description": "The format for numbers. The default is NumberFormat.ROUND_TRIP.",
                    "type": "string"
                },
                "outFields": {
                    "description": "A list of fields to include. Defaults to the FeatureSources PopupTemplate outfields if available, otherwise \"*\" meaning all fields.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "When exporting to CSV, this is the spatial reference of the geometry in the CSV. The default is WGS84. When importing from CSV, this is the spatial reference of the geometry in the result."
                },
                "rowDelimiter": {
                    "description": "The delimiter between rows. The default is the platform-specific line ending (e.g. \"\\r\\n\" on Windows, \"\\n\" on Unix or MacOS).",
                    "type": "string"
                },
                "timeFormat": {
                    "description": "The format for time-only fields. The default is TimeFormat.ROUND_TRIP. This can be a defined TimeFormat string, or a custom format string.",
                    "type": "string"
                },
                "useFormattedValues": {
                    "description": "If true, the configured formatters will be run on the raw values in the supplied data and these values will be output with type information if possible. If false, the formatted or presentable values already present in the supplied data will be taken 'as-is'. Field types configured on the input will be ignored and all values will be output as strings.",
                    "type": "boolean"
                }
            },
            "required": [
                "features"
            ],
            "type": "object"
        },
        "ToShapefileConversionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.convert-to-shapefile\" operation.",
            "properties": {
                "dateFormat": {
                    "description": "The format for dates. The default is DateFormat.ROUND_TRIP. This can be a defined DateFormat string, the \"timestamp\" pseudo-format, or a custom format string.",
                    "type": "string"
                },
                "escapeFormulaChars": {
                    "description": "Whether to a prefix values that start with typical formula triggering chars (=,-,+,@).",
                    "type": "boolean"
                },
                "features": {
                    "$ref": "#/definitions/Features",
                    "description": "The feature(s) to convert."
                },
                "fileName": {
                    "description": "When exporting to a shapefile, the file name to use.",
                    "type": "string"
                },
                "generatePrimaryKey": {
                    "description": "Indicates if a primary key should be generated if not found, defaults to true.",
                    "type": "boolean"
                },
                "locale": {
                    "description": "The locale to use for formatting values. Accepts a valid locale code (example: \"inv\", \"fr\" or \"de-AT\"). Default is \"inv\" or invariant culture.",
                    "type": "string"
                },
                "numberFormat": {
                    "description": "The format for numbers. The default is NumberFormat.ROUND_TRIP.",
                    "type": "string"
                },
                "outFields": {
                    "description": "A list of fields to include. Defaults to the FeatureSources PopupTemplate outfields if available, otherwise \"*\" meaning all fields.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "When exporting to a shapefile, this is the spatial reference of the geometry in the shapefile file. The default is WGS84. When importing from shapefile, this is the spatial reference of the geometry in the result."
                },
                "timeFormat": {
                    "description": "The format for time-only fields. The default is TimeFormat.ROUND_TRIP. This can be a defined TimeFormat string, or a custom format string.",
                    "type": "string"
                },
                "useFormattedValues": {
                    "description": "If true, the configured formatters will be run on the raw values in the supplied data and these values will be output with type information if possible. If false, the formatted or presentable values already present in the supplied data will be taken 'as-is'. Field types configured on the input will be ignored and all values will be output as strings.",
                    "type": "boolean"
                }
            },
            "required": [
                "features"
            ],
            "type": "object"
        },
        "ToXLSXConversionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.convert-to-xlsx\" operation.",
            "properties": {
                "dateFormat": {
                    "description": "The format for dates. The default is DateFormat.ROUND_TRIP. This can be a defined DateFormat string, the \"timestamp\" pseudo-format, or a custom format string.",
                    "type": "string"
                },
                "escapeFormulaChars": {
                    "description": "Whether to a prefix values that start with typical formula triggering chars (=,-,+,@).",
                    "type": "boolean"
                },
                "features": {
                    "$ref": "#/definitions/Features",
                    "description": "The feature(s) to convert."
                },
                "generatePrimaryKey": {
                    "description": "Indicates if a primary key should be generated if not found, defaults to true.",
                    "type": "boolean"
                },
                "geometryFields": {
                    "description": "A set of custom field names to use with the selected geometry format.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "geometryFormat": {
                    "$ref": "@vertigis.arcgis-extensions.data.convert.GeometryFormat",
                    "description": "The format for serializing the geometry. The default is WKT."
                },
                "includeHeaderRow": {
                    "description": "Whether to include a header row with field names. Default is true.",
                    "type": "boolean"
                },
                "locale": {
                    "description": "The locale to use for formatting values. Accepts a valid locale code (example: \"inv\", \"fr\" or \"de-AT\"). Default is \"inv\" or invariant culture.",
                    "type": "string"
                },
                "numberFormat": {
                    "description": "The format for numbers. The default is NumberFormat.ROUND_TRIP.",
                    "type": "string"
                },
                "outFields": {
                    "description": "A list of fields to include. Defaults to the FeatureSources PopupTemplate outfields if available, otherwise \"*\" meaning all fields.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "When exporting to XLSX, this is the spatial reference of the geometry in the XLSX file. The default is WGS84. When importing from XLSX, this is the spatial reference of the geometry in the result."
                },
                "sheetName": {
                    "description": "When exporting to XLSX, the name of the resulting work sheet. The default is \"sheet1\".",
                    "type": "string"
                },
                "timeFormat": {
                    "description": "The format for time-only fields. The default is TimeFormat.ROUND_TRIP. This can be a defined TimeFormat string, or a custom format string.",
                    "type": "string"
                },
                "useFormattedValues": {
                    "description": "If true, the configured formatters will be run on the raw values in the supplied data and these values will be output with type information if possible. If false, the formatted or presentable values already present in the supplied data will be taken 'as-is'. Field types configured on the input will be ignored and all values will be output as strings.",
                    "type": "boolean"
                }
            },
            "required": [
                "features"
            ],
            "type": "object"
        },
        "TopologyConnections": {
            "additionalProperties": false,
            "description": "Well known connection points for topological editing.",
            "properties": {
                "edge": {
                    "description": "Enable connections to an edge, defaults to true.",
                    "type": "boolean"
                },
                "vertices": {
                    "description": "Enable connections to vertices, defaults to allow all connections.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "TopologyDestinationProperties": {
            "additionalProperties": false,
            "description": "Configuration for topology destinations.",
            "properties": {
                "destination": {
                    "anyOf": [
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerExtension"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping._SublayerExtension.SublayerExtension"
                        }
                    ],
                    "description": "The destination layer or sublayer extension."
                }
            },
            "required": [
                "destination"
            ],
            "type": "object"
        },
        "TopologyProperties": {
            "additionalProperties": false,
            "description": "Configuration for topological editing and sketching.",
            "properties": {
                "coincidentRadius": {
                    "description": "A multiplier of the distance tolerance associated with the map's spatial reference, which will be used to calculate a 'coincident distance' threshold. Geometries that fall within the coincident distance of each other will qualify as 'coincident' and will be affected by editing operations while topological editing is enabled.\n\nEg. Maps using the Web Mercator spatial reference (WKID 102100) have a tolerance distance of 0.0001 meters; a coincidentRadius multiplier value of 20 means geometries within 0.002 meters of each other would be considered 'coincident.'.\n\nDefaults to 20.",
                    "type": "number"
                },
                "sourceMappings": {
                    "description": "Configuration for topology sources.",
                    "items": {
                        "$ref": "#/definitions/TopologySourceMapping"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "TopologySourceMapping": {
            "additionalProperties": false,
            "description": "Maps topology source layers to destination layers to be considered.",
            "properties": {
                "connections": {
                    "$ref": "#/definitions/TopologyConnections",
                    "description": "Types of topology connections to be considered for this source."
                },
                "destinations": {
                    "description": "The topology destinations, if not provided all destinations will be considered.",
                    "items": {
                        "$ref": "#/definitions/TopologyDestinationProperties"
                    },
                    "type": "array"
                },
                "source": {
                    "anyOf": [
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerExtension"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping._SublayerExtension.SublayerExtension"
                        }
                    ],
                    "description": "The topology source. If omitted the configuration will be applied to all existing sources."
                }
            },
            "type": "object"
        },
        "TrackCustomEventArgs": {
            "additionalProperties": false,
            "description": "Arguments for the 'studio-analytics.track-custom-event' command.",
            "properties": {
                "name": {
                    "description": "The name of the event. The event name should be in kebab-case, present tense, and follow a `{noun phrase}-{verb}` pattern, where `{verb}` is a single word without hyphens. Example: \"parcel-boundary-move\".",
                    "type": "string"
                },
                "payload": {
                    "description": "Optional. Additional event-specific data of interest.",
                    "type": "string"
                }
            },
            "required": [
                "name"
            ],
            "type": "object"
        },
        "TranslatableText": {
            "anyOf": [
                {
                    "$ref": "#/definitions/TranslateOptions"
                },
                {
                    "type": "string"
                }
            ],
            "description": "A translatable string, either a language string or a language string with arguments to pass into it."
        },
        "TranslateOptions": {
            "additionalProperties": false,
            "description": "The available options for the Locale Service translate function.",
            "properties": {
                "args": {
                    "description": "The values to substitute into the format string if it contains substitution placeholders (see utilities/string/format in ArcGIS Extensions API).",
                    "items": {},
                    "type": "array"
                },
                "currency": {
                    "description": "The default unit of currency to use when formatting currency. See {@link utilities /format/number!NumberSettings.currency}.",
                    "type": "string"
                },
                "dateFormat": {
                    "description": "The default format to use when formatting dates. See {@link utilities /format/date!DateFormatter.format}.",
                    "type": "string"
                },
                "defaultValue": {
                    "description": "An optional default value to fallback to when a language resource key does not exist. Web only.",
                    "type": "string"
                },
                "fractionalDigits": {
                    "description": "The default number of digits to show after the decimal point when formatting numbers. See {@link utilities /format/number!NumberSettings.fractionalDigits}.",
                    "type": "number"
                },
                "locale": {
                    "description": "The locale to use for translation. If not specified, the current locale will be used.",
                    "type": "string"
                },
                "numberFormat": {
                    "description": "The default format to use when formatting numbers. See {@link utilities /format/number!NumberFormatter.format}.",
                    "type": "string"
                },
                "text": {
                    "description": "The string to translate. If the text is a language resource key, then a localized version of that resource will be used if one exists, otherwise the original text is returned.",
                    "type": "string"
                },
                "timeFormat": {
                    "description": "The default format to use when formatting times. See {@link utilities /format/time!TimeFormatter.format}.",
                    "type": "string"
                },
                "timeZone": {
                    "description": "The time zone of a date being formatted. See {@link utilities /format/date!DateFormatter.timeZone}.",
                    "type": "string"
                }
            },
            "required": [
                "text"
            ],
            "type": "object"
        },
        "UIDensity": {
            "description": "Specifies the visual density of components in the application.",
            "enum": [
                "compact",
                "standard"
            ],
            "type": "string"
        },
        "UpdateChartDefinitionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the charts.update-definition command.",
            "properties": {
                "chart": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The chart to update, referenced by chart model or its ID."
                },
                "definition": {
                    "$ref": "highcharts.highcharts.Options",
                    "description": "The Highcharts definition with which to update the chart."
                }
            },
            "required": [
                "chart",
                "definition"
            ],
            "type": "object"
        },
        "UpdateChartFeaturesArgs": {
            "additionalProperties": false,
            "description": "Arguments for various commands that affect a chart's features.",
            "properties": {
                "chart": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The chart(s) to update, referenced by layout ID or chart model."
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                }
            },
            "required": [
                "chart"
            ],
            "type": "object"
        },
        "UpdateKpiCardDefinitionArgs": {
            "additionalProperties": false,
            "description": "Arguments for the kpi.update-definition command.",
            "properties": {
                "kpiCard": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The KPI card model or its ID."
                },
                "referenceExpression": {
                    "description": "The stringified Arcade script used to calculate the 'reference' token of the KPI card.",
                    "type": "string"
                },
                "valueExpression": {
                    "description": "The stringified Arcade script used to calculate the 'value' token of the KPI Card.",
                    "type": "string"
                }
            },
            "required": [
                "kpiCard"
            ],
            "type": "object"
        },
        "UpdateKpiCardFeaturesArgs": {
            "additionalProperties": false,
            "description": "Arguments for various commands that affect a KPI card's features.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "kpiCard": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The KPI card to update, referenced by KPI card model or its ID."
                }
            },
            "required": [
                "kpiCard"
            ],
            "type": "object"
        },
        "UpdateLayerArgs": {
            "additionalProperties": false,
            "description": "Arguments for the map.update-layer command.",
            "properties": {
                "layerJson": {
                    "$ref": "#/definitions/esri.rest-api.OperationalLayerJson.OperationalLayerJson",
                    "description": "The web map spec JSON used to update the Layer."
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "The layer to update. If more than one layer is present, only the first will be updated and the rest will be ignored."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The associated map(s) for the layer(s)."
                }
            },
            "required": [
                "layerJson",
                "layers"
            ],
            "type": "object"
        },
        "UpdateLocationMarkerArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"location-marker.update\" command.",
            "properties": {
                "color": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.Color"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                            "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null. See {@link https://developers.arcgis.com/web-map-specification/objects/color/} {@link https://developers.arcgis.com/web-scene-specification/objects/color/}."
                        }
                    ],
                    "description": "Indicates the color for the Marker. This property is only used if the symbol is a well-known ID."
                },
                "fov": {
                    "description": "Indicates the horizontal field of view in degrees for the marker. Ranges from 0 to 360. This property is currently only supported by the \"dot\" symbol.",
                    "type": "number"
                },
                "geometry": {
                    "$ref": "#/definitions/esri.Geometry",
                    "description": "The location of the Marker."
                },
                "heading": {
                    "description": "The clockwise rotation of the symbol in the horizontal plane in degrees.",
                    "type": "number"
                },
                "id": {
                    "description": "The ID of the Marker.",
                    "type": "string"
                },
                "maps": {
                    "$ref": "MapsRef",
                    "description": "The map(s) for the Marker. If maps are undefined, all maps will be targeted."
                },
                "onUpdate": {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.support.Action.Action",
                    "description": "Optional Action to perform when a Marker is updated."
                },
                "scale": {
                    "description": "The scale of the Marker, defaults to 1.",
                    "type": "number"
                },
                "symbol": {
                    "anyOf": [
                        {
                            "items": {
                                "$ref": "#/definitions/MarkerSymbolConfig"
                            },
                            "type": "array"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The symbol used to display the marker. The symbol can be an array of Symbols or one of the following well-known IDs: \"dot\", \"callout\", or \"exclamation\". Defaults to \"dot\"."
                },
                "tilt": {
                    "description": "In 3D, the tilt angle of the location marker symbol. Ranges from 0 (straight down) to 180 (straight up) degrees. Defaults to 90 (straight ahead).",
                    "type": "number"
                },
                "userDraggable": {
                    "description": "Sets whether the Marker should be user draggable.",
                    "type": "boolean"
                }
            },
            "required": [
                "id"
            ],
            "type": "object"
        },
        "UpdateResultsFeaturesArgs": {
            "additionalProperties": false,
            "description": "Arguments for various commands that affect a result component's features.",
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "results": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The result component to update, referenced by results model or its ID. Web only."
                },
                "resultsSetId": {
                    "description": "If specified the results will be updated in the named results set only. Results sets with the prefix 'vgs' are reserved for system use and should not be used unless you are intentionally targeting a well known results set such as the 'vgs-starred' results. Web only.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "UpdateSessionArgs": {
            "additionalProperties": false,
            "description": "Used to update an in-progress interactive feature editing session with new attributes, attachments or geometry. Web only.",
            "properties": {
                "attachments": {
                    "description": "A collection of attachments that apply or are to be applied to the currently edited feature.",
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.data.Attachment.Attachment"
                    },
                    "type": "array"
                },
                "attributes": {
                    "description": "A collection of attributes that apply or are to be applied to the currently edited feature."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to use for the command/operation."
                }
            },
            "type": "object"
        },
        "UploadDataArgs": {
            "additionalProperties": false,
            "description": "Arguments for the \"results.upload-data-args-to-feature\" operation.",
            "properties": {
                "data": {
                    "description": "The cells in the table.",
                    "items": {
                        "items": {
                            "$ref": "#/definitions/@vertigis.arcgis-extensions.data.convert.CellData"
                        },
                        "type": "array"
                    },
                    "type": "array"
                },
                "dateFormat": {
                    "description": "The format for dates. The default is DateFormat.ROUND_TRIP. This can be a defined DateFormat string, the \"timestamp\" pseudo-format, or a custom format string.",
                    "type": "string"
                },
                "displayField": {
                    "description": "Typically a string field with text formatted for display.",
                    "type": "string"
                },
                "escapeFormulaChars": {
                    "description": "Whether to a prefix values that start with typical formula triggering chars (=,-,+,@).",
                    "type": "boolean"
                },
                "generatePrimaryKey": {
                    "description": "Indicates if a primary key should be generated if not found, defaults to true.",
                    "type": "boolean"
                },
                "geometryFields": {
                    "description": "The names of the geometry field(s).",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "geometryFormat": {
                    "$ref": "@vertigis.arcgis-extensions.data.convert.GeometryFormat",
                    "description": "The format of the geometry in this table."
                },
                "inSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "The spatial reference of the geometry in this table."
                },
                "includeHeaderRow": {
                    "description": "The header row contains column names.",
                    "type": "boolean"
                },
                "locale": {
                    "description": "The locale to use for formatting values. Accepts a valid locale code (example: \"inv\", \"fr\" or \"de-AT\"). Default is \"inv\" or invariant culture.",
                    "type": "string"
                },
                "numberFormat": {
                    "description": "The format for numbers. The default is NumberFormat.ROUND_TRIP.",
                    "type": "string"
                },
                "outFields": {
                    "description": "A list of fields to include. Defaults to the FeatureSources PopupTemplate outfields if available, otherwise \"*\" meaning all fields.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "outSpatialReference": {
                    "$ref": "#/definitions/esri.SpatialReference",
                    "description": "The output spatial reference of the converted table."
                },
                "primaryKeyField": {
                    "description": "Optionally the primary key field.",
                    "type": "string"
                },
                "timeFormat": {
                    "description": "The format for time-only fields. The default is TimeFormat.ROUND_TRIP. This can be a defined TimeFormat string, or a custom format string.",
                    "type": "string"
                },
                "title": {
                    "description": "A title for this dataset.",
                    "type": "string"
                },
                "useFormattedValues": {
                    "description": "If true, the configured formatters will be run on the raw values in the supplied data and these values will be output with type information if possible. If false, the formatted or presentable values already present in the supplied data will be taken 'as-is'. Field types configured on the input will be ignored and all values will be output as strings.",
                    "type": "boolean"
                }
            },
            "required": [
                "data"
            ],
            "type": "object"
        },
        "Vector2D": {
            "additionalProperties": false,
            "description": "A representation of a 2D vector or point.",
            "properties": {
                "x": {
                    "description": "The x component.",
                    "type": "number"
                },
                "y": {
                    "description": "The y component.",
                    "type": "number"
                }
            },
            "required": [
                "x",
                "y"
            ],
            "type": "object"
        },
        "ViewMode": {
            "description": "Specifies whether a results list component should display results grouped by source.",
            "enum": [
                "grouped",
                "ungrouped"
            ],
            "type": "string"
        },
        "ViewerCapabilities": {
            "additionalProperties": false,
            "description": "Result of the \"viewer.get-capabilities\" operation.",
            "properties": {
                "aspectRatio": {
                    "description": "The aspect ratio of the viewer's host element (width / height).",
                    "type": "number"
                },
                "height": {
                    "description": "The height of the viewer's host element in pixels.",
                    "type": "number"
                },
                "orientation": {
                    "$ref": "#/definitions/Orientation",
                    "description": "The orientation of the viewer's host element. The orientation is portrait if height >= width."
                },
                "supportsHover": {
                    "description": "Whether the device supports hover.",
                    "type": "boolean"
                },
                "supportsPointer": {
                    "description": "Whether the device supports a pointer (e.g. mouse).",
                    "type": "boolean"
                },
                "supportsTouch": {
                    "description": "Whether the device supports touch.",
                    "type": "boolean"
                },
                "width": {
                    "description": "The width of the viewer's host element in pixels.",
                    "type": "number"
                }
            },
            "required": [
                "aspectRatio",
                "height",
                "orientation",
                "supportsHover",
                "supportsPointer",
                "supportsTouch",
                "width"
            ],
            "type": "object"
        },
        "VisualState": {
            "description": "A component's visual state. The values will vary based on the component type.",
            "type": "string"
        },
        "WatchEventHandleProperties": {
            "additionalProperties": false,
            "description": "Properties used to set a series of watch handles and/or event listeners on an item.",
            "properties": {
                "item": {
                    "$ref": "#/definitions/ModelRef",
                    "description": "The item whose properties will be watched for changes and/or events."
                },
                "watch": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/WatchEventProperty"
                        },
                        {
                            "items": {
                                "anyOf": [
                                    {
                                        "$ref": "#/definitions/WatchEventProperty"
                                    },
                                    {
                                        "type": "string"
                                    }
                                ]
                            },
                            "type": "array"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "One or more properties on the item that will be watched for changes and/or events. Any strings will be used as propertyPaths that will be watched for changes; for this to work, the item and all properties referenced within the path (except for the last) must implement {@link Observable}."
                }
            },
            "required": [
                "item",
                "watch"
            ],
            "type": "object"
        },
        "WatchEventProperty": {
            "additionalProperties": false,
            "description": "Properties on an item to watch, with an optional event name to listen for.",
            "properties": {
                "eventName": {
                    "description": "The name of the event to listen for. If no propertyPath is included, the listener will go directly on the watched item.",
                    "type": "string"
                },
                "propertyPath": {
                    "description": "The path used to target a property on an item that will be watched for events. The watched property must implement {@link Evented}; this will effectively do `item[propertyPath].on(eventName)`.",
                    "type": "string"
                }
            },
            "required": [
                "eventName"
            ],
            "type": "object"
        },
        "WebAddAttachmentArgs": {
            "additionalProperties": false,
            "description": "VertiGIS Studio Web's arguments for the \"edit.add-attachment\" command. Not supported by Mobile.",
            "properties": {
                "blobs": {
                    "anyOf": [
                        {
                            "$ref": "File"
                        },
                        {
                            "items": {
                                "$ref": "File"
                            },
                            "type": "array"
                        }
                    ],
                    "description": "The blob(s) that contains the file attachment(s). If multiple attachments are specified, all attachment will be added to the feature(s)."
                },
                "features": {
                    "$ref": "#/definitions/Features",
                    "description": "The feature(s) to add the attachment(s) to. If multiple features are specified, the attachment(s) will be added to all features."
                }
            },
            "required": [
                "blobs",
                "features"
            ],
            "type": "object"
        },
        "WebOpenUrlArgs": {
            "additionalProperties": false,
            "description": "VertiGIS Studio Web's arguments for the system.open-url command.",
            "properties": {
                "coordinateOption": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/CoordinateOptionProperties"
                        },
                        {
                            "$ref": "#/definitions/Model"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The coordinate option to use when formatting coordinate tokens. Valid options must support latitude and longitude. Can be a reference to an existing 'coordinate-option' item, or inline JSON defining a coordinate option item."
                },
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "geometry": {
                    "$ref": "#/definitions/GeometryLike",
                    "description": "The geometry to use for the command/operation."
                },
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "Layer(s) to use for the command/operation."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "Map(s) to use for the command/operation."
                },
                "numberFormatterLocale": {
                    "description": "The locale to use for number token substitution. Accepts a valid locale code (example: \"en\", \"fr\" or \"de-AT\"), or \"device\" or \"invariant\" which will use the device's current culture or the invariant culture, respectively. Default is invariant culture.",
                    "type": "string"
                },
                "url": {
                    "description": "The URL to open.",
                    "type": "string"
                }
            },
            "required": [
                "url"
            ],
            "type": "object"
        },
        "ZoomToLayerArgs": {
            "additionalProperties": false,
            "description": "Arguments for the map.zoom-to-layer-extent and map.zoom-to-layer-visible-scale commands.",
            "properties": {
                "layers": {
                    "$ref": "#/definitions/LayersLike",
                    "description": "The layer(s) to zoom to."
                },
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) to zoom. If omitted, all maps will be zoomed."
                }
            },
            "required": [
                "layers"
            ],
            "type": "object"
        },
        "ZoomToScaleArgs": {
            "additionalProperties": false,
            "description": "Arguments for the map.zoom-to-scale command.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) to zoom. If omitted, all maps will be zoomed."
                },
                "scale": {
                    "description": "The scale to zoom to.",
                    "type": "number"
                }
            },
            "required": [
                "scale"
            ],
            "type": "object"
        },
        "ZoomToViewpointArgs": {
            "additionalProperties": false,
            "description": "Arguments for the map.zoom-to-viewpoint command.",
            "properties": {
                "maps": {
                    "$ref": "MapsLike",
                    "description": "The map(s) to zoom. If omitted, all maps will be zoomed."
                },
                "viewpoint": {
                    "anyOf": [
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping.Bookmark.BookmarkProperties"
                        },
                        {
                            "$ref": "#/definitions/esri.Viewpoint"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.ViewpointJson.ViewpointJson"
                        },
                        {
                            "$ref": "@vertigis.arcgis-extensions.mapping.Bookmark.Bookmark"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "The viewpoint to zoom to."
                }
            },
            "required": [
                "viewpoint"
            ],
            "type": "object"
        },
        "app.create-project": {
            "description": "Creates app config for a project, based on the current state of the application. Deprecated; use project.create instead. Web only.",
            "enum": [
                "app.create-project"
            ]
        },
        "app.create-project:output": {
            "$ref": "#/definitions/AppConfig"
        },
        "app.get-persistent-data": {
            "description": "Gets stored data, specified by the arguments (key and scope).",
            "enum": [
                "app.get-persistent-data"
            ]
        },
        "app.get-persistent-data:input": {
            "$ref": "#/definitions/StorageDataArgs"
        },
        "app.get-persistent-data:output": {},
        "app.get-version": {
            "description": "Gets the current version stamped in the application (i.e. the version of the viewer this application was created with). Web only.",
            "enum": [
                "app.get-version"
            ]
        },
        "app.get-version:output": {
            "type": "string"
        },
        "app.load-project": {
            "description": "Loads a project's app config and updates the application's current state, accordingly. If more than one file is provided, only the first will be loaded. Deprecated; use project.load instead. Web only.",
            "enum": [
                "app.load-project"
            ]
        },
        "app.load-project:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/AppConfig"
                },
                {
                    "$ref": "Blob"
                },
                {
                    "items": {
                        "$ref": "Blob"
                    },
                    "type": "array"
                }
            ]
        },
        "arcade.run": {
            "description": "Runs a stringified Arcade script.\n\n- If only a string is passed in as an argument, it is interpreted as an   executeScript.\n- If an executeScript is provided, the operation will return its result.\n- If only a canExecute script is provided and it returns a truthy result,   the operation will return its input arguments.\n- If a canExecuteScript returns a falsy value, the operation will throw a   `Cancellation`.\n\n**Example:** Use an Arcade script to query a portal for a featureset, and return the area in square kilometers of the first feature. The output type of this operation is determined by the Arcade script, see https://developers.arcgis.com/arcade/function-reference/ for more information.\n\n```\n{\n    \"executeScript\": \"Area(First(FeatureSetByPortalItem(Portal(\\\"https://www.arcgis.com\\\"),\\\"6200db0b80de4341ae8ee2b62d606e67\\\",0,[\\\"*\\\"],true)),\\\"square-kilometers\\\");\"\n}\n```",
            "enum": [
                "arcade.run"
            ]
        },
        "arcade.run:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/RunArcadeArgs"
                },
                {
                    "type": "string"
                }
            ]
        },
        "arcade.run:output": {},
        "auth.get-current-user": {
            "description": "Gets the user that is currently signed into the application.",
            "enum": [
                "auth.get-current-user"
            ]
        },
        "auth.get-current-user:output": {
            "$ref": "Principal"
        },
        "auth.is-sign-in-available": {
            "description": "Check if sign-in is currently supported by the authentication manager. Web only.",
            "enum": [
                "auth.is-sign-in-available"
            ]
        },
        "auth.is-sign-in-available:output": {
            "type": "boolean"
        },
        "auth.sign-in": {
            "description": "Initiates user sign-in if they aren't already signed in. The argument indicates whether or not the map should be reloaded when the sign-in is complete. This argument is optional and only supported by VertiGIS Studio Mobile.",
            "enum": [
                "auth.sign-in"
            ]
        },
        "auth.sign-in:input": {
            "type": [
                "null",
                "boolean"
            ]
        },
        "auth.sign-out": {
            "description": "Signs the user out. The argument indicates whether or not the map should be reloaded when the sign-out is complete. This argument is optional and only supported by VertiGIS Studio Mobile.",
            "enum": [
                "auth.sign-out"
            ]
        },
        "auth.sign-out:input": {
            "type": [
                "null",
                "boolean"
            ]
        },
        "basemap.get-all": {
            "description": "Gets all configured basemaps.\n\nHaving argument:\n\n- Multiple maps: the union of all basemap options from each\n- No maps: the union of all basemap options for every map in the   application.",
            "enum": [
                "basemap.get-all"
            ]
        },
        "basemap.get-all:input": {
            "$ref": "MapsLike"
        },
        "basemap.get-all:output": {
            "items": {
                "$ref": "@vertigis.arcgis-extensions.mapping.BasemapExtension.BasemapExtension"
            },
            "type": "array"
        },
        "basemap.get-current": {
            "description": "Gets currently selected basemap for the given map. If more than one map is specified, only the first map is used.",
            "enum": [
                "basemap.get-current"
            ]
        },
        "basemap.get-current:input": {
            "$ref": "MapsLike"
        },
        "basemap.get-current:output": {
            "$ref": "@vertigis.arcgis-extensions.mapping.BasemapExtension.BasemapExtension"
        },
        "basemap.set": {
            "description": "Switch to a configured basemap.",
            "enum": [
                "basemap.set"
            ]
        },
        "basemap.set:input": {
            "$ref": "#/definitions/SetBasemapArgs"
        },
        "charts.add-features": {
            "description": "Adds one or more features to charts. If `chart` is specified, then only the given chart will be updated, otherwise all charts will. Web only.",
            "enum": [
                "charts.add-features"
            ]
        },
        "charts.add-features:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/UpdateChartFeaturesArgs"
                }
            ]
        },
        "charts.clear": {
            "description": "Clear features from active charts. If a chart is specified, then only the given chart will be updated, otherwise all charts will. Web only.",
            "enum": [
                "charts.clear"
            ]
        },
        "charts.clear:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            ]
        },
        "charts.display": {
            "description": "Updates charts with provided features. Only activated charts that receive features from all required feature sources will displayed. Web only.",
            "enum": [
                "charts.display"
            ]
        },
        "charts.display:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/UpdateChartFeaturesArgs"
                }
            ]
        },
        "charts.get-definition": {
            "description": "Gets the definition of a chart that corresponds to the ID or the ChartModel instance that's passed in as an argument. Web only.",
            "enum": [
                "charts.get-definition"
            ]
        },
        "charts.get-definition:input": {
            "$ref": "#/definitions/ModelRef"
        },
        "charts.get-definition:output": {
            "$ref": "highcharts.highcharts.Options"
        },
        "charts.get-features": {
            "description": "Returns the current set of features from all active charts. Web only.",
            "enum": [
                "charts.get-features"
            ]
        },
        "charts.get-features:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            ]
        },
        "charts.get-features:output": {
            "$ref": "#/definitions/Features"
        },
        "charts.remove-features": {
            "description": "Remove one or more features from active charts. If `chart` is specified, then only the given chart will be updated, otherwise all charts will. Web only.",
            "enum": [
                "charts.remove-features"
            ]
        },
        "charts.remove-features:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/UpdateChartFeaturesArgs"
                }
            ]
        },
        "charts.update-definition": {
            "description": "Updates the definition of a chart. Web only.",
            "enum": [
                "charts.update-definition"
            ]
        },
        "charts.update-definition:input": {
            "$ref": "#/definitions/UpdateChartDefinitionArgs"
        },
        "drawing.create-graphics": {
            "description": "Creates graphics.\n\nIn Web, creates graphics out of GeometryLike or CreateGraphicsArgs, with the current symbols that are set on the DrawManager.\n\nIn Mobile, creates graphics from the given CreateGraphicsArgs or CreateGraphicsArgs[] (or some GeometryLike args). Any provided symbol parameter is used, otherwise a default symbol is used.",
            "enum": [
                "drawing.create-graphics"
            ]
        },
        "drawing.create-graphics:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/CreateGraphicsResult"
                },
                {
                    "$ref": "#/definitions/esri.Graphic"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/esri.Geometry"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                },
                {
                    "$ref": "#/definitions/esri.FeatureSet"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Graphic"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Geometry"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/CreateGraphicsArgs"
                },
                {
                    "items": {
                        "$ref": "#/definitions/CreateGraphicsArgs"
                    },
                    "type": "array"
                }
            ]
        },
        "drawing.create-graphics:output": {
            "$ref": "#/definitions/CreateGraphicsResult"
        },
        "drawing.edit-symbol": {
            "description": "Opens the symbol editor toolbox for the specified geometry or type. Web only.",
            "enum": [
                "drawing.edit-symbol"
            ]
        },
        "drawing.edit-symbol:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.Symbol"
                },
                {
                    "$ref": "#/definitions/EditSymbolArgs"
                }
            ]
        },
        "drawing.edit-symbol:output": {
            "$ref": "#/definitions/EditSymbolResult"
        },
        "drawing.get-default-symbol": {
            "description": "Gets the value of the default point, line, or polygon symbol for the provided geometry type. Web only.",
            "enum": [
                "drawing.get-default-symbol"
            ]
        },
        "drawing.get-default-symbol3-d": {
            "description": "Gets the value of the default 3D point, line, or polygon symbol for the provided geometry type. Web only.",
            "enum": [
                "drawing.get-default-symbol3-d"
            ]
        },
        "drawing.get-default-symbol3-d:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/GetDefaultSymbolArgs"
                },
                {
                    "enum": [
                        "extent",
                        "mesh",
                        "multipatch",
                        "multipoint",
                        "point",
                        "polygon",
                        "polyline"
                    ],
                    "type": "string"
                }
            ]
        },
        "drawing.get-default-symbol3-d:output": {
            "$ref": "#/definitions/DrawingSymbolConfig"
        },
        "drawing.get-default-symbol:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/GetDefaultSymbolArgs"
                },
                {
                    "enum": [
                        "extent",
                        "mesh",
                        "multipatch",
                        "multipoint",
                        "point",
                        "polygon",
                        "polyline"
                    ],
                    "type": "string"
                }
            ]
        },
        "drawing.get-default-symbol:output": {
            "$ref": "#/definitions/DrawingSymbolConfig"
        },
        "drawing.set-default-symbol": {
            "description": "Sets the value of the default point, line, or polygon symbol. The symbol can be configured with an instance of the Esri symbol or with the Esri WebMap JSON. Web only.\n\n**Example:** Set the default point symbol to a square.\n\n```\n{\n    \"type\": \"esriSMS\",\n    \"color\": [251, 43, 17, 85],\n    \"size\": 12,\n    \"style\": \"esriSMSSquare\",\n    \"outline\": {\n        \"type\": \"esriSLS\",\n        \"color\": [251, 43, 17, 255],\n        \"width\": 1.5,\n        \"style\": \"esriSLSSolid\"\n    }\n}\n```",
            "enum": [
                "drawing.set-default-symbol"
            ]
        },
        "drawing.set-default-symbol:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PictureMarkerSymbol"
                },
                {
                    "$ref": "#/definitions/esri.SimpleLineSymbol"
                },
                {
                    "$ref": "#/definitions/esri.SimpleFillSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PictureFillSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PointSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.LineSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.PolygonSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.TextSymbol"
                },
                {
                    "$ref": "#/definitions/HasSymbol"
                }
            ]
        },
        "drawing.set-symbol": {
            "description": "Sets the symbol on a collection of Graphics. The symbol can be configured with an instance of the Esri symbol or with the Esri WebMap JSON. Web only.",
            "enum": [
                "drawing.set-symbol"
            ]
        },
        "drawing.set-symbol:input": {
            "additionalProperties": false,
            "properties": {
                "graphics": {
                    "$ref": "#/definitions/GraphicsLike",
                    "description": "Graphics to use for the command/operation."
                },
                "symbol": {
                    "$ref": "#/definitions/SymbolLike",
                    "description": "The symbol to use for the command/operation."
                }
            },
            "type": "object"
        },
        "drawing.set-sync": {
            "description": "Sets a value that determines whether drawings will be synced automatically across maps.",
            "enum": [
                "drawing.set-sync"
            ]
        },
        "drawing.set-sync:input": {
            "type": "boolean"
        },
        "edit.add-attachment": {
            "description": "Create and add an attachment to a provided feature, using the given attachment data.",
            "enum": [
                "edit.add-attachment"
            ]
        },
        "edit.add-attachment:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/AddAttachmentArgs"
                },
                {
                    "$ref": "#/definitions/WebAddAttachmentArgs"
                }
            ]
        },
        "edit.add-feature": {
            "description": "Adds a feature to a particular layer. `Features` and `EditCommandArgs` are not supported on Mobile.",
            "enum": [
                "edit.add-feature"
            ]
        },
        "edit.add-feature:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/EditCommandArgs"
                }
            ]
        },
        "edit.cancel": {
            "description": "Cancels active editing sessions and discards any changes. If a feature is supplied only the sessions using that feature will be cancelled. Web only.",
            "enum": [
                "edit.cancel"
            ]
        },
        "edit.cancel:input": {
            "$ref": "#/definitions/Features"
        },
        "edit.complete": {
            "description": "Completes active editing sessions and submits any changes made to the attributes, attachments or geometry to the feature source. If a feature is supplied, only sessions using that feature will close. Web only.",
            "enum": [
                "edit.complete"
            ]
        },
        "edit.complete:input": {
            "$ref": "#/definitions/Features"
        },
        "edit.create-feature": {
            "description": "Creates a new feature for the supplied feature source from the supplied configuration. This operation does not add the feature to the source, but returns the feature for further processing. Web only.",
            "enum": [
                "edit.create-feature"
            ]
        },
        "edit.create-feature:input": {
            "$ref": "#/definitions/CreateFeatureArgs"
        },
        "edit.create-feature:output": {
            "$ref": "#/definitions/HasFeatures"
        },
        "edit.delete-attachment": {
            "description": "Deletes attachments from feature(s).",
            "enum": [
                "edit.delete-attachment"
            ]
        },
        "edit.delete-attachment:input": {
            "$ref": "#/definitions/DeleteAttachmentArgs"
        },
        "edit.delete-features": {
            "description": "Deletes the given feature or features from their feature sources. `EditCommandArgs` is not supported on Mobile.",
            "enum": [
                "edit.delete-features"
            ]
        },
        "edit.delete-features:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/EditCommandArgs"
                }
            ]
        },
        "edit.display-add-feature": {
            "description": "Begin an interactive feature editing session with a new feature. `DisplayAddFeatureArgs` is not supported on Mobile.\n\n**Example:** Create and allow the user to edit a new feature with an initial attributes collection. If no geometry is provided in context they will be asked to select one.\n\n_Note:_ $map1.map.extension is the output of a 'Get Map' activity run in Web by Workflow. When the map and/or layer are provided in the context of a command chain these parameters can be omitted.\n\n```\n{\n    \"editAttributes\": true,\n    \"editGeometry\": true,\n    \"featureAttributes\": {\n        \"ASSET_ID\": \"WFH001234\"\n    },\n    \"layers\": \"Victoria_Fire_Hydrants_8780\",\n    \"maps\": $map1.map.extension\n}\n```",
            "enum": [
                "edit.display-add-feature"
            ]
        },
        "edit.display-add-feature:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                },
                {
                    "$ref": "#/definitions/DisplayAddFeatureArgs"
                }
            ]
        },
        "edit.display-add-related-feature": {
            "description": "Begin an interactive feature editing session for a new related feature. The specified feature will be the original feature that the new related feature will be added to in the relationship.\n\n**Example:** Create and edit a new record on a related table, with the option to add attachments. Make sure the 'COMMENTS' field is included in the editable attributes and make it required.\n\n_Notes:_.\n\n1. The feature used here must come from the running viewer, and cannot be an    ad-hoc feature created from a JSON object. For example, you can use    the output of `results.get-active-features`, or the feature provided    in a command chain context.\n2. `editableExpression` and `requiredExpression` both take an arcade    expression, and here the string \"true\" is just a simple arcade    expression that always returns true. You can also use a more complex    expression, or reference one from your webmap.\n\n```\n{\n    \"editAttributes\": true,\n    \"editAttachments\": true,\n    \"features\": $runOperation1.result,\n    \"relationshipId\": \"1\",\n    \"fieldElements\": [\n        {\n            \"fieldName\": \"COMMENTS\",\n            \"editableExpression\": \"true\",\n            \"requiredExpression\": \"true\"\n        }\n    ]\n}\n```",
            "enum": [
                "edit.display-add-related-feature"
            ]
        },
        "edit.display-add-related-feature:input": {
            "$ref": "#/definitions/DisplayAddRelatedFeatureArgs"
        },
        "edit.display-update-feature": {
            "description": "Begin an interactive feature editing session with an existing feature. `DisplayUpdateFeatureArgs` is not supported on Mobile.",
            "enum": [
                "edit.display-update-feature"
            ]
        },
        "edit.display-update-feature:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "#/definitions/DisplayUpdateFeatureArgs"
                }
            ]
        },
        "edit.update-feature": {
            "description": "Updates a layer feature or features. Edits to the geometry and attributes of the supplied features will be committed to their respective feature sources. `Features` and `EditCommandArgs` are not supported on Mobile.",
            "enum": [
                "edit.update-feature"
            ]
        },
        "edit.update-feature:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/EditCommandArgs"
                }
            ]
        },
        "edit.update-session": {
            "description": "Updates an in-progress interactive feature editing session with new attributes, attachments, or geometry. These will be immediately applied to the current session, if one is active. Web only.",
            "enum": [
                "edit.update-session"
            ]
        },
        "edit.update-session:input": {
            "$ref": "#/definitions/UpdateSessionArgs"
        },
        "esri.Color": {
            "$ref": "esri/Color"
        },
        "esri.Content": {
            "$ref": "esri/popup/content/AttachmentsContent"
        },
        "esri.Extent": {
            "$ref": "esri/geometry/Extent"
        },
        "esri.FeatureSet": {
            "$ref": "esri/rest/support/FeatureSet"
        },
        "esri.FeatureType": {
            "$ref": "esri/layers/support/FeatureType"
        },
        "esri.Field": {
            "$ref": "esri/layers/support/Field"
        },
        "esri.GeographicTransformation": {
            "$ref": "esri/geometry/support/GeographicTransformation"
        },
        "esri.Geometry": {
            "$ref": "esri/geometry/Geometry"
        },
        "esri.Graphic": {
            "$ref": "esri/Graphic"
        },
        "esri.Layer": {
            "$ref": "esri/layers/Layer"
        },
        "esri.LineSymbol3D": {
            "$ref": "esri/symbols/LineSymbol3D"
        },
        "esri.PictureFillSymbol": {
            "$ref": "esri/symbols/PictureFillSymbol"
        },
        "esri.PictureMarkerSymbol": {
            "$ref": "esri/symbols/PictureMarkerSymbol"
        },
        "esri.Point": {
            "$ref": "esri/geometry/Point"
        },
        "esri.PointSymbol3D": {
            "$ref": "esri/symbols/PointSymbol3D"
        },
        "esri.PolygonSymbol3D": {
            "$ref": "esri/symbols/PolygonSymbol3D"
        },
        "esri.PopupTemplate": {
            "$ref": "esri/PopupTemplate"
        },
        "esri.PortalItem": {
            "$ref": "esri/portal/PortalItem"
        },
        "esri.SimpleFillSymbol": {
            "$ref": "esri/symbols/SimpleFillSymbol"
        },
        "esri.SimpleLineSymbol": {
            "$ref": "esri/symbols/SimpleLineSymbol"
        },
        "esri.SimpleMarkerSymbol": {
            "$ref": "esri/symbols/SimpleMarkerSymbol"
        },
        "esri.SpatialReference": {
            "$ref": "esri/geometry/SpatialReference"
        },
        "esri.Sublayer": {
            "$ref": "esri/layers/buildingSublayers/BuildingComponentSublayer"
        },
        "esri.Symbol": {
            "$ref": "esri/symbols/Symbol"
        },
        "esri.TextSymbol": {
            "$ref": "esri/symbols/TextSymbol"
        },
        "esri.Viewpoint": {
            "$ref": "esri/Viewpoint"
        },
        "esri.rest-api.AnnotationLayerJson.AnnotationLayerJson": {
            "additionalProperties": false,
            "description": "Annotation layers can be created by referencing a layer from a feature service. Annotation layers honor any feature templates configured in the source document.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types."
                },
                "disablePopup": {
                    "description": "Indicates whether to allow a client to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "enableEditing": {
                    "description": "Indicates whether a client can add, remove or update features in the layer.",
                    "type": "boolean"
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "ArcGISAnnotationLayer",
                    "description": "The layer type.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A PopupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer.If the layer is not from a web service but rather a feature collection, than the url property is omitted.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                },
                "visibleLayers": {
                    "description": "An array of sublayer ids that should appear visible. These ids refer to subsets of the Annotation features in the AnnotationLayer, identified by their AnnotationClassId.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.BuildingSceneLayerJson.AuthoringInfoFilterBlockJson": {
            "additionalProperties": false,
            "description": "The filter authoring info object contains metadata about the authoring process for creating a filter block object. This allows the authoring client to save specific, overridable settings. The next time it is accessed via an authoring client, their selections are remembered. Non-authoring clients can ignore it.",
            "properties": {
                "filterTypes": {
                    "description": "Array of defined filter types. Each filter type has an array of filter values.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.AuthoringInfoFilterTypeJson"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "esri.rest-api.BuildingSceneLayerJson.AuthoringInfoFilterTypeJson": {
            "additionalProperties": false,
            "description": "The file authoring information for a filter, including the filter type and its value settings.",
            "properties": {
                "filterType": {
                    "description": "Represents the filter type name. Name is a unique identifier.",
                    "type": "string"
                },
                "filterValues": {
                    "description": "Array of filter values. Filter values are the attributes that can be stored for individual fields in a layer.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "esri.rest-api.BuildingSceneLayerJson.BuildingSceneLayerJson": {
            "additionalProperties": false,
            "description": "The BuildingSceneLayer is a layer type designed for on-demand streaming and displaying building data.",
            "properties": {
                "activeFilterId": {
                    "description": "Specifies the id of the currently active filter.",
                    "type": "string"
                },
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "filters": {
                    "description": "A list of filters available for this layer. Overrides filters defined on the service.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.FilterJson"
                    },
                    "type": "array"
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "Additional properties that can define an elevation offset for the layer."
                },
                "layerType": {
                    "const": "BuildingSceneLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "sublayers": {
                    "description": "An array of objects specifying overrides for building scene layer sublayers.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.BuildingSceneSublayerJson.BuildingSceneSublayerJson"
                    },
                    "type": "array"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the service.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.BuildingSceneLayerJson.FilterAuthoringInfoCheckboxJson": {
            "additionalProperties": false,
            "description": "Client UI with checkbox representation for each filter type and filter value.",
            "properties": {
                "filterBlocks": {
                    "description": "Array of filter block authoring infos.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.AuthoringInfoFilterBlockJson"
                    },
                    "type": "array"
                },
                "type": {
                    "const": "checkbox",
                    "description": "Type of filter authoring info. Value of this property must be checkbox.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.BuildingSceneLayerJson.FilterBlockJson": {
            "additionalProperties": false,
            "description": "A filter block defines what elements will be filtered with a specific filter mode. To ensure performance on client applications, it is not recommended to declare multiple filter blocks with the same filter mode. Filter blocks are contained in a filter for a building scene layer. Each filter includes at least one filter block.",
            "properties": {
                "filterExpression": {
                    "description": "SQL expression to select features that belong to this filter block.",
                    "type": "string"
                },
                "filterMode": {
                    "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.FilterModeJson",
                    "description": "Filter mode defines how features are drawn. For example, the filter mode of a filter can be solid or wire frame."
                },
                "title": {
                    "description": "Title of the filter block.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.BuildingSceneLayerJson.FilterJson": {
            "additionalProperties": false,
            "description": "Filter allows client applications to reduce the drawn elements of a building to specific types and values. Filters on the webscene override the list of existing filters on the service.",
            "properties": {
                "description": {
                    "description": "Description of the filter.",
                    "type": "string"
                },
                "filterAuthoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.FilterAuthoringInfoCheckboxJson",
                    "description": "Metadata about the authoring process for this filter."
                },
                "filterBlocks": {
                    "description": "Array of filter blocks defining the filter. A filter contains at least one filter block.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.FilterBlockJson"
                    },
                    "type": "array"
                },
                "id": {
                    "description": "Unique filter id (uuid). Either a new id to extend the list of filters, or an existing id to override properties of an existing filter.",
                    "type": "string"
                },
                "name": {
                    "description": "Name of the filter.",
                    "type": "string"
                }
            },
            "required": [
                "filterBlocks"
            ],
            "type": "object"
        },
        "esri.rest-api.BuildingSceneLayerJson.FilterModeJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.FilterModeSolidJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.FilterModeWireFrameJson"
                }
            ],
            "description": "Filter mode represents the way elements draw when participating in a filter block."
        },
        "esri.rest-api.BuildingSceneLayerJson.FilterModeSolidJson": {
            "additionalProperties": false,
            "description": "Draw elements of this filter block in solid mode. This mode does not change the display of features.",
            "properties": {
                "type": {
                    "const": "solid",
                    "description": "Declares filter mode of type solid. Value of this property must be solid.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.BuildingSceneLayerJson.FilterModeWireFrameJson": {
            "additionalProperties": false,
            "description": "Draw elements of this filter block in wireframe mode. This mode draws only the edges of the features with the specified edge style.",
            "properties": {
                "edges": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.EdgesJson",
                    "description": "A size in points by which to extend edges beyond their original end points."
                },
                "type": {
                    "const": "wireFrame",
                    "description": "Declares filter mode of type wire frame. Value of this property must be wireFrame.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.BuildingSceneSublayerJson.BuildingSceneSublayerJson": {
            "additionalProperties": false,
            "description": "The BuildingSceneLayer sublayer is a part of a building scene layer.",
            "properties": {
                "disablePopup": {
                    "description": "Allows a client to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "id": {
                    "description": "Identifies the sublayer inside the building scene layer.",
                    "type": "number"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "Additional properties that can define drawing information and a definition expression for the sublayer. See layerDefinition properties table."
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "To show or hide the sublayer in the layer list. If property is present, must be one of the following values: show, hide."
                },
                "opacity": {
                    "description": "The degree of transparency applied to the sublayer on the client side, where 0 is full transparency and 1 is no transparency. This is multiplied with the opacity of the containing layers.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A popupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "title": {
                    "description": "A user-friendly string title for the sublayer that can be used in a table of contents.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Boolean property determining whether the sublayer is initially visible in the web scene.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "esri.rest-api.CSVLayerJson.CSVLayerJson": {
            "additionalProperties": false,
            "description": "The CSV layer type references a CSV or TXT file from a publicly-accessible web server. It then dynamically loads into the map at run time. The CSV layer will maintain a reference to the CSV resource.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/csvLayer/} {@link https://developers.arcgis.com/web-scene-specification/objects/csvLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "columnDelimiter": {
                    "description": "A string defining the character used to separate columns in a CSV file. You can set this property using any of the following: \",\", \" \", \";\", \"|\", \"\\t\". Used with CSV layers only.",
                    "type": "string"
                },
                "disablePopup": {
                    "description": "Indicates whether to allow a client to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "CSV",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "locationInfo": {
                    "$ref": "#/definitions/esri.rest-api.CSVLayerJson.LocationInfoJson",
                    "description": "A LocationInfo object defining how location information will be retrieved from a CSV file. Used with CSV layers only."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A PopupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "screenSizePerspective": {
                    "description": "Apply perspective scaling to screen-size symbols.",
                    "type": "boolean"
                },
                "showLabels": {
                    "description": "Indicates whether to display labels for this layer. If true, labels will appear as defined in the labelingInfo property.",
                    "type": "boolean"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the CSV file that backs the layer.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.CSVLayerJson.LocationInfoJson": {
            "additionalProperties": false,
            "description": "Defines how location information will be retrieved from a CSV file referenced through the web.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/locationInfo/} {@link https://developers.arcgis.com/web-scene-specification/objects/locationInfo/}.",
            "properties": {
                "latitudeFieldName": {
                    "description": "A string defining the field name that holds the latitude (Y) coordinate.",
                    "type": "string"
                },
                "locationType": {
                    "description": "A string whose value is always \"coordinates\".",
                    "type": "string"
                },
                "longitudeFieldName": {
                    "description": "A string defining the field name that holds the longitude (X) coordinate.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.DefinitionEditorJson.DefinitionEditorJson": {
            "additionalProperties": false,
            "description": "The definitionEditor stores interactive filters at the same level as layerDefinition.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/definitionEditor/} {@link https://developers.arcgis.com/web-scene-specification/objects/definitionEditor/}.",
            "properties": {
                "inputs": {
                    "description": "An array of input objects.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.DefinitionEditorJson.InputJson"
                    },
                    "type": "array"
                },
                "parameterizedExpression": {
                    "description": "A string value representing the where clause for the interactive filter.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.DefinitionEditorJson.InputJson": {
            "additionalProperties": false,
            "description": "The input objects specified by the definitionEditor. See {@link https://developers.arcgis.com/web-map-specification/objects/input/} {@link https://developers.arcgis.com/web-scene-specification/objects/input/}.",
            "properties": {
                "hint": {
                    "description": "A string value representing a hint for the input.",
                    "type": "string"
                },
                "parameters": {
                    "description": "An array of parameter objects.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.DefinitionEditorJson.ParameterJson"
                    },
                    "type": "array"
                },
                "prompt": {
                    "description": "A string value representing the prompt for the input.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.DefinitionEditorJson.ParameterJson": {
            "additionalProperties": false,
            "description": "Objects defined by a definitionEditor input. See {@link https://developers.arcgis.com/web-map-specification/objects/parameter/} {@link https://developers.arcgis.com/web-scene-specification/objects/parameter/}.",
            "properties": {
                "defaultValue": {
                    "description": "The default value that is automatically given if nothing is provided.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "fieldName": {
                    "description": "A string value representing the name of the field to query.",
                    "type": "string"
                },
                "parameterId": {
                    "description": "Number given to uniquely identify the specified parameter.",
                    "type": "number"
                },
                "type": {
                    "description": "The field type for the specified field parameter. See Field.FieldType.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.DomainJson.CodedValueDomainJson": {
            "additionalProperties": false,
            "description": "Coded value domain specifies an explicit set of valid values for a field. Each valid value is assigned a unique name. See {@link https://developers.arcgis.com/web-map-specification/objects/codedValue_domain/}.",
            "properties": {
                "codedValues": {
                    "description": "The set of valid coded values.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.DomainJson.CodedValueJson"
                    },
                    "type": "array"
                },
                "name": {
                    "description": "The name of the domain.",
                    "type": "string"
                },
                "type": {
                    "const": "codedValue",
                    "description": "Type of domain.",
                    "type": "string"
                }
            },
            "required": [
                "codedValues",
                "name",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.DomainJson.CodedValueJson": {
            "additionalProperties": false,
            "description": "A set of valid coded values with unique names. See {@link https://developers.arcgis.com/web-map-specification/objects/codedValue/} {@link https://developers.arcgis.com/web-scene-specification/objects/codedValue_domain/}.",
            "properties": {
                "code": {
                    "description": "Value indicating which unique code is used to identify the feature attribute.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "name": {
                    "description": "The human-readable name for the coded value.",
                    "type": "string"
                }
            },
            "required": [
                "code",
                "name"
            ],
            "type": "object"
        },
        "esri.rest-api.DomainJson.DomainJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.DomainJson.CodedValueDomainJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.DomainJson.InheritedDomainJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.DomainJson.RangeDomainJson"
                }
            ],
            "description": "A domain specifies the set of valid values for a field.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/domain/} {@link https://developers.arcgis.com/web-scene-specification/objects/domain/}."
        },
        "esri.rest-api.DomainJson.InheritedDomainJson": {
            "additionalProperties": false,
            "description": "This domain applies to domains on subtypes. It implies that the domain for a field at the subtype level is the same as the domain for the field at the layer level. See {@link https://developers.arcgis.com/web-map-specification/objects/inherited_domain/} {@link https://developers.arcgis.com/web-scene-specification/objects/inherited_domain/}.",
            "properties": {
                "type": {
                    "const": "inherited",
                    "description": "The type of domain.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.DomainJson.RangeDomainJson": {
            "additionalProperties": false,
            "description": "Range domain specifies a range of valid values for a field. See {@link https://developers.arcgis.com/web-map-specification/objects/range_domain/} {@link https://developers.arcgis.com/web-scene-specification/objects/range_domain/}.",
            "properties": {
                "name": {
                    "description": "The name of the domain.",
                    "type": "string"
                },
                "range": {
                    "description": "An array in the format [<minValue>, <maxValue>].",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "type": {
                    "const": "range",
                    "description": "Type of domain.",
                    "type": "string"
                }
            },
            "required": [
                "name",
                "range",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.DrawingInfoJson.DrawingInfoJson": {
            "additionalProperties": false,
            "description": "The drawingInfo object contains drawing information for a feature collection or a single layer in a map service. This object is used in LayerDefinition.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/drawingInfo/} {@link https://developers.arcgis.com/web-scene-specification/objects/drawingInfo/}.",
            "properties": {
                "filters": {
                    "description": "Filters for PointCloud layers.",
                    "items": {
                        "$ref": "#/definitions/PointCloudFilterJson"
                    },
                    "type": "array"
                },
                "fixedSymbols": {
                    "description": "Only used for feature collections with a renderer. The feature's symbol is defined by the layer's renderer. Not implemented in JSAPI 4.x.",
                    "type": "boolean"
                },
                "labelingInfo": {
                    "description": "An object defining the properties used for labeling the layer.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.DrawingInfoJson.LabelingInfoJson"
                    },
                    "type": "array"
                },
                "renderer": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RendererJson",
                    "description": "A renderer object that provides the symbology for the layer."
                },
                "scaleSymbols": {
                    "description": "Boolean property indicating whether symbols should stay the same size in screen units as you zoom in. A value of false means the symbols stay the same size in screen units regardless of the map scale. Not implemented in JSAPI 4.x.",
                    "type": "boolean"
                },
                "showLabels": {
                    "description": "Defines whether labels should be shown or not. This is only valid for sublayers.",
                    "type": "boolean"
                },
                "transparency": {
                    "description": "Number value ranging between 0 (no transparency) to 100 (completely transparent).",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "esri.rest-api.DrawingInfoJson.LabelingInfoJson": {
            "additionalProperties": false,
            "description": "The labelingInfo object specifies the label definition for a layer.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/labelingInfo/} {@link https://developers.arcgis.com/web-scene-specification/objects/labelingInfo/}.",
            "properties": {
                "labelExpression": {
                    "description": "This read-only web map property allows formatting of labels. Use labelExpressionInfo instead.",
                    "type": "string"
                },
                "labelExpressionInfo": {
                    "$ref": "__type",
                    "description": "This object allows label text to be read similar to that of the popupInfo's description property. See {@link https://developers.arcgis.com/web-map-specification/objects/labelExpressionInfo/} {@link https://developers.arcgis.com/web-scene-specification/objects/labelExpressionInfo/}."
                },
                "labelPlacement": {
                    "description": "This string property specifies the label placement with respect to that of its feature. A list of label placement values categorized by feature geometry types.",
                    "enum": [
                        "esriServerLinePlacementAboveAfter",
                        "esriServerLinePlacementAboveAlong",
                        "esriServerLinePlacementAboveBefore",
                        "esriServerLinePlacementAboveEnd",
                        "esriServerLinePlacementAboveStart",
                        "esriServerLinePlacementBelowAfter",
                        "esriServerLinePlacementBelowAlong",
                        "esriServerLinePlacementBelowBefore",
                        "esriServerLinePlacementBelowEnd",
                        "esriServerLinePlacementBelowStart",
                        "esriServerLinePlacementCenterAfter",
                        "esriServerLinePlacementCenterAlong",
                        "esriServerLinePlacementCenterBefore",
                        "esriServerLinePlacementCenterEnd",
                        "esriServerLinePlacementCenterStart",
                        "esriServerPointLabelPlacementAboveCenter",
                        "esriServerPointLabelPlacementAboveLeft",
                        "esriServerPointLabelPlacementAboveRight",
                        "esriServerPointLabelPlacementBelowCenter",
                        "esriServerPointLabelPlacementBelowLeft",
                        "esriServerPointLabelPlacementBelowRight",
                        "esriServerPointLabelPlacementCenterCenter",
                        "esriServerPointLabelPlacementCenterLeft",
                        "esriServerPointLabelPlacementCenterRight",
                        "esriServerPolygonPlacementAlwaysHorizontal"
                    ],
                    "type": "string"
                },
                "maxScale": {
                    "description": "Represents the maximum scale at which the layer definition will be applied.",
                    "type": "number"
                },
                "minScale": {
                    "description": "Represents the minimum scale at which the layer definition will be applied.",
                    "type": "number"
                },
                "name": {
                    "description": "The name of the label class.",
                    "type": "string"
                },
                "repeatLabel": {
                    "description": "A boolean value indicating whether or not to repeat the label along or across the feature. If true, the label will be repeated according to the repeatLabelDistance. If missing, the default depends on the geometry of the feature: false for point and polygon feature geometries, and true for line feature geometries.",
                    "type": "boolean"
                },
                "repeatLabelDistance": {
                    "description": "The repeat label distance used when repeatLabel is true. It represents a screen distance in points.",
                    "type": "number"
                },
                "symbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.LabelSymbol3DJson"
                        }
                    ],
                    "description": "The text symbol used to label."
                },
                "useCodedValues": {
                    "description": "Boolean value indicating whether to display the coded values for the specified field name(s).",
                    "type": "boolean"
                },
                "where": {
                    "description": "String template used to determine which features to label.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.DrawingInfoJson.PointCloudBitfieldFilterJson": {
            "additionalProperties": false,
            "description": "Filters points based on the value of the specified bitfield attribute.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudBitfieldFilter/}.",
            "properties": {
                "field": {
                    "description": "The name of the field that is used for the filter.",
                    "type": "string"
                },
                "requiredClearBits": {
                    "description": "List ALL bit numbers that must cleared (=0) for the point to be kept. Bit\n0 is LSB.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "requiredSetBits": {
                    "description": "List ALL bit numbers that must set (=1) for the point to be kept. Bit 0 is LSB.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "type": {
                    "const": "pointCloudBitfieldFilter",
                    "description": "Filters points based on the value of an specified attribute.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.DrawingInfoJson.PointCloudReturnFilterJson": {
            "additionalProperties": false,
            "description": "Filters points based on the value of the return number/return count.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudReturnFilter/}.",
            "properties": {
                "field": {
                    "description": "The name of the field that is used for the filter.",
                    "type": "string"
                },
                "includedReturns": {
                    "description": "All points with at least one specified return status will be kept. Status values: last, firstOfMany, lastOfMany, single.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "type": {
                    "const": "pointCloudReturnFilter",
                    "description": "Filters points based on the value of an specified attribute.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.DrawingInfoJson.PointCloudValueFilterJson": {
            "additionalProperties": false,
            "description": "Filters points based on the value of an specified attribute.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudValueFilter/}.",
            "properties": {
                "field": {
                    "description": "The name of the field that is used for the filter.",
                    "type": "string"
                },
                "mode": {
                    "description": "Defines if values should be included or excluded. Must be one of the following values: exclude, include.",
                    "type": "string"
                },
                "type": {
                    "const": "pointCloudValueFilter",
                    "description": "Filters points based on the value of an specified attribute.",
                    "type": "string"
                },
                "values": {
                    "description": "List of values.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FeatureCollectionJson.FeatureCollectionJson": {
            "additionalProperties": false,
            "description": "Defines a layer of features whose geometry and attributes will be stored directly within the web map.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/featureCollection/}.",
            "properties": {
                "layers": {
                    "description": "An array of Layer objects defining all the styling, geometry, and attribute information for the features.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.SublayerJson.SublayerJson"
                    },
                    "type": "array"
                },
                "showLegend": {
                    "description": "Indicates if this layer should be shown in the legend in client applications. The default is true.",
                    "type": "boolean"
                }
            },
            "required": [
                "layers"
            ],
            "type": "object"
        },
        "esri.rest-api.FeatureJson.FeatureJson": {
            "additionalProperties": false,
            "description": "Contains information about an attribute field and feature geometry.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/feature/} {@link https://developers.arcgis.com/web-scene-specification/objects/feature/}.",
            "properties": {
                "attributes": {
                    "description": "The feature attributes. It is a JSON object that contains a dictionary of name-value pairs. The names are the feature field names. The values are the field values and they can be any of the standard JSON types - string, number and boolean. Note that date values are encoded as numbers. The number represents the number of milliseconds since epoch (January 1,\n1970) in UTC."
                },
                "geometry": {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.GeometryJson",
                    "description": "The feature geometry."
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A popupInfo object defining the content of popup window when you click a feature on the map. Applicable to features in a map notes feature layer only."
                },
                "symbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SymbolJson",
                    "description": "Symbol used for drawing the feature."
                }
            },
            "type": "object"
        },
        "esri.rest-api.FeatureLayerJson.FeatureLayerJson": {
            "additionalProperties": false,
            "description": "Feature layers can be created by referencing a layer from either a map service or a feature service or by specifying a feature collection object. Use a map service if you just want to retrieve geometries and attributes from the server and symbolize them yourself. Use a feature service if you want to take advantage of symbols from the service's source map document. Also, use a feature service if you plan on doing editing with the feature layer. Feature layers honor any feature templates configured in the source map document. Feature collection objects are used to create a feature layer based on the supplied definition.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/featureLayer/} {@link https://developers.arcgis.com/web-scene-specification/objects/featureLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "capabilities": {
                    "description": "A comma-separated string listing which editing operations are allowed on an editable feature service. Available operations include: Create | Delete | Query | Update | Editing.",
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types."
                },
                "definitionEditor": {
                    "$ref": "#/definitions/esri.rest-api.DefinitionEditorJson.DefinitionEditorJson",
                    "description": "Stores interactive filters."
                },
                "disablePopup": {
                    "description": "Indicates whether to allow a client to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "featureCollection": {
                    "$ref": "#/definitions/esri.rest-api.FeatureCollectionJson.FeatureCollectionJson",
                    "description": "A featureCollection object defining a layer of features whose geometry and attributes will be stored directly within the web map. This is only used when no url property is supplied."
                },
                "featureCollectionType": {
                    "description": "Indicates the type of features in the feature collection. If featureCollectionType is missing, it means the feature collection is a regular single-layer or multi-layer feature collection.",
                    "enum": [
                        "markup",
                        "notes",
                        "route"
                    ],
                    "type": "string"
                },
                "formInfo": {
                    "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormInfoJson",
                    "description": "A formInfo object defining the content of the form when you are editing a feature."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "ArcGISFeatureLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "mode": {
                    "description": "Used with ArcGIS feature services and individual layers in ArcGIS map services, this property determines how the features are retrieved from the server. This property is represented as 0, 1, or 2.\n\n- 0: Snapshot mode. Immediately retrieves all features when the map is   loaded.\n- 1: On-demand mode. Features within the current view extent are retrieved   as the user navigates the map. This is the default and the most common   way to use feature services in web maps.\n- 2: Selection-only mode. No features are initially retrieved. This mode is   used when you have a map service and a feature service from the same   parent URL that are working together in the same map, with the map   service being used for display and the feature service used for   editing.",
                    "enum": [
                        0,
                        1,
                        2,
                        6
                    ],
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A PopupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "screenSizePerspective": {
                    "description": "Apply perspective scaling to screen-size symbols.",
                    "type": "boolean"
                },
                "showLabels": {
                    "description": "Indicates whether to display labels for this layer. If true, labels will appear as defined in the labelingInfo property.",
                    "type": "boolean"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "subtypeCode": {
                    "description": "The feature subtype code identifying the layer. Used with SubtypeGroupLayers.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer.If the layer is not from a web service but rather a feature collection, than the url property is omitted.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                },
                "visibleLayers": {
                    "description": "An array of sublayer ids that should appear visible. Used with feature layers that are based on feature collections.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.FeatureSetJson.FeatureSetJson": {
            "additionalProperties": false,
            "description": "Contains the geometry and attributes of features in a layer. This object is used with feature collections only. For more information, see Layer.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/featureSet/} {@link https://developers.arcgis.com/web-scene-specification/objects/featureSet/}.",
            "properties": {
                "features": {
                    "description": "An array of Feature objects, each one containing geometry and a set of attributes.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                    },
                    "type": "array"
                },
                "geometryType": {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.GeometryJsonType",
                    "description": "One of the GeometryType constants. See Geometry.GeometryJsonType."
                }
            },
            "required": [
                "features",
                "geometryType"
            ],
            "type": "object"
        },
        "esri.rest-api.FieldJson.FieldJson": {
            "additionalProperties": false,
            "description": "Contains information about an attribute field. This field could come from a feature collection or a single layer in a map service. Used in layerDefinition.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/field/} {@link https://developers.arcgis.com/web-scene-specification/objects/field/}.",
            "properties": {
                "alias": {
                    "description": "The field alias (human-readable name).",
                    "type": "string"
                },
                "domain": {
                    "$ref": "#/definitions/esri.rest-api.DomainJson.DomainJson",
                    "description": "A domain object that provides the attribute domain information for the field, if a domain exists."
                },
                "editable": {
                    "description": "Whether this field is editable.",
                    "type": "boolean"
                },
                "exactMatch": {
                    "description": "A Boolean defining whether or not the field is an exact match.",
                    "type": "boolean"
                },
                "length": {
                    "description": "A number defining how many characters are allowed in a string field.",
                    "type": "number"
                },
                "name": {
                    "description": "A string defining the field name.",
                    "type": "string"
                },
                "nullable": {
                    "description": "Whether this field can have a null value.",
                    "type": "boolean"
                },
                "type": {
                    "$ref": "#/definitions/esri.rest-api.FieldJson.FieldJsonType",
                    "description": "Type of the Field. See {@link FieldJsonType}."
                }
            },
            "required": [
                "name"
            ],
            "type": "object"
        },
        "esri.rest-api.FieldJson.FieldJsonType": {
            "description": "The type of the Field.",
            "enum": [
                "esriFieldTypeBigInteger",
                "esriFieldTypeBlob",
                "esriFieldTypeDate",
                "esriFieldTypeDateOnly",
                "esriFieldTypeDouble",
                "esriFieldTypeGUID",
                "esriFieldTypeGeometry",
                "esriFieldTypeGlobalID",
                "esriFieldTypeInteger",
                "esriFieldTypeOID",
                "esriFieldTypeRaster",
                "esriFieldTypeSingle",
                "esriFieldTypeSmallInteger",
                "esriFieldTypeString",
                "esriFieldTypeTimeOnly",
                "esriFieldTypeTimestampOffset",
                "esriFieldTypeXML"
            ],
            "type": "string"
        },
        "esri.rest-api.FormInfoJson.FormAttachmentElementJson": {
            "additionalProperties": false,
            "description": "Defines how one or more attachments can participate in the form. When present in the form, the user has the ability to upload an attachment specific to the form element. See {@link https://developers.arcgis.com/web-map-specification/objects/formAttachmentElement/}.",
            "properties": {
                "attachmentKeyword": {
                    "description": "A string to identify the attachment(s). When a file is attached using the form, this property is used to set the value of the keywords field for the attachment. When a form is displaying existing attachments, this property is used to query attachments using an exact match on the keywords field.",
                    "type": "string"
                },
                "description": {
                    "description": "A string that describes the element in detail.",
                    "type": "string"
                },
                "editable": {
                    "description": "Indicates whether the attachments can be edited. If not present, the default is true.",
                    "type": "boolean"
                },
                "inputType": {
                    "$ref": "__type",
                    "description": "The input user interface to use for the attachment."
                },
                "label": {
                    "description": "A string value indicating what the element represents.",
                    "type": "string"
                },
                "type": {
                    "const": "attachment",
                    "description": "String value indicating which type of element to use.",
                    "type": "string"
                },
                "visibilityExpression": {
                    "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormBarcodeScannerInputJson": {
            "additionalProperties": false,
            "description": "Defines the desired user interface is a barcode or QR code scanner. If the client does not support barcode scanning, a single-line text box should be used. See {@link https://developers.arcgis.com/web-map-specification/objects/formBarcodeScannerInput/}.",
            "properties": {
                "maxLength": {
                    "description": "This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.",
                    "type": "number"
                },
                "minLength": {
                    "description": "This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.",
                    "type": "number"
                },
                "type": {
                    "const": "barcode-scanner",
                    "description": "The input type identifier.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormComboBoxInputJson": {
            "additionalProperties": false,
            "description": "Defines the desired user interface is a list of values in a drop-down that supports typing to filter. Only one value can be selected at a time. See {@link https://developers.arcgis.com/web-map-specification/objects/formComboBoxInput/}.",
            "properties": {
                "noValueOptionLabel": {
                    "description": "The text used to represent a null value.",
                    "type": "string"
                },
                "showNoValueOption": {
                    "description": "Determines whether null value option is displayed. This only applies to fields that support null values. If not provided, the default value is false.",
                    "type": "boolean"
                },
                "type": {
                    "const": "combo-box",
                    "description": "The input type identifier.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormDateTimePickerInputJson": {
            "additionalProperties": false,
            "description": "Defines the desired user interface is a calendar date picker. See {@link https://developers.arcgis.com/web-map-specification/objects/formDatetimePickerInput/}.",
            "properties": {
                "includeTime": {
                    "description": "Indicates if the datetime picker should provide an option to select the time. If not provided, the default value is false.",
                    "type": "boolean"
                },
                "max": {
                    "description": "The maximum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.",
                    "type": "number"
                },
                "min": {
                    "description": "The minimum date to allow. The number represents the number of milliseconds since epoch (January 1, 1970) in UTC.",
                    "type": "number"
                },
                "type": {
                    "const": "datetime-picker",
                    "description": "The input type identifier.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormExpressionInfoJson": {
            "additionalProperties": false,
            "description": "Arcade expression used in the form. See {@link https://developers.arcgis.com/web-map-specification/objects/formExpressionInfo/}.",
            "properties": {
                "expression": {
                    "description": "The Arcade expression.",
                    "type": "string"
                },
                "name": {
                    "description": "Unique identifier for the expression.",
                    "type": "string"
                },
                "returnType": {
                    "const": "boolean",
                    "description": "Return type of the Arcade expression. This can be determined by the authoring client by executing the expression using a sample feature(s), although it can be corrected by the user.",
                    "type": "string"
                },
                "title": {
                    "description": "Title of the expression.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormFieldElementJson": {
            "additionalProperties": false,
            "description": "Defines how a field in the dataset participates in the form. See {@link https://developers.arcgis.com/web-map-specification/objects/formFieldElement/}.",
            "properties": {
                "description": {
                    "description": "A string that describes the element in detail.",
                    "type": "string"
                },
                "domain": {
                    "$ref": "#/definitions/esri.rest-api.DomainJson.DomainJson",
                    "description": "The domain to apply to this field. If defined, it takes precedence over domains defined in field, type, or subtype."
                },
                "editable": {
                    "description": "A Boolean determining whether users can edit this form element. If not supplied, the editable state is derived from the editable property of referenced field in the service.",
                    "type": "boolean"
                },
                "fieldName": {
                    "description": "A string containing the field name as defined by the feature layer.",
                    "type": "string"
                },
                "inputType": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormBarcodeScannerInputJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormComboBoxInputJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormDateTimePickerInputJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormRadioButtonsInputJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormSwitchInputJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormTextAreaInputJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormTextBoxInputJson"
                        }
                    ],
                    "description": "The input user interface to use for the element. If an input type is not supplied or the client application does not understand the supplied input type, the client application is responsible for defining the default user interface."
                },
                "label": {
                    "description": "A string indicating what the element represents. If not supplied, the label is derived from the alias property in the referenced field in the service.",
                    "type": "string"
                },
                "requiredExpression": {
                    "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true and the element is visible, the element must have a valid value in order for the feature to be created or edited. When the expression evaluates to false the element is not required. If no expression is provided, the default behavior is that the element is not required. If the referenced field is non-nullable, the required expression is ignored and the element is always required.",
                    "type": "string"
                },
                "type": {
                    "const": "field",
                    "description": "A string indicating which type of element to use.",
                    "type": "string"
                },
                "visibilityExpression": {
                    "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed. Care must be taken when defining a visibility expression for a non-nullable field i.e. to make sure that such fields either have default values or are made visible to users so that they can provide a value before submitting the form.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormGroupElementJson": {
            "additionalProperties": false,
            "description": "Defines a container that holds a set of form elements that can be expanded, collapsed, or displayed together. See {@link https://developers.arcgis.com/web-map-specification/objects/formGroupElement/}.",
            "properties": {
                "description": {
                    "description": "A string that describes the element in detail.",
                    "type": "string"
                },
                "formElements": {
                    "description": "An array of Form Element objects that represent an ordered list of form elements. Nested group elements are not supported.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormAttachmentElementJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormFieldElementJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormRelationshipElementJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                "initialState": {
                    "description": "Defines if the group should be expanded or collapsed when the form is initially displayed. If not provided, the default value is expanded.",
                    "enum": [
                        "collapsed",
                        "expanded"
                    ],
                    "type": "string"
                },
                "label": {
                    "description": "A string value indicating what the element represents.",
                    "type": "string"
                },
                "type": {
                    "const": "group",
                    "description": "String value indicating which type of element to use.",
                    "type": "string"
                },
                "visibilityExpression": {
                    "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormInfoJson": {
            "additionalProperties": false,
            "description": "Defines the form configuration when a user edits a feature. See {@link https://developers.arcgis.com/web-map-specification/objects/formInfo/}.",
            "properties": {
                "description": {
                    "description": "A string that appears in the body of the form as a description.",
                    "type": "string"
                },
                "expressionInfos": {
                    "description": "List of Arcade expressions used in the form.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormExpressionInfoJson"
                    },
                    "type": "array"
                },
                "formElements": {
                    "description": "An array of formElement objects that represent an ordered list of form elements.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormAttachmentElementJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormFieldElementJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormGroupElementJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormRelationshipElementJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                "title": {
                    "description": "A string that appears at the top of the form as a title.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormRadioButtonsInputJson": {
            "additionalProperties": false,
            "description": "Defines the desired user interface is a radio button group. See {@link https://developers.arcgis.com/web-map-specification/objects/formRadioButtonsInput/}.",
            "properties": {
                "noValueOptionLabel": {
                    "description": "The text used to represent a null value.",
                    "type": "string"
                },
                "showNoValueOption": {
                    "description": "Determines whether null value option is displayed. This only applies to fields that support null values. If not provided, the default value is false.",
                    "type": "boolean"
                },
                "type": {
                    "const": "radio-buttons",
                    "description": "The input type identifier.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormRelationshipElementJson": {
            "additionalProperties": false,
            "description": "Defines how a relationship between feature layers and tables can participate in the form. When present in the form, the user may have the option to add or edit related records. See {@link https://developers.arcgis.com/web-map-specification/objects/formRelationshipElement/}.",
            "properties": {
                "description": {
                    "description": "A string that describes the element in detail.",
                    "type": "string"
                },
                "displayCount": {
                    "description": "An integer that indicates the maximum number of records to display.",
                    "type": "number"
                },
                "displayType": {
                    "const": "list",
                    "description": "A string that defines how the related records should be displayed.",
                    "type": "string"
                },
                "editable": {
                    "description": "A Boolean determining whether users can edit this form element. If not supplied the default value is true.",
                    "type": "boolean"
                },
                "label": {
                    "description": "A string value indicating what the element represents.",
                    "type": "string"
                },
                "type": {
                    "const": "relationship",
                    "description": "String value indicating which type of element to use.",
                    "type": "string"
                },
                "visibilityExpression": {
                    "description": "A reference to an Arcade expression that returns a boolean value. When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormSwitchInputJson": {
            "additionalProperties": false,
            "description": "Defines a desired user interface to present a binary switch, or toggle. This should be used when selecting between two options. See {@link https://developers.arcgis.com/web-map-specification/objects/formSwitchInput/}.",
            "properties": {
                "offValue": {
                    "description": "The coded value when switch state is off.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "onValue": {
                    "description": "The coded value when switch state is on.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "type": {
                    "const": "switch",
                    "description": "The input type identifier.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormTextAreaInputJson": {
            "additionalProperties": false,
            "description": "Defines the desired user interface is a multi-line text area. See {@link https://developers.arcgis.com/web-map-specification/objects/formTextAreaInput/}.",
            "properties": {
                "maxLength": {
                    "description": "This represents the maximum number of characters allowed. If not supplied, the value is derived from the length property of the referenced field in the service.",
                    "type": "number"
                },
                "minLength": {
                    "description": "This represents the minimum number of characters allowed. If not supplied, the value is 0, meaning there is no minimum constraint.",
                    "type": "number"
                },
                "type": {
                    "const": "text-area",
                    "description": "The input type identifier.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.FormInfoJson.FormTextBoxInputJson": {
            "additionalProperties": false,
            "description": "Defines the desired user interface is a single-line text box. See {@link https://developers.arcgis.com/web-map-specification/objects/formTextBoxInput/}.",
            "properties": {
                "maxLength": {
                    "description": "This represents the maximum number of characters allowed. This only applies for string fields. If not supplied, the value is derived from the length property of the referenced field in the service.",
                    "type": "number"
                },
                "minLength": {
                    "description": "This represents the minimum number of characters allowed. This only applies for string fields. If not supplied, the value is 0, meaning there is no minimum constraint.",
                    "type": "number"
                },
                "type": {
                    "const": "text-box",
                    "description": "The input type identifier.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.GeoJSONLayerJson.GeoJSONLayerJson": {
            "additionalProperties": false,
            "description": "The GeoJSON layer type references a GeoJSON or TXT file from a publicly-accessible web server. It then dynamically loads into the map at run time. The GeoJSON layer will maintain a reference to the GeoJSON resource.\n\nWeb map spec: {@link https://developers.arcgis.com/web-map-specification/objects/geoJsonLayer/}. Web scene spec: {@link https://developers.arcgis.com/web-scene-specification/objects/geoJsonLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "disablePopup": {
                    "description": "Indicates whether to allow a client to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "GeoJSON",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A PopupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "screenSizePerspective": {
                    "description": "Apply perspective scaling to screen-size symbols.",
                    "type": "boolean"
                },
                "showLabels": {
                    "description": "Indicates whether to display labels for this layer. If true, labels will appear as defined in the labelingInfo property.",
                    "type": "boolean"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the GeoJSON file that backs the layer.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.GeoRSSLayerJson.GeoRSSLayerJson": {
            "additionalProperties": false,
            "description": "GeoRSS feeds may contain any combination of points, lines, and polygons. Web clients use a GeoRSS to JSON request service. This service returns one to many feature collections with different geometry types. The returned JSON specifies the point, lines, and polygons symbols used to display the features in that layer.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/geoRSSLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "layerType": {
                    "const": "GeoRSS",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "lineSymbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson",
                    "description": "Defined by the GeoRSS to JSON request service. If the GeoRSS feed does not have lines, this property is not added to the layer JSON."
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "pointSymbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson",
                    "description": "Defined by the GeoRSS to JSON request service. If the GeoRSS feed does not have points, this property is not added to the layer JSON."
                },
                "polygonSymbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson",
                    "description": "Defined by the GeoRSS to JSON request service. If the GeoRSS feed does not have polygons, this property is not added to the layer JSON."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.GeometryJson.ExtentJson": {
            "additionalProperties": false,
            "description": "This object defines the bounding geometry given the lower-left and upper-right corners of the bounding box. A spatial reference is also required. See {@link https://developers.arcgis.com/web-map-specification/objects/envelope_geometry/} {@link https://developers.arcgis.com/web-map-specification/objects/extent/} {@link https://developers.arcgis.com/web-scene-specification/objects/extent/}.",
            "properties": {
                "spatialReference": {
                    "$ref": "#/definitions/esri.rest-api.SpatialReferenceJson.SpatialReferenceJson",
                    "description": "The spatial reference can be defined using a well-known ID (WKID) or well-known text (WKT)."
                },
                "xmax": {
                    "description": "A numeric value indicating the top-right X-coordinate of an extent envelope.",
                    "type": "number"
                },
                "xmin": {
                    "description": "A numeric value indicating the bottom-left X-coordinate of an extent envelope.",
                    "type": "number"
                },
                "ymax": {
                    "description": "A numeric value indicating the top-right Y-coordinate of an extent envelope.",
                    "type": "number"
                },
                "ymin": {
                    "description": "A numeric value indicating the bottom-left Y-coordinate of an extent envelope.",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "esri.rest-api.GeometryJson.GeometryJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                }
            ],
            "description": "A geometry as defined in the ArcGIS REST and web map specifications.\n\nSee {@link http://resources.arcgis.com/en/help/rest/apiref/geometry.html}. See {@link https://developers.arcgis.com/web-map-specification/objects/geometry/} {@link https://developers.arcgis.com/web-map-specification/objects/geometryType/}."
        },
        "esri.rest-api.GeometryJson.GeometryJsonType": {
            "description": "Types of geometry. Geometry JSON objects don't reference these types, but they appear within services to describe the type of geometries in layers.",
            "enum": [
                "esriGeometryEnvelope",
                "esriGeometryMultipoint",
                "esriGeometryPoint",
                "esriGeometryPolygon",
                "esriGeometryPolyline"
            ],
            "type": "string"
        },
        "esri.rest-api.GeometryJson.MultipointJson": {
            "additionalProperties": false,
            "description": "Contains an array of points, along with a spatial reference field. See {@link https://developers.arcgis.com/web-map-specification/objects/multipoint_geometry/} {@link https://developers.arcgis.com/web-scene-specification/objects/multipoint_geometry/}.",
            "properties": {
                "hasM": {
                    "description": "Indicates whether the geometry contains M coordinate values.",
                    "type": "boolean"
                },
                "hasZ": {
                    "description": "Indicates whether the geometry contains Z coordinate values.",
                    "type": "boolean"
                },
                "points": {
                    "description": "An array that corresponds to 2D and 3D points.",
                    "items": {
                        "items": {
                            "type": "number"
                        },
                        "type": "array"
                    },
                    "type": "array"
                },
                "spatialReference": {
                    "$ref": "#/definitions/esri.rest-api.SpatialReferenceJson.SpatialReferenceJson",
                    "description": "The spatial reference can be defined using a well-known ID (WKID) or well-known text (WKT)."
                }
            },
            "required": [
                "points"
            ],
            "type": "object"
        },
        "esri.rest-api.GeometryJson.PointJson": {
            "additionalProperties": false,
            "description": "Defines the JSON formats of the point and spatial reference objects. See {@link https://developers.arcgis.com/web-map-specification/objects/point_geometry/}. See {@link https://developers.arcgis.com/web-map-specification/objects/point_geometry/}.",
            "properties": {
                "m": {
                    "description": "M coordinate which contains measures used for linear referencing.",
                    "type": "number"
                },
                "spatialReference": {
                    "$ref": "#/definitions/esri.rest-api.SpatialReferenceJson.SpatialReferenceJson",
                    "description": "The spatial reference can be defined using a well-known ID (WKID) or well-known text (WKT)."
                },
                "x": {
                    "description": "X coordinate which is measured along the east/west axis.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "y": {
                    "description": "Y coordinate which is measured along the north/south axis.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "z": {
                    "description": "Z coordinate which measures height or elevation.",
                    "type": [
                        "string",
                        "number"
                    ]
                }
            },
            "required": [
                "x",
                "y"
            ],
            "type": "object"
        },
        "esri.rest-api.GeometryJson.PolygonJson": {
            "additionalProperties": false,
            "description": "A polygon contains an array of rings and a spatial reference. See {@link https://developers.arcgis.com/web-map-specification/objects/polygon_geometry/} {@link https://developers.arcgis.com/web-scene-specification/objects/polygon_geometry/}.",
            "properties": {
                "hasM": {
                    "description": "Indicates whether the geometry contains M coordinate values.",
                    "type": "boolean"
                },
                "hasZ": {
                    "description": "Indicates whether the geometry contains Z coordinate values.",
                    "type": "boolean"
                },
                "rings": {
                    "description": "Represents an array of points. Each point is an array of numbers.",
                    "items": {
                        "items": {
                            "items": {
                                "type": "number"
                            },
                            "type": "array"
                        },
                        "type": "array"
                    },
                    "type": "array"
                },
                "spatialReference": {
                    "$ref": "#/definitions/esri.rest-api.SpatialReferenceJson.SpatialReferenceJson",
                    "description": "The spatial reference can be defined using a well-known ID (WKID) or well-known text (WKT)."
                }
            },
            "required": [
                "rings"
            ],
            "type": "object"
        },
        "esri.rest-api.GeometryJson.PolylineJson": {
            "additionalProperties": false,
            "description": "Contains an array of paths and a spatialReference. See {@link https://developers.arcgis.com/web-map-specification/objects/polyline_geometry/} {@link https://developers.arcgis.com/web-scene-specification/objects/polyline_geometry/}.",
            "properties": {
                "hasM": {
                    "description": "Indicates whether the geometry contains M coordinate values.",
                    "type": "boolean"
                },
                "hasZ": {
                    "description": "Indicates whether the geometry contains Z coordinate values.",
                    "type": "boolean"
                },
                "paths": {
                    "description": "Three nested arrays which corresponds to a polyline.",
                    "items": {
                        "items": {
                            "items": {
                                "type": "number"
                            },
                            "type": "array"
                        },
                        "type": "array"
                    },
                    "type": "array"
                },
                "spatialReference": {
                    "$ref": "#/definitions/esri.rest-api.SpatialReferenceJson.SpatialReferenceJson",
                    "description": "The spatial reference can be defined using a well-known ID (WKID) or well-known text (WKT)."
                }
            },
            "required": [
                "paths"
            ],
            "type": "object"
        },
        "esri.rest-api.GroupLayerJson.GroupLayerJson": {
            "additionalProperties": false,
            "description": "GroupLayer provides the ability to organize several sublayers into one common layer. Suppose there are several FeatureLayers that all represent water features in different dimensions. For example, wells (points), streams (lines), and lakes (polygons). The GroupLayer provides the functionality to treat them as one layer called Water Features even though they are stored as separate feature layers.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/groupLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "layerType": {
                    "const": "GroupLayer",
                    "description": "String indicating the layer type. Value of this property must be GroupLayer.",
                    "type": "string"
                },
                "layers": {
                    "description": "List of child operationalLayers.",
                    "items": {
                        "$ref": "#/definitions/OperationalLayerJson"
                    },
                    "type": "array"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "To show or hide the group layer in the layer list. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                },
                "visibilityMode": {
                    "description": "How visibility of children is affected: independent, exclusive, inherited.",
                    "enum": [
                        "exclusive",
                        "independent",
                        "inherited"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.ImageServiceLayerJson.ImageServiceLayerJson": {
            "additionalProperties": false,
            "description": "An image service provides access to raster data through a web service. Multiple rasters can be served as one image service through mosaic dataset technology, dynamically processed and mosaiced on the fly. An image service supports accessing both the mosaicked image and its catalog, as well as individual rasters in the catalog. Also, image services can be cached (tiled) or uncached (dynamic). This object specifically details properties within uncached image services.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/imageServiceLayer/} {@link https://developers.arcgis.com/web-scene-specification/objects/imageServiceLayer/}.",
            "properties": {
                "bandIds": {
                    "description": "An array of bandIds that are visible, can specify bands to export or rearrange band order(from image service).",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "compressionQuality": {
                    "description": "Controls how much loss the image will be subjected to by the compression algorithm (from image service).",
                    "type": "number"
                },
                "copyright": {
                    "description": "The attribution information for the layer. (not in the documentation).",
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types."
                },
                "definitionEditor": {
                    "$ref": "#/definitions/esri.rest-api.DefinitionEditorJson.DefinitionEditorJson",
                    "description": "Stores interactive filters."
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "format": {
                    "description": "The output image type.",
                    "enum": [
                        "jpg",
                        "jpgpng",
                        "lerc",
                        "png",
                        "png24",
                        "png32",
                        "png8",
                        "tiff"
                    ],
                    "type": "string"
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "interpolation": {
                    "description": "The algorithm used for interpolation.",
                    "enum": [
                        "RSP_BilinearInterpolation",
                        "RSP_CubicConvolution",
                        "RSP_Majority",
                        "RSP_NearestNeighbor"
                    ],
                    "type": "string"
                },
                "isReference": {
                    "description": "This is applicable if used as a baseMapLayer. A boolean value indicating whether or not the baseMapLayer draws on top (true) of other layers, including operationalLayers , or below (false).",
                    "type": "boolean"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "ArcGISImageServiceLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "mosaicRule": {
                    "$ref": "#/definitions/esri.rest-api.MosaicRuleJson.MosaicRuleJson",
                    "description": "Specifies the mosaic rule when defining how individual images should be mosaiced."
                },
                "noDataInterpretation": {
                    "description": "A string value of interpretation of noData setting. Default is 'esriNoDataMatchAny' when noData is a number, and 'esriNoDataMatchAll' when noData is an array.",
                    "enum": [
                        "esriNoDataMatchAll",
                        "esriNoDataMatchAny"
                    ],
                    "type": "string"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "pixelType": {
                    "description": "Pertains to the type of values stored in the raster, such as signed integer, unsigned integer, or floating point. See OutputPixelType.",
                    "type": "string"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A PopupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "renderingRule": {
                    "$ref": "#/definitions/esri.rest-api.ImageServiceLayerJson.RenderingRuleJson",
                    "description": "Specifies the rule for how the requested image should be rendered."
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "timeAnimation": {
                    "description": "This property is applicable to layers that support time. If 'true', timeAnimation is enabled.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.ImageServiceLayerJson.RenderingRuleJson": {
            "additionalProperties": false,
            "description": "Specifies the rendering rule for how the requested image should be rendered.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/renderingRule/} {@link https://developers.arcgis.com/web-scene-specification/objects/renderingRule/}.",
            "properties": {
                "outputPixelType": {
                    "description": "Defines the pixel type of the output image.",
                    "enum": [
                        "C128",
                        "C64",
                        "F32",
                        "F64",
                        "S16",
                        "S32",
                        "S8",
                        "U1",
                        "U16",
                        "U2",
                        "U32",
                        "U4",
                        "U8",
                        "UNKNOWN"
                    ],
                    "type": "string"
                },
                "rasterFunction": {
                    "description": "The raster function name identifies the processing or rendering to be performed. See {@link http://resources.arcgis.com/en/help/arcgis-rest-api/#/Raster_Function_Objects/02r3000000rv000000/}.",
                    "type": "string"
                },
                "rasterFunctionArguments": {
                    "description": "The arguments for the referenced rasterFunction."
                },
                "variableName": {
                    "description": "Variable name for the raster function.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.ImageServiceVectorLayerJson.ImageServiceVectorLayerJson": {
            "additionalProperties": false,
            "description": "The imageServiceVectorLayer displays pixel values as vectors. To do this, the image service layer must be a two-band raster in which one band holds magnitude values and one band holds direction values. The imageServiceVectorLayer also supports time-enabled data.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/imageServiceVectorLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types."
                },
                "definitionEditor": {
                    "$ref": "#/definitions/esri.rest-api.DefinitionEditorJson.DefinitionEditorJson",
                    "description": "Stores interactive filters."
                },
                "disablePopup": {
                    "description": "Boolean property indicating whether to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "isReference": {
                    "description": "This is applicable if used as a baseMapLayer. A boolean value indicating whether or not the baseMapLayer draws on top (true) of other layers, including operationalLayers , or below (false).",
                    "type": "boolean"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "ArcGISImageServiceVectorLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "mosaicRule": {
                    "$ref": "#/definitions/esri.rest-api.MosaicRuleJson.MosaicRuleJson",
                    "description": "Specifies the mosaic rule when defining how individual images should be mosaiced."
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "timeAnimation": {
                    "description": "This property is applicable to layers that support time. If 'true', timeAnimation is enabled.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "disablePopup",
                "layerType",
                "url"
            ],
            "type": "object"
        },
        "esri.rest-api.IntegratedMeshLayerJson.IntegratedMeshLayerJson": {
            "additionalProperties": false,
            "description": "An integrated mesh can represent built and natural 3D features, such as building walls, trees, valleys, and cliffs, with realistic textures and includes elevation information.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/integratedMeshLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerType": {
                    "const": "IntegratedMeshLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "URL to the ArcGIS Server Image Service.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.ItemJson.ItemJson": {
            "additionalProperties": false,
            "description": "An item (a unit of content) in the portal. Each item has a unique identifier and a well known URL that is independent of the user owning the item. An item can have associated binary or textual data that's available via the item data resource. For example, an item of type Map Package returns the actual bits corresponding to the map package via the item data resource. The numViews is incremented when an item is opened.\n\nSee {@link http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#/Item/02r30000007w000000/}.",
            "properties": {
                "access": {
                    "description": "Indicates the level of access to this item: private, shared, org, or public.",
                    "type": "string"
                },
                "accessInformation": {
                    "description": "Information on the source of the item and its copyright status.",
                    "type": "string"
                },
                "advancedSettings": {
                    "description": "<not in spec>."
                },
                "appCategories": {
                    "description": "An array that primarily applies to a list of categories that the application item is applicable to.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "avgRating": {
                    "description": "Average rating. Uses a weighted average called \"Bayesian average.\".",
                    "type": "number"
                },
                "banner": {
                    "description": "Primarily applies to the banner associated with an application. The URL to the banner used for the application.",
                    "type": "string"
                },
                "categories": {
                    "description": "An array of organization categories that are set on the item.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "commentsEnabled": {
                    "description": "Indicates if comments are allowed on the item.",
                    "type": "boolean"
                },
                "contentOrigin": {
                    "description": "<not in spec>.",
                    "type": "string"
                },
                "created": {
                    "description": "The date the item was created. Shown in UNIX time in milliseconds.",
                    "type": "number"
                },
                "culture": {
                    "description": "The item locale information (language and country).",
                    "type": "string"
                },
                "description": {
                    "description": "Item description.",
                    "type": "string"
                },
                "documentation": {
                    "description": "<not in spec>."
                },
                "extent": {
                    "description": "The bounding rectangle of the item. Should always be in WGS84.",
                    "items": {
                        "items": {
                            "type": "number"
                        },
                        "type": "array"
                    },
                    "type": "array"
                },
                "groupDesignations": {
                    "description": "<not in spec>."
                },
                "guid": {
                    "description": "<not in spec>.",
                    "type": "string"
                },
                "id": {
                    "description": "The unique ID for this item.",
                    "type": "string"
                },
                "industries": {
                    "description": "Primarily applies to industries associated with the application.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "isOrgItem": {
                    "description": "<not in spec>.",
                    "type": "boolean"
                },
                "itemControl": {
                    "description": "Indicates user's control to the item.\n\nValues: admin (for item owner and org admin) | update (for members of groups with item update capability that the item is shared with).",
                    "enum": [
                        "admin",
                        "update"
                    ],
                    "type": "string"
                },
                "languages": {
                    "description": "Primarily applies to languages associated with the application.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "largeThumbnail": {
                    "description": "Primarily applies to thumbnails associated with an application. The URL to the thumbnail used for the application.",
                    "type": "string"
                },
                "licenseInfo": {
                    "description": "Any license information or restrictions.",
                    "type": "string"
                },
                "listed": {
                    "description": "Primarily applies to the banner associated with an application. The URL to the banner used for the application.",
                    "type": "boolean"
                },
                "modified": {
                    "description": "The date the item was last modified. Shown in UNIX time in milliseconds.",
                    "type": "number"
                },
                "name": {
                    "description": "The file name of the item for file types. Read-only.",
                    "type": "string"
                },
                "numComments": {
                    "description": "Number of comments on the item.",
                    "type": "number"
                },
                "numRatings": {
                    "description": "Number of ratings on the item.",
                    "type": "number"
                },
                "numViews": {
                    "description": "Number of views of the item.",
                    "type": "number"
                },
                "orgId": {
                    "description": "<not in spec>.",
                    "type": "string"
                },
                "owner": {
                    "description": "The username of the user who owns this item.",
                    "type": "string"
                },
                "ownerFolder": {
                    "description": "The ID of the folder in which the owner has stored the item. The property is only returned to the item owner or the org admin.",
                    "type": "string"
                },
                "properties": {
                    "description": "A JSON object that primarily applies to system requirements, Terms and Conditions, version, supported platforms, YouTube video ID, etc associated with the application.",
                    "type": "string"
                },
                "protected": {
                    "description": "Protects the item from deletion. False is the default.",
                    "type": "boolean"
                },
                "proxyFilter": {
                    "description": "A JSON object used to restrict service item response results based on specified filter, i.e. limit results returned from a geocode service based on defined filters.See serviceProxyFilter for object details."
                },
                "scoreCompleteness": {
                    "description": "Item information completeness score based upon item snippet, thumbnail, description, title, tags etc.",
                    "type": "number"
                },
                "screenshots": {
                    "description": "Primarily applies to screenshots associated with an application. The URL to the screenshots used for the application.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "size": {
                    "description": "The size of the item.",
                    "type": "number"
                },
                "snippet": {
                    "description": "A short summary description of the item.",
                    "type": "string"
                },
                "spatialReference": {
                    "$ref": "#/definitions/esri.rest-api.SpatialReferenceJson.SpatialReferenceJson",
                    "description": "The coordinate system of the item."
                },
                "subInfo": {
                    "description": "<not in spec>.",
                    "type": "number"
                },
                "tags": {
                    "description": "User defined tags that describe the item.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "thumbnail": {
                    "description": "The URL to the thumbnail used for the item.",
                    "type": "string"
                },
                "title": {
                    "description": "The title of the item. This is the name that's displayed to users and by which they refer to the item. Every item must have a title.",
                    "type": "string"
                },
                "type": {
                    "description": "The GIS content type of this item. Example types include Web Map, Map Service, Shapefile, and Web Mapping Application. See {@link http://resources.arcgis.com/en/help/arcgis-rest-api/index.html#//02r3000000ms000000}.",
                    "type": "string"
                },
                "typeKeywords": {
                    "description": "A set of keywords that further describes the type of this item. Each item is tagged with a set of type keywords that are derived based on its primary type.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "url": {
                    "description": "The URL for the resource represented by the item. Applies only to items that represent web-accessible resources such as map services.",
                    "type": "string"
                }
            },
            "required": [
                "id"
            ],
            "type": "object"
        },
        "esri.rest-api.KMLLayerJson.KMLLayerJson": {
            "additionalProperties": false,
            "description": "Keyhole Markup Language (KML) is an XML-based format for storing geographic data and associated content and is an official Open Geospatial Consortium (OGC) standard. KML is a common format for sharing geographic data with non-GIS users as it can be easily delivered on the Internet.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/kmlLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerType": {
                    "const": "KML",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                },
                "visibleFolders": {
                    "description": "Array of numeric IDs of folders that will be made visible.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.DataSourceJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.JoinTableDataSourceJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.QueryTableDataSourceJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.RasterDataSourceJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.TableDataSourceJson"
                }
            ],
            "description": "This object applies if the layerDefinition source is set to DynamicDataLayer. See {@link https://developers.arcgis.com/web-map-specification/objects/dataSource/} {@link https://developers.arcgis.com/web-scene-specification/objects/dataSource/}."
        },
        "esri.rest-api.LayerDefinitionJson.DynamicDataLayerJson": {
            "additionalProperties": false,
            "description": "A dynamic data layer derived from a registered workspace. More information on this can be found in the ArcGIS REST API help. See {@link https://developers.arcgis.com/web-map-specification/objects/dynamicDataLayer_source/} {@link https://developers.arcgis.com/web-scene-specification/objects/dynamicDataLayer_source/}.",
            "properties": {
                "dataSource": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.DataSourceJson",
                    "description": "This object applies if the layerDefinition source is set to DynamicDataLayer. See {@link https://developers.arcgis.com/web-map-specification/objects/dataSource/} {@link https://developers.arcgis.com/web-scene-specification/objects/dataSource/}."
                },
                "fields": {
                    "description": "An array of objects specifying information about an attribute field.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.FieldJson.FieldJson"
                    },
                    "type": "array"
                },
                "type": {
                    "const": "dataLayer",
                    "description": "A string value indicating the type. This value is dataLayer.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.DynamicMapLayerJson": {
            "additionalProperties": false,
            "description": "A dynamic map layer refers to a layer in the current map service. More information on this can be found in the ArcGIS REST API help. See {@link https://developers.arcgis.com/web-map-specification/objects/dynamicMapLayer_source/} {@link https://developers.arcgis.com/web-scene-specification/objects/dynamicMapLayer_source/}.",
            "properties": {
                "gdbVersion": {
                    "description": "If applicable, specify this to use an alternate geodatabase version.",
                    "type": "string"
                },
                "mapLayerId": {
                    "description": "The current map layer's ID.",
                    "type": "number"
                },
                "type": {
                    "const": "mapLayer",
                    "description": "A string value indicating the type. This value is mapLayer.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.ElevationInfoJson": {
            "additionalProperties": false,
            "description": "Specifies how graphics are placed on the vertical axis (z). This property may only be used in a SceneView. See {@link https://developers.arcgis.com/web-scene-specification/objects/elevationInfo/}.",
            "properties": {
                "featureExpression": {
                    "description": "Deprecated with 1.8, use featureExpressionInfo instead. Ignores geometry z-values."
                },
                "featureExpressionInfo": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.FeatureExpressionInfoJson",
                    "description": "Sets the offset distance, type and other parameters."
                },
                "mode": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.ElevationModeJsonType",
                    "description": "Determines how the service elevation values are combined with the basemap elevation."
                },
                "offset": {
                    "description": "Offset is always added to the result of the above logic except for `\"onTheGround\"` where offset is ignored.",
                    "type": "number"
                },
                "unit": {
                    "description": "A string value indicating the unit for the values in elevationInfo. Applies to both offset and featureExpressionInfo. Defaults to meter if not set. Supported units: \"foot\", \"kilometer\", \"meter\", \"mile\", \"us-foot\", \"yard\".",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.ElevationModeJsonType": {
            "description": "Defines how the graphic is placed with respect to the terrain surface.",
            "enum": [
                "absoluteHeight",
                "onTheGround",
                "relativeToGround",
                "relativeToScene"
            ],
            "type": "string"
        },
        "esri.rest-api.LayerDefinitionJson.FeatureExpressionInfoJson": {
            "additionalProperties": false,
            "description": "An object that defines an expression for per-feature elevation. If not set, geometry.z values are used for elevation. Unit is applied to the resulting expression value.",
            "properties": {
                "expression": {
                    "description": "An Arcade expression evaluating to a number. Value of \"0\" does not use geometry.z values.",
                    "type": "string"
                },
                "title": {
                    "description": "Title of the expression.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.FeatureReductionClusterJson": {
            "additionalProperties": false,
            "description": "Feature reduction of type cluster declutters the screen by hiding features that would otherwise intersect with other features on screen. The default clusterRadius for the JavaScript API is 60.",
            "properties": {
                "clusterMaxSize": {
                    "description": "Size of the largest cluster, in screen units (points).",
                    "type": "number"
                },
                "clusterMinSize": {
                    "description": "Size of the smallest cluster, in screen units (points).",
                    "type": "number"
                },
                "clusterRadius": {
                    "description": "Strength of clustering, in screen units (points).",
                    "type": "number"
                },
                "disablePopup": {
                    "description": "Indicates whether to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "drawingInfo": {
                    "$ref": "#/definitions/esri.rest-api.DrawingInfoJson.DrawingInfoJson",
                    "description": "Contains labeling information for the cluster."
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "Defines the look and feel of popup windows when a user clicks or queries a feature."
                },
                "showLabels": {
                    "description": "Defines whether labels should be shown in the clusters.",
                    "type": "boolean"
                },
                "type": {
                    "const": "cluster",
                    "description": "The type of feature reduction.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.FeatureReductionJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.FeatureReductionClusterJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.FeatureReductionSelectionJson"
                }
            ],
            "description": "Feature reductions declutter the screen by hiding features that would otherwise intersect with other features on screen."
        },
        "esri.rest-api.LayerDefinitionJson.FeatureReductionSelectionJson": {
            "additionalProperties": false,
            "description": "Feature reduction of type selection declutters the screen by hiding features that would otherwise intersect with other features on screen. The default behavior of this feature reduction type is to select features by depth order, i.e. hide all features that would otherwise be overlapped by at least one other feature which is closer to the viewer.",
            "properties": {
                "type": {
                    "const": "selection",
                    "description": "The type of feature reduction.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.FieldOverrideJson": {
            "additionalProperties": false,
            "description": "Defines overridden properties on a field for a specific view of the data. See {@link https://developers.arcgis.com/web-map-specification/objects/fieldOverride/}.",
            "properties": {
                "alias": {
                    "description": "A string containing the overridden field alias.",
                    "type": "string"
                },
                "editable": {
                    "description": "A Boolean determining whether users can edit this field.",
                    "type": "boolean"
                },
                "name": {
                    "description": "A string containing the field name as defined by the service.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.JoinJsonType": {
            "description": "The type of the JoinTableDataSource.",
            "enum": [
                "esriLeftInnerJoin",
                "esriLeftOuterJoin"
            ],
            "type": "string"
        },
        "esri.rest-api.LayerDefinitionJson.JoinTableDataSourceJson": {
            "additionalProperties": false,
            "description": "Join Table data source is the result of a join operation. Nested joins are supported. To use nested joins, set either leftTableSource or rightTableSource to be a joinTable. See {@link https://developers.arcgis.com/web-map-specification/objects/joinTableDataSource/} {@link https://developers.arcgis.com/web-scene-specification/objects/joinTableDataSource/}.",
            "properties": {
                "joinType": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.JoinJsonType",
                    "description": "The type of join (left outer or left inner)."
                },
                "leftTableKey": {
                    "description": "Field name from the left table.",
                    "type": "string"
                },
                "leftTableSource": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.DynamicDataLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.DynamicMapLayerJson"
                        }
                    ],
                    "description": "The left source. If the leftTableSource is a table, the resulting joinTable is a table. If the leftTableSource is a layer, the resulting joinTable is a layer."
                },
                "rightTableKey": {
                    "description": "Field name from the right table.",
                    "type": "string"
                },
                "rightTableSource": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.DynamicDataLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.DynamicMapLayerJson"
                        }
                    ],
                    "description": "The right table source."
                },
                "type": {
                    "const": "joinTable",
                    "description": "Type of the DataSource.",
                    "type": "string"
                },
                "workspaceId": {
                    "description": "The unique string value used to identify the data-source's workspace.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.LayerDefinitionJson": {
            "additionalProperties": false,
            "description": "The LayerDefinition object defines the attribute schema and drawing information for a layer drawn using client-side graphics. This could include a feature collection, a CSV file referenced through the web, or a single layer in an ArcGIS map service. Also used for dynamic layers.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/layerDefinition/} {@link https://developers.arcgis.com/web-scene-specification/objects/layerDefinition/}.",
            "properties": {
                "allowGeometryUpdates": {
                    "description": "Boolean value indicating whether the geometry of the features in the layer can be edited.",
                    "type": "boolean"
                },
                "capabilities": {
                    "description": "A comma-separated string listing which editing operations are allowed on an editable feature service. Available operations include: Create | Delete | Query | Update | Editing.",
                    "type": "string"
                },
                "copyrightText": {
                    "description": "String value for the copyright text information for the layer.",
                    "type": "string"
                },
                "currentVersion": {
                    "description": "Numeric value indicating the server version of the layer.",
                    "type": "number"
                },
                "defaultVisibility": {
                    "description": "Boolean value indicating whether the layer's visibility is turned on.",
                    "type": "boolean"
                },
                "definitionEditor": {
                    "$ref": "#/definitions/esri.rest-api.DefinitionEditorJson.DefinitionEditorJson",
                    "description": "Stores interactive filters."
                },
                "definitionExpression": {
                    "description": "An optional SQL-based definition expression that narrows down the data to be displayed in the layer. Used with ArcGIS Server map services.",
                    "type": "string"
                },
                "description": {
                    "description": "String value of the layer as defined in the map service.",
                    "type": "string"
                },
                "displayField": {
                    "description": "The name of the field that best summarizes the feature. Values from this field are used by default as the titles for pop-up windows.",
                    "type": "string"
                },
                "drawingInfo": {
                    "$ref": "#/definitions/esri.rest-api.DrawingInfoJson.DrawingInfoJson",
                    "description": "A drawingInfo object containing drawing, labeling, and transparency information for the layer."
                },
                "elevationInfo": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.ElevationInfoJson",
                    "description": "Specifies how graphics are placed on the vertical axis (z). This property may only be used in a SceneView."
                },
                "extent": {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson",
                    "description": "The rectangular map extent that should be requested from the service, given in the format [[xmin, ymin],[xmax,ymax]]."
                },
                "featureReduction": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.FeatureReductionJson",
                    "description": "Feature reductions declutter the screen by hiding features that would otherwise intersect with other features on screen."
                },
                "fieldOverrides": {
                    "description": "The layer-specific overrides of field properties. Used by SubtypeGroupLayer to modify field information for each subtype. Any field missing from this array should be hidden.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.FieldOverrideJson"
                    },
                    "type": "array"
                },
                "fields": {
                    "description": "An array of Field objects containing information about the attribute fields for the feature collection or layer.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.FieldJson.FieldJson"
                    },
                    "type": "array"
                },
                "floorInfo": {
                    "$ref": "__type",
                    "description": "Contains floor-awareness information for the layer. See {@link https://developers.arcgis.com/web-map-specification/objects/layerFloorInfo/}."
                },
                "geometryType": {
                    "description": "The type of geometry used in the layer definition. One of the GeometryType constants.",
                    "type": "string"
                },
                "globalIdField": {
                    "description": "The unique identifier for a feature or table row within a geodatabase.",
                    "type": "string"
                },
                "hasAttachments": {
                    "description": "Indicates whether attachments should be loaded for the layer.",
                    "type": "boolean"
                },
                "hasM": {
                    "description": "Boolean value indicating whether layer has M values.",
                    "type": "boolean"
                },
                "hasStaticData": {
                    "description": "Boolean value indicating whether data changes. True if it does not.",
                    "type": "boolean"
                },
                "hasZ": {
                    "description": "Boolean value indicating whether layer has Z values.",
                    "type": "boolean"
                },
                "htmlPopupType": {
                    "description": "String value indicating the HTML popup type. Possible values are listed in the htmlPopupType table below.",
                    "enum": [
                        "esriServerHTMLPopupTypeAsHTMLText",
                        "esriServerHTMLPopupTypeAsURL",
                        "esriServerHTMLPopupTypeNone"
                    ],
                    "type": "string"
                },
                "id": {
                    "description": "The identifier assigned to the layer.",
                    "type": "string"
                },
                "isDataVersioned": {
                    "description": "Boolean value indicating whether the data is versioned.",
                    "type": "boolean"
                },
                "maxRecordCount": {
                    "description": "Numeric value indicating the maximum number of records that will be returned at once for a query.",
                    "type": "number"
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer definition will be applied. The number is the scale's denominator; thus, a value of\n2400 represents a scale of 1/2,400. A value of 0 indicates that the layer definition will be applied no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer definition will be applied. The number is the scale's denominator; thus, a value of\n2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "name": {
                    "description": "A string containing a unique name for the layer that could be displayed in a legend.",
                    "type": "string"
                },
                "objectIdField": {
                    "description": "Indicates the name of the object ID field in the dataset.",
                    "type": "string"
                },
                "orderBy": {
                    "description": "Determines the display order of features on the map.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.OrderByClauseJson"
                    },
                    "type": "array"
                },
                "overrideSymbols": {
                    "description": "Dictates whether a client can support having an end user modify symbols on individual features.",
                    "type": "boolean"
                },
                "rangeInfos": {
                    "description": "Indicates range information.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.RangeInfoJson"
                    },
                    "type": "array"
                },
                "source": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.DynamicDataLayerJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.DynamicMapLayerJson"
                        }
                    ],
                    "description": "An object indicating the layerDefinition's layer source. See {@link https://developers.arcgis.com/web-map-specification/objects/source/} {@link https://developers.arcgis.com/web-scene-specification/objects/source/}."
                },
                "spatialReference": {
                    "$ref": "#/definitions/esri.rest-api.SpatialReferenceJson.SpatialReferenceJson",
                    "description": "An object containing the WKID or WKT identifying the spatial reference of the layer's geometry."
                },
                "supportedQueryFormats": {
                    "description": "String value indicating the output formats that are supported in a query.",
                    "type": "string"
                },
                "supportsAdvancedQueries": {
                    "description": "Boolean value indicating whether the layer supports orderByFields in a query operation.",
                    "type": "boolean"
                },
                "supportsAttachmentsByUploadId": {
                    "description": "Boolean value indicating whether the layer supports uploading attachments with the Uploads operation. This can be then used in the Add Attachment and Update Attachment operations.",
                    "type": "boolean"
                },
                "supportsCalculate": {
                    "description": "Boolean value indicating whether the layer supports the Calculate REST operation when updating features.",
                    "type": "boolean"
                },
                "supportsRollbackOnFailureParameter": {
                    "description": "Boolean value indicating whether the layer supports rolling back edits made on a feature layer if some of the edits fail.",
                    "type": "boolean"
                },
                "supportsStatistics": {
                    "description": "Boolean value indicating whether feature layer query operations support statistical functions.",
                    "type": "boolean"
                },
                "supportsValidateSql": {
                    "description": "Boolean value indicating whether the validateSQL operation is supported across a feature service layer.",
                    "type": "boolean"
                },
                "templates": {
                    "description": "An array of template objects describing features that can be created in this layer. Templates are used with map notes, other feature collections, and editable web-based CSV layers. They are not used with ArcGIS feature services, which already have feature templates defined in the service.\n\nTemplates are defined as a property of the layer definition when there are no types defined; otherwise, templates are defined as properties of the types.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.TemplateJson.TemplateJson"
                    },
                    "type": "array"
                },
                "timeInfo": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerTimeInfoJson",
                    "description": "The time info metadata of the layer. May be set for feature layers inside a feature collection item."
                },
                "type": {
                    "description": "Indicates whether the layerDefinition applies to a \"Feature Layer\" or a \"Table\".",
                    "type": "string"
                },
                "typeIdField": {
                    "description": "The name of the field holding the type ID for the features, if types exist for the dataset. Each available type has an ID, and each feature's typeIdField can be read to determine the type for each feature.",
                    "type": "string"
                },
                "types": {
                    "description": "An array of Type objects available for the dataset. This is used when the typeIdField is populated.\n\nTypes contain information about the combinations of attributes that are allowed for features in the dataset. Each feature in the dataset can have a type, indicated in its typeIdField.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.TypeJson.TypeJson"
                    },
                    "type": "array"
                },
                "visibilityField": {
                    "description": "String value indicating the attribute field that is used to control the visibility of a feature. If applicable, when rendering a feature the client should use this field to control visibility. The field's values are 0 = do not display, 1 = display.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.LayerTimeInfoJson": {
            "additionalProperties": false,
            "description": "Time info if the layer/table supports querying and exporting maps based on time. See {@link https://developers.arcgis.com/web-map-specification/objects/layerTimeInfo/}.",
            "properties": {
                "endTimeField": {
                    "description": "The name of the attribute field that contains the end time information.",
                    "type": "string"
                },
                "exportOptions": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.TimeInfoExportOptionsJson",
                    "description": "The default time-related export options for this layer."
                },
                "hasLiveData": {
                    "description": "Indicates whether service has live data.",
                    "type": "boolean"
                },
                "startTimeField": {
                    "description": "The name of the attribute field that contains the start time information.",
                    "type": "string"
                },
                "timeExtent": {
                    "description": "The time extent for all the data in the layer.",
                    "items": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "number"
                        }
                    ],
                    "maxItems": 2,
                    "minItems": 2,
                    "type": "array"
                },
                "timeInterval": {
                    "description": "Time interval of the data in the layer. Typically used for the TimeSlider when animating the layer.",
                    "type": "number"
                },
                "timeIntervalUnits": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.TemporalUnitJsonType",
                    "description": "Temporal unit in which the time interval is measured."
                },
                "timeReference": {
                    "$ref": "__type",
                    "description": "Defines information about daylight savings time and the time zone in which data was collected. See {@link https://developers.arcgis.com/web-map-specification/objects/timeReference/}."
                },
                "trackIdField": {
                    "description": "The field that contains the trackId.",
                    "type": "string"
                }
            },
            "required": [
                "trackIdField"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.OrderByClauseJson": {
            "additionalProperties": false,
            "description": "A clause in a layer definition's `orderBy` property.",
            "properties": {
                "field": {
                    "description": "The number or date field whose values will be used to sort features.",
                    "type": "string"
                },
                "order": {
                    "description": "The sort order.",
                    "enum": [
                        "asc",
                        "desc"
                    ],
                    "type": "string"
                },
                "valueExpression": {
                    "description": "The [Arcade expression](https://developers.arcgis.com/javascript/latest/arcade/) whose return value will be used to sort features. (Currently undocumented by ESRI's Webmap Spec).\n\n[Read more...](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-mixins-OrderedLayer.html#orderBy).",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.QueryTableDataSourceJson": {
            "additionalProperties": false,
            "description": "Query table data source is a layer/table that is defined by a SQL query. See {@link https://developers.arcgis.com/web-map-specification/objects/queryTableDataSource/} {@link https://developers.arcgis.com/web-scene-specification/objects/queryTableDataSource/}.",
            "properties": {
                "geometryType": {
                    "description": "The geometry type. When querying a table that does not have a geometry column, do not include geometryType.",
                    "enum": [
                        "esriGeometryMultipoint",
                        "esriGeometryPoint",
                        "esriGeometryPolygon",
                        "esriGeometryPolyline"
                    ],
                    "type": "string"
                },
                "oidFields": {
                    "description": "Comma separated list of identifier fields. There are only certain field types that can be used as a unique identifier. These field types include integer, string, GUID, and date. If a single integer field is specified, map server uses the values in that field directly to uniquely identify all features and rows returned from a queryTable. However, if a single string field or a group of fields is used as the unique identifier, map server maps those unique values to an integer.",
                    "type": "string"
                },
                "query": {
                    "description": "The SQL query.",
                    "type": "string"
                },
                "spatialReference": {
                    "$ref": "#/definitions/esri.rest-api.SpatialReferenceJson.SpatialReferenceJson",
                    "description": "The spatial reference of the geometry column. When querying a table that does not have a geometry column, do not include spatialReference."
                },
                "type": {
                    "const": "queryTable",
                    "description": "Type of the DataSource.",
                    "type": "string"
                },
                "workspaceId": {
                    "description": "The unique string value used to identify the data-source's workspace.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.RangeInfoJson": {
            "additionalProperties": false,
            "description": "Range Information.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/rangeInfo/}.",
            "properties": {
                "currentRangeExtent": {
                    "description": "Contains the min and max values within which the features are visible.",
                    "items": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "number"
                        }
                    ],
                    "maxItems": 2,
                    "minItems": 2,
                    "type": "array"
                },
                "field": {
                    "description": "Field name to used for the range.",
                    "type": "string"
                },
                "fullRangeExtent": {
                    "description": "Contains the min and max values of all the features for this rangeInfo.",
                    "items": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "number"
                        }
                    ],
                    "maxItems": 2,
                    "minItems": 2,
                    "type": "array"
                },
                "name": {
                    "description": "A unique name that can be referenced by webMap.activeRanges.",
                    "type": "string"
                },
                "type": {
                    "const": "rangeInfo",
                    "description": "Type of range object. Value of this property must be rangeInfo.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.RasterDataSourceJson": {
            "additionalProperties": false,
            "description": "Raster data source is a file-based raster that resides in a registered raster workspace. See {@link https://developers.arcgis.com/web-map-specification/objects/rasterDataSource/} {@link https://developers.arcgis.com/web-scene-specification/objects/rasterDataSource/}.",
            "properties": {
                "dataSourceName": {
                    "description": "The fully-qualified string value used to specify where the dataSource is derived.",
                    "type": "string"
                },
                "type": {
                    "const": "raster",
                    "description": "Type of the DataSource.",
                    "type": "string"
                },
                "workspaceId": {
                    "description": "The unique string value used to identify the data-source's workspace.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.TableDataSourceJson": {
            "additionalProperties": false,
            "description": "Table data source is a table, feature class, or raster that resides in a registered workspace (either a folder or geodatabase). In the case of a geodatabase, if versioned, use version to switch to an alternate geodatabase version. If version is empty or missing, the registered geodatabase version will be used. See {@link https://developers.arcgis.com/web-map-specification/objects/tableDataSource/} {@link https://developers.arcgis.com/web-scene-specification/objects/tableDataSource/}.",
            "properties": {
                "dataSourceName": {
                    "description": "The fully-qualified string value used to specify where the dataSource is derived.",
                    "type": "string"
                },
                "gdbVersion": {
                    "description": "If applicable, the value indicating the version of the geodatabase.",
                    "type": "string"
                },
                "type": {
                    "const": "table",
                    "description": "Type of the DataSource.",
                    "type": "string"
                },
                "workspaceId": {
                    "description": "The unique string value used to identify the data-source's workspace.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerDefinitionJson.TemporalUnitJsonType": {
            "description": "Temporal units in which a time value can be measured.",
            "enum": [
                "esriTimeUnitsCenturies",
                "esriTimeUnitsDays",
                "esriTimeUnitsDecades",
                "esriTimeUnitsHours",
                "esriTimeUnitsMilliseconds",
                "esriTimeUnitsMinutes",
                "esriTimeUnitsMonths",
                "esriTimeUnitsSeconds",
                "esriTimeUnitsUnknown",
                "esriTimeUnitsWeeks",
                "esriTimeUnitsYears"
            ],
            "type": "string"
        },
        "esri.rest-api.LayerDefinitionJson.TimeInfoExportOptionsJson": {
            "additionalProperties": false,
            "description": "The default time-related export options for a layer. See https://developers.arcgis.com/web-map-specification/objects/timeInfoExportOptions/.",
            "properties": {
                "timeDataCumulative": {
                    "description": "If true, draw all the features from the beginning of time for that data.",
                    "type": "boolean"
                },
                "timeOffset": {
                    "description": "Time offset value for this layer so that it can be overlaid on the top of a previous or future time period.",
                    "type": "number"
                },
                "timeOffsetUnits": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.TemporalUnitJsonType",
                    "description": "Temporal unit in which the time offset is measured."
                },
                "useTime": {
                    "description": "If true, use the time extent specified by the time parameter.",
                    "type": "boolean"
                }
            },
            "type": "object"
        },
        "esri.rest-api.LayerJson.BloomEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the bloom effect.",
            "properties": {
                "radius": {
                    "description": "Determines the radius of the blur. Negative values are not allowed. Leaves the pixels inside the radius untouched.",
                    "type": "number"
                },
                "strength": {
                    "description": "The intensity of the bloom effect. The higher the value, the brighter the glow. Negative values are not allowed.",
                    "type": "number"
                },
                "threshold": {
                    "description": "The minimum color luminosity for a pixel to bloom, where at 0 all pixels bloom and 1 only the pixels with 100% luminosity colors bloom.",
                    "type": "number"
                },
                "type": {
                    "const": "bloom",
                    "description": "Effect type.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.BlurEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the blur effect.",
            "properties": {
                "radius": {
                    "description": "The radius of the blur in points. It defines the value of the standard deviation to the Gaussian function. Negative values are not allowed.",
                    "type": "number"
                },
                "type": {
                    "const": "blur",
                    "description": "Effect type.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.BrightnessEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the brightness effect.",
            "properties": {
                "amount": {
                    "description": "Amount of effect. A value of 0 leaves the input unchanged. Grayscale, invert, sepia, and opacity effects accept a maximum amount of 1 which applies the effect at 100%. Brightness, contrast, and saturate can accept amount above 1. Negative values are not allowed.",
                    "type": "number"
                },
                "type": {
                    "const": "brightness",
                    "description": "Effect type.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.ContrastEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the contrast effect.",
            "properties": {
                "amount": {
                    "description": "Amount of effect. A value of 0 leaves the input unchanged. Grayscale, invert, sepia, and opacity effects accept a maximum amount of 1 which applies the effect at 100%. Brightness, contrast, and saturate can accept amount above 1. Negative values are not allowed.",
                    "type": "number"
                },
                "type": {
                    "const": "contrast",
                    "description": "Effect type.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.DropShadowEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the drop-shadow effect.",
            "properties": {
                "blurRadius": {
                    "description": "The radius of the blur in points. It defines the value of the standard deviation to the Gaussian function.",
                    "type": "number"
                },
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255."
                },
                "type": {
                    "const": "drop-shadow",
                    "description": "Effect type.",
                    "type": "string"
                },
                "xoffset": {
                    "description": "The distance of the shadow on the x-axis in points.",
                    "type": "number"
                },
                "yoffset": {
                    "description": "The distance of the shadow on the y-axis in points.",
                    "type": "number"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.EffectJson": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.LayerJson.ScaleDependentEffectJson"
                    },
                    "type": "array"
                },
                {
                    "items": {
                        "$ref": "#/definitions/EffectFunctionJson"
                    },
                    "type": "array"
                }
            ],
            "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
        },
        "esri.rest-api.LayerJson.GrayscaleEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the grayscale effect.",
            "properties": {
                "amount": {
                    "description": "Amount of effect. A value of 0 leaves the input unchanged. Grayscale, invert, sepia, and opacity effects accept a maximum amount of 1 which applies the effect at 100%. Brightness, contrast, and saturate can accept amount above 1. Negative values are not allowed.",
                    "type": "number"
                },
                "type": {
                    "const": "grayscale",
                    "description": "Effect type.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.HueRotateEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the hue-rotate effect.",
            "properties": {
                "angle": {
                    "description": "The relative change in hue as an angle in degree. A value of 0 leaves the input unchanged. A positive hue rotation increases the hue value, while a negative one decreases the hue value.",
                    "type": "number"
                },
                "type": {
                    "const": "hue-rotate",
                    "description": "Effect type.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.InvertEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the invert effect.",
            "properties": {
                "amount": {
                    "description": "Amount of effect. A value of 0 leaves the input unchanged. Grayscale, invert, sepia, and opacity effects accept a maximum amount of 1 which applies the effect at 100%. Brightness, contrast, and saturate can accept amount above 1. Negative values are not allowed.",
                    "type": "number"
                },
                "type": {
                    "const": "invert",
                    "description": "Effect type.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.OpacityEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the opacity effect.",
            "properties": {
                "amount": {
                    "description": "Amount of effect. A value of 0 leaves the input unchanged. Grayscale, invert, sepia, and opacity effects accept a maximum amount of 1 which applies the effect at 100%. Brightness, contrast, and saturate can accept amount above 1. Negative values are not allowed.",
                    "type": "number"
                },
                "type": {
                    "const": "opacity",
                    "description": "Effect type.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.SaturateEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the saturate effect.",
            "properties": {
                "amount": {
                    "description": "Amount of effect. A value of 0 leaves the input unchanged. Grayscale, invert, sepia, and opacity effects accept a maximum amount of 1 which applies the effect at 100%. Brightness, contrast, and saturate can accept amount above 1. Negative values are not allowed.",
                    "type": "number"
                },
                "type": {
                    "const": "saturate",
                    "description": "Effect type.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.ScaleDependentEffectJson": {
            "additionalProperties": false,
            "description": "An object describing the effect to apply at a scale stop.",
            "properties": {
                "scale": {
                    "description": "The scale of the view for the effect to take place.",
                    "type": "number"
                },
                "value": {
                    "description": "The effect to be applied at the corresponding scale.",
                    "items": {
                        "$ref": "#/definitions/EffectFunctionJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "scale",
                "value"
            ],
            "type": "object"
        },
        "esri.rest-api.LayerJson.SepiaEffectFunctionJson": {
            "additionalProperties": false,
            "description": "An Effect Function for the sepia effect.",
            "properties": {
                "amount": {
                    "description": "Amount of effect. A value of 0 leaves the input unchanged. Grayscale, invert, sepia, and opacity effects accept a maximum amount of 1 which applies the effect at 100%. Brightness, contrast, and saturate can accept amount above 1. Negative values are not allowed.",
                    "type": "number"
                },
                "type": {
                    "const": "sepia",
                    "description": "Effect type.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.MapServiceLayerJson.MapServiceLayerJson": {
            "additionalProperties": false,
            "description": "ArcGIS web maps are designed to work with web services hosted on ArcGIS Server and ArcGIS Online, in addition to other types of servers. Map services can be cached (tiled) or uncached (dynamic). This object specifically details properties within uncached map services.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/mapServiceLayer/} {@link https://developers.arcgis.com/web-scene-specification/objects/mapServiceLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types."
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "isReference": {
                    "description": "This is applicable if used as a baseMapLayer. A boolean value indicating whether or not the baseMapLayer draws on top (true) of other layers, including operationalLayers , or below (false).",
                    "type": "boolean"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerType": {
                    "const": "ArcGISMapServiceLayer",
                    "description": "Type of the layer.",
                    "type": "string"
                },
                "layers": {
                    "description": "An array of layer objects defining the styling, geometry, and attribute information for the features.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.SublayerJson.SublayerJson"
                    },
                    "type": "array"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "timeAnimation": {
                    "description": "This property is applicable to layers that support time. If 'true', timeAnimation is enabled.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                },
                "visibleLayers": {
                    "description": "An array of layers that should appear visible. Used with ArcGIS map services that are not tiled in addition to WMS layers. Array of items of the following types: Number With ArcGIS map services, the array contains integers of the index positions of each visible layer.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.MosaicRuleJson.MosaicRuleJson": {
            "additionalProperties": false,
            "description": "Specifies the mosaic rule when defining how individual images should be mosaiced. It specifies selection, mosaic method, sort order, overlapping pixel resolution, etc. Mosaic rules are for mosaicing rasters in the mosaic dataset.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/mosaicRule/} {@link https://developers.arcgis.com/web-scene-specification/objects/mosaicRule/}.",
            "properties": {
                "ascending": {
                    "description": "Indicates whether the sort should be ascending.",
                    "type": "boolean"
                },
                "fids": {
                    "description": "A list that defines a subset of rasters used in the mosaic, be aware that the rasters may not be visible at all scales.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "itemRenderingRule": {
                    "description": "The rendering rule applies on items before mosaicing.",
                    "type": "string"
                },
                "lockRasterIds": {
                    "description": "Lock a few rasters in the image service. Used together with esriMosaicLockRaster.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "mosaicMethod": {
                    "description": "The mosaic method determines how the selected rasters are ordered.",
                    "enum": [
                        "esriMosaicAttribute",
                        "esriMosaicCenter",
                        "esriMosaicLockRaster",
                        "esriMosaicNadir",
                        "esriMosaicNone",
                        "esriMosaicNorthwest",
                        "esriMosaicSeamline",
                        "esriMosaicViewPoint"
                    ],
                    "type": "string"
                },
                "mosaicOperation": {
                    "description": "Use the mosaic operation to resolve overlap pixel values: from first or last raster, use the min, max or mean of the pixel values, or blend them.",
                    "enum": [
                        "MT_BLEND",
                        "MT_FIRST",
                        "MT_LAST",
                        "MT_MAX",
                        "MT_MEAN",
                        "MT_MIN",
                        "MT_SUM"
                    ],
                    "type": "string"
                },
                "multidimensionalDefinition": {
                    "description": "Definition of multidimensional variables.\n\nSee https://developers.arcgis.com/web-map-specification/objects/multidimensionalDefinition/ and https://developers.arcgis.com/web-scene-specification/objects/multidimensionalDefinition/.",
                    "items": {
                        "$ref": "__type"
                    },
                    "type": "array"
                },
                "sortField": {
                    "description": "The field name used together with esriMosaicAttribute method.",
                    "type": "string"
                },
                "sortValue": {
                    "description": "The base sort value used together with esriMosaicAttribute method and sortField parameter.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "viewpoint": {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson",
                    "description": "Use a view point along with esriMosaicViewpoint."
                },
                "where": {
                    "description": "Use a where clause to define a subset of rasters used in the mosaic, be aware that the rasters may not be visible at all scales.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.OperationalLayerJson.OperationalLayerJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.AnnotationLayerJson.AnnotationLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.BuildingSceneLayerJson.BuildingSceneLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.CSVLayerJson.CSVLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureLayerJson.FeatureLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeoJSONLayerJson.GeoJSONLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeoRSSLayerJson.GeoRSSLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GroupLayerJson.GroupLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.ImageServiceLayerJson.ImageServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.ImageServiceVectorLayerJson.ImageServiceVectorLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.IntegratedMeshLayerJson.IntegratedMeshLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.KMLLayerJson.KMLLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.MapServiceLayerJson.MapServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.PointCloudLayerJson.PointCloudLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SceneLayerJson.SceneLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.StreamLayerJson.StreamLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SubtypeGroupLayerJson.SubtypeGroupLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.TiledImageServiceLayerJson.TiledImageServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.TiledMapServiceLayerJson.TiledMapServiceLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.VectorTileLayerJson.VectorTileLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.WebTileLayerJson.WebTileLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.WFSLayerJson.WFSLayerJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.WMSLayerJson.WMSLayerJson"
                }
            ],
            "description": "An operational layer in a web map/scene."
        },
        "esri.rest-api.PointCloudLayerJson.PointCloudLayerJson": {
            "additionalProperties": false,
            "description": "Point cloud data is post-processed spatially organized lidar data that consists of large collections of 3D points. Elevations for the ground, buildings, forest canopy, highway overpasses, and anything else encountered during the lidar survey make up the point cloud data. Point cloud layers allow for fast visualization of point cloud data in the browser.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "disablePopup": {
                    "description": "Indicates whether to allow a client to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "PointCloudLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A PopupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "URL to the ArcGIS Server Image Service.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.PopupInfoJson.DateFormatJsonType": {
            "description": "Possible date formats for {@link FormatJson.dateFormat}.",
            "enum": [
                "dayShortMonthYear",
                "dayShortMonthYearLongTime",
                "dayShortMonthYearLongTime24",
                "dayShortMonthYearShortTime",
                "dayShortMonthYearShortTime24",
                "longDate",
                "longDateLongTime",
                "longDateLongTime24",
                "longDateShortTime",
                "longDateShortTime24",
                "longMonthDayYear",
                "longMonthDayYearLongTime",
                "longMonthDayYearLongTime24",
                "longMonthDayYearShortTime",
                "longMonthDayYearShortTime24",
                "longMonthYear",
                "shortDate",
                "shortDateLE",
                "shortDateLELongTime",
                "shortDateLELongTime24",
                "shortDateLEShortTime",
                "shortDateLEShortTime24",
                "shortDateLongTime",
                "shortDateLongTime24",
                "shortDateShortTime",
                "shortDateShortTime24",
                "shortMonthYear",
                "year"
            ],
            "type": "string"
        },
        "esri.rest-api.PopupInfoJson.FieldInfoJson": {
            "additionalProperties": false,
            "description": "Defines how a field in the dataset participates (or does not participate) in a pop-up window.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/fieldInfo/} {@link https://developers.arcgis.com/web-scene-specification/objects/fieldInfo/}.",
            "properties": {
                "fieldName": {
                    "description": "The field name as defined by the service.",
                    "type": "string"
                },
                "format": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.FormatJson",
                    "description": "A format object used with numerical or date fields to provide more detail about how the value should be displayed in a web map pop-up window."
                },
                "isEditable": {
                    "description": "Determines whether users can edit this field.",
                    "type": "boolean"
                },
                "label": {
                    "description": "The field alias. This can be overridden by the web map author.",
                    "type": "string"
                },
                "stringFieldOption": {
                    "description": "The type of input box editors will see when editing the field. Applies only to string fields.",
                    "enum": [
                        "richtext",
                        "textarea",
                        "textbox"
                    ],
                    "type": "string"
                },
                "tooltip": {
                    "description": "Provides an editing hint for editors of the field. This string could provide a short description of the field and how editors should format or supply its value.",
                    "type": "string"
                },
                "visible": {
                    "description": "Determines whether the field is visible in the pop-up window.",
                    "type": "boolean"
                }
            },
            "required": [
                "fieldName"
            ],
            "type": "object"
        },
        "esri.rest-api.PopupInfoJson.FormatJson": {
            "additionalProperties": false,
            "description": "The format object can be used with numerical or date fields to provide more detail about how values should be displayed in web map pop-up windows.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/format/} {@link https://developers.arcgis.com/web-scene-specification/objects/format/}.",
            "properties": {
                "dateFormat": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.DateFormatJsonType",
                    "description": "A string used with date fields to specify how the date should appear in pop-up windows."
                },
                "digitSeparator": {
                    "description": "A Boolean used with numerical fields. A value of true allows the number to have a digit (or thousands) separator when the value appears in pop-up windows. Depending on the locale, this separator is a decimal point or a comma. A value of false means that no separator will be used.",
                    "type": "boolean"
                },
                "places": {
                    "description": "An integer used with numerical fields to specify the number of supported decimal places that should appear in pop-up windows. Any places beyond this value are rounded.",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "esri.rest-api.PopupInfoJson.MediaInfoJson": {
            "additionalProperties": false,
            "description": "Defines an image or a chart to be displayed in a pop-up window. See https://developers.arcgis.com/web-map-specification/objects/mediaInfo/ and https://developers.arcgis.com/web-scene-specification/objects/mediaInfo/.",
            "properties": {
                "altText": {
                    "description": "A string providing the alternate text for the media.",
                    "type": "string"
                },
                "caption": {
                    "description": "A caption describing the media. This can contain a field name enclosed in `{}`, such as `{IMAGE_CAPTION}`.",
                    "type": "string"
                },
                "refreshInterval": {
                    "description": "Refresh interval of the layer in minutes. Non-zero value indicates automatic layer refresh at the specified interval. Value of 0 indicates auto refresh is not enabled. If the property does not exist, it's equivalent to having a value of 0. Only applicable when type is set to image.",
                    "type": "number"
                },
                "title": {
                    "description": "A title for the media. This can contain a field name enclosed in `{}`, such as `{IMAGE_TITLE}`.",
                    "type": "string"
                },
                "type": {
                    "description": "Defines the type of media. One of the {@link MediaJsonType} constants.",
                    "type": "string"
                },
                "value": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.ValueJson",
                    "description": "Contains information about how the image should be retrieved or how the chart should be constructed."
                }
            },
            "type": "object"
        },
        "esri.rest-api.PopupInfoJson.OrderByFieldsJson": {
            "additionalProperties": false,
            "description": "Object indicating the field display order for the related records and whether they should be sorted in ascending or descending order.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/orderByFields/} {@link https://developers.arcgis.com/web-scene-specification/objects/orderByFields/}.",
            "properties": {
                "field": {
                    "description": "The attribute value of the field selected that will drive the sorting of related records.",
                    "type": "string"
                },
                "order": {
                    "description": "Set the ascending (asc) or descending (desc) sort order of the returned related records.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.PopupInfoJson.PopupElementJson": {
            "additionalProperties": false,
            "description": "Popup elements allow users to author popups, using multiple elements such as tabular views, string description, media (charts and images), and attachments of the attributes and control the order in which they appear. Specifically, popupElements do the following: 1) provide the ability to explicitly add a field/ value table in addition to a description, 2) allow adding multiple description elements, and 3) allow a user to author and consume elements of a popup in the order of their choosing.\n\nEach popupElement has a type property. This string value indicates the type of popupElement used.\n\nSee https://developers.arcgis.com/web-map-specification/objects/popupElement/ and https://developers.arcgis.com/web-scene-specification/objects/popupElement/.",
            "properties": {
                "attributes": {
                    "description": "A dictionary of key value pairs representing attributes to be used instead of fields and their values. This property is only used when the element is of type expression and should be returned as part of the arcade expression itself. This property allows passing arcade derived attribute values into fields or media elements."
                },
                "description": {
                    "description": "An optional string value describing the element in detail. This property does not apply when the type is text or expression.",
                    "type": "string"
                },
                "displayCount": {
                    "description": "This property applies to elements of type relationship. An integer that indicates the maximum number of records to display.",
                    "type": "number"
                },
                "displayType": {
                    "description": "This property applies to elements of type attachments and relationship. A string value indicating how to display the attachment. Possible values are, 'preview', and 'list' for attachments types, and 'list' for relationship types. If list is specified, attachments show as links.",
                    "type": "string"
                },
                "expressionInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupExpressionInfoJson",
                    "description": "This property applies to elements of type expression. An Arcade expression that defines the pop-up element content."
                },
                "fieldInfos": {
                    "description": "This property applies to elements of type fields. It is an array of popupInfo.fieldInfo objects representing a field/value pair displayed as a table within the popupElement. If the fieldInfos property is not provided, the popupElement will display whatever is specified directly in the popupInfo.fieldInfos property.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.FieldInfoJson"
                    },
                    "type": "array"
                },
                "mediaInfos": {
                    "description": "This property applies to elements of type media. An array of popupInfo.mediaInfo objects representing an image or chart for display. If no mediaInfos property is provided, the popupElement will display whatever is specified in the popupInfo.mediaInfo property.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.MediaInfoJson"
                    },
                    "type": "array"
                },
                "orderByFields": {
                    "description": "This property applies to elements of type relationship. Array of orderByFields objects indicating the field display order for the related records and whether they should be sorted in ascending 'asc' or descending 'desc' order.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.OrderByFieldsJson"
                    },
                    "type": "array"
                },
                "relationshipId": {
                    "description": "This property applies to elements of type relationship. The id of the relationship as defined in the feature layer definition.",
                    "type": "number"
                },
                "text": {
                    "description": "This property applies to elements of type text. This is string value indicating the text to be displayed within the popupElement. If no text property is provided, the popupElement will display whatever is specified in the popupInfo.description property.",
                    "type": "string"
                },
                "title": {
                    "description": "An optional string value indicating what the element represents. This property does not apply when the type is text or expression.",
                    "type": "string"
                },
                "type": {
                    "description": "String value indicating which element to use.",
                    "enum": [
                        "attachments",
                        "expression",
                        "fields",
                        "media",
                        "relationship",
                        "text"
                    ],
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.PopupInfoJson.PopupExpressionInfoJson": {
            "additionalProperties": false,
            "description": "Arcade expression added to the pop-up.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/popupExpressionInfo/}.",
            "properties": {
                "expression": {
                    "description": "The Arcade expression.",
                    "type": "string"
                },
                "name": {
                    "description": "Unique identifier for the expression.",
                    "type": "string"
                },
                "returnType": {
                    "description": "Return type of the Arcade expression, can be number or string. Defaults to string value. Number values are assumed to be double. This can be determined by the authoring client by executing the expression using a sample feature(s), although it can be corrected by the user. Knowing the returnType allows the authoring client to present fields in relevant contexts. For example, numeric fields in numeric contexts such as charts.",
                    "enum": [
                        "number",
                        "string"
                    ],
                    "type": "string"
                },
                "title": {
                    "description": "Title of the expression.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.PopupInfoJson.PopupInfoJson": {
            "additionalProperties": false,
            "description": "Defines the look and feel of pop-up windows when users click or query a feature.\n\nSee https://developers.arcgis.com/web-map-specification/objects/popupInfo/ and https://developers.arcgis.com/web-scene-specification/objects/popupInfo/.",
            "properties": {
                "description": {
                    "description": "A string that appears in the body of the pop-up window as a description. This can contain a field name enclosed in `{}`, such as `{DETAILS}`.",
                    "type": "string"
                },
                "expressionInfos": {
                    "description": "List of Arcade expressions added to the pop-up.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupExpressionInfoJson"
                    },
                    "type": "array"
                },
                "fieldInfos": {
                    "description": "An array of {@link FieldInfoJson} objects defining how each field in the dataset participates (or does not participate) in the pop-up window. The order of the array is the order that fields are shown in the pop-up window.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.FieldInfoJson"
                    },
                    "type": "array"
                },
                "mediaInfos": {
                    "description": "Array of various mediaInfo to display. Can be of type image, piechart, barchart, columnchart, or linechart. The order given is the order in which is displays.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.MediaInfoJson"
                    },
                    "type": "array"
                },
                "popupElements": {
                    "description": "An array of popupElement objects that represent an ordered list of popup elements.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupElementJson"
                    },
                    "type": "array"
                },
                "relatedRecordsInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.RelatedRecordsInfoJson",
                    "description": "Indicates whether to enable related records if they exist on a layer."
                },
                "showAttachments": {
                    "description": "Determines whether attachments will be loaded for feature layers that have attachments.",
                    "type": "boolean"
                },
                "title": {
                    "description": "Appears at the top of the pop-up window as a title. This can contain a field name enclosed in `{}`, such as `{NAME}`.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.PopupInfoJson.RelatedRecordsInfoJson": {
            "additionalProperties": false,
            "description": "The sort in the popupInfo for the parent feature. This impacts the sorting order for the returned child records.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/relatedRecordsInfo/} {@link https://developers.arcgis.com/web-scene-specification/objects/relatedRecordsInfo/}.",
            "properties": {
                "orderByFields": {
                    "description": "Array of orderByFields objects indicating the field display order for the related records and whether they should be sorted in ascending 'asc' or descending 'desc' order.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.PopupInfoJson.OrderByFieldsJson"
                    },
                    "type": "array"
                },
                "showRelatedRecords": {
                    "description": "Required boolean value indicating whether to display related records. If true, client should const the user navigate to the related records. Defaults to true if the layer participates in a relationship AND the related layer/table has already been added to the map (either as an operationalLayer or as a table).",
                    "type": "boolean"
                }
            },
            "required": [
                "showRelatedRecords"
            ],
            "type": "object"
        },
        "esri.rest-api.PopupInfoJson.ValueJson": {
            "additionalProperties": false,
            "description": "The value object contains information for pop-up windows about how images should be retrieved or charts constructed.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/value/} {@link https://developers.arcgis.com/web-scene-specification/objects/value/}.",
            "properties": {
                "fields": {
                    "description": "Used with charts. An array of field names to display in the chart.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "linkURL": {
                    "description": "Used with images. A string containing a URL to be launched in a browser when a user clicks the image.",
                    "type": "string"
                },
                "normalizeField": {
                    "description": "Used with charts. An optional string containing the name of a field. The values of all fields in the chart will be normalized (divided) by the value of this field.",
                    "type": "string"
                },
                "sourceURL": {
                    "description": "Used with images. The URL to the image.",
                    "type": "string"
                },
                "tooltipField": {
                    "description": "String value indicating the tooltip for a chart specified from another field. This field is needed when related records are not sued. It is used for showing tooltips from another field in the same layer or related layer/table.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.RendererJson.AuthoringInfoJson": {
            "additionalProperties": false,
            "description": "The authoringInfo is an object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it. In order to support the slider with color/size/transparency information, the selection of the various themes, classification, and additional properties are saved within this object.\n\nNote: The authoringInfo object is not required with a renderer. It is only used if rendering was generated using Map Viewer rendering tools.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/authoringInfo/} {@link https://developers.arcgis.com/web-scene-specification/objects/authoringInfo/}.",
            "properties": {
                "classificationMethod": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.ClassificationMethodJsonType",
                    "description": "Used for classed color or size. The default value is esriClassifyManual."
                },
                "colorRamp": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.ColorRampJson",
                    "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols."
                },
                "field": {
                    "$ref": "#/definitions/esri.rest-api.FieldJson.FieldJson",
                    "description": "Contains information about an attribute field."
                },
                "fields": {
                    "description": "An array of string values representing field names used for creating predominance renderers.",
                    "type": "string"
                },
                "standardDeviationInterval": {
                    "description": "Use if the classificationMethod is esriClassifyStandardDeviation. Possible values: 0.25, 0.33, 0.5, 1.",
                    "type": "number"
                },
                "type": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJsonType",
                    "description": "In case of classed renderers this is set to either classedSize or classedColor."
                },
                "visualVariables": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson",
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity."
                }
            },
            "type": "object"
        },
        "esri.rest-api.RendererJson.AuthoringInfoJsonType": {
            "description": "The type of the AuthoringInfo.",
            "enum": [
                "classedColor",
                "classedSize",
                "predominance"
            ],
            "type": "string"
        },
        "esri.rest-api.RendererJson.ClassBreakInfoJson": {
            "additionalProperties": false,
            "description": "The classBreaksInfo object provides information about the class breaks associated with the renderer.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/classBreakInfo/} {@link https://developers.arcgis.com/web-scene-specification/objects/classBreakInfo/}.",
            "properties": {
                "classMaxValue": {
                    "description": "A numeric value used to specify the maximum value for a break.",
                    "type": "number"
                },
                "classMinValue": {
                    "description": "A numeric value used to specify discontinuous class breaks. If this value is null or is missing, the map server will calculate the minimum value based on the preceding class' maximum value.",
                    "type": "number"
                },
                "description": {
                    "description": "String value used to describe the drawn symbol.",
                    "type": "string"
                },
                "label": {
                    "description": "String value used to label the drawn symbol.",
                    "type": "string"
                },
                "symbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SymbolJson",
                    "description": "An object used to display the value."
                }
            },
            "required": [
                "classMaxValue",
                "symbol"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.ClassBreaksRendererJson": {
            "additionalProperties": false,
            "description": "A class breaks renderer symbolizes based on the value of some numeric attribute. The classBreakInfo define the values at which the symbology changes.\n\nIf the Normalization Type property is defined than the class breaks contain a normalized min/max value instead of the actual value. The data value, obtained from the field property, is normalized using one of the following functions before it is compared with the class breaks.\n\n1. Field - Divide the data value using the attribute value of the field    specified by the normalizationField property.\n2. Log - Compute the base 10 logarithm of the data value. This can be a useful    approach for some data distributions because it reduced the influence of    very large data values.\n3. Percent-of-total - Divide the data value by the sum of all data values then    multiply by 100. Use the normalizationTotal property to determine the    total value.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/classBreaks_renderer/} {@link https://developers.arcgis.com/web-scene-specification/objects/classBreaksRenderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "backgroundFillSymbol": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                        }
                    ],
                    "description": "Supported only for polygon features. It is a SimpleFillSymbol."
                },
                "classBreakInfos": {
                    "description": "Array of objects with value, label, and description.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.ClassBreakInfoJson"
                    },
                    "type": "array"
                },
                "classificationMethod": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.ClassificationMethodJsonType",
                    "description": "Determines the classification method that was used to generate class breaks."
                },
                "defaultLabel": {
                    "description": "Default string for the default symbol used to draw unspecified values.",
                    "type": "string"
                },
                "defaultSymbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SymbolJson",
                    "description": "Symbol used when a value cannot be classified."
                },
                "field": {
                    "description": "String value specifying the numeric field used in generating the class breaks.",
                    "type": "string"
                },
                "minValue": {
                    "description": "The minimum numeric data value needed to begin class breaks.",
                    "type": "number"
                },
                "normalizationField": {
                    "description": "Used when normalizationType is NormalizationType.BY_FIELD.",
                    "type": "string"
                },
                "normalizationTotal": {
                    "description": "Used when normalizationType is NormalizationType.BY_FIELD.",
                    "type": "number"
                },
                "normalizationType": {
                    "description": "One of the NormalizationType constants.",
                    "enum": [
                        "esriNormalizeByField",
                        "esriNormalizeByLog",
                        "esriNormalizeByPercentOfTotal"
                    ],
                    "type": "string"
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "type": {
                    "const": "classBreaks",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "classBreakInfos",
                "classificationMethod",
                "field",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.ClassificationMethodJsonType": {
            "description": "The classification method for ClassBreaksRenderer.",
            "enum": [
                "esriClassifyEqualInterval",
                "esriClassifyGeometricalInterval",
                "esriClassifyManual",
                "esriClassifyNaturalBreaks",
                "esriClassifyQuantile",
                "esriClassifyStandardDeviation"
            ],
            "type": "string"
        },
        "esri.rest-api.RendererJson.ColorClassBreakInfoJson": {
            "additionalProperties": false,
            "description": "The classBreaksInfo object provides information about the class breaks associated with the renderer.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/colorClassBreakInfo/}.",
            "properties": {
                "classMaxValue": {
                    "description": "A numeric value used to specify the maximum value for a break.",
                    "type": "number"
                },
                "classMinValue": {
                    "description": "A numeric value used to specify discontinuous class breaks. If this value is null or is missing, the map server will calculate the minimum value based on the preceding class' maximum value.",
                    "type": "number"
                },
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Color is represented as a three or four-element array."
                },
                "description": {
                    "description": "String value used to describe the class.",
                    "type": "string"
                },
                "label": {
                    "description": "String value used to label the class.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.RendererJson.ColorInfoJson": {
            "additionalProperties": false,
            "description": "The colorInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective color values. You must specify either colors or stops to construct the color ramp.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/colorInfo_visualVariable/} {@link https://developers.arcgis.com/web-scene-specification/objects/colorInfo_visualVariable/}.",
            "properties": {
                "colors": {
                    "description": "An array of colors that define the color ramp. Either colors or stops must be specified to construct the color ramp.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                        "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null. See {@link https://developers.arcgis.com/web-map-specification/objects/color/} {@link https://developers.arcgis.com/web-scene-specification/objects/color/}."
                    },
                    "type": "array"
                },
                "field": {
                    "description": "A string value indicating the name of the feature attribute field that contains the data value to render.",
                    "type": "string"
                },
                "legendOptions": {
                    "$ref": "__type",
                    "description": "Options available for the legend. See {@link https://developers.arcgis.com/web-map-specification/objects/legendOptions/} {@link https://developers.arcgis.com/web-scene-specification/objects/legendOptions/}."
                },
                "maxDataValue": {
                    "description": "The maximum data value.",
                    "type": "number"
                },
                "minDataValue": {
                    "description": "The minimum data value.",
                    "type": "number"
                },
                "normalizationField": {
                    "description": "String value indicating the name of the attribute field used to normalize the data.",
                    "type": "string"
                },
                "stops": {
                    "description": "An array of stop objects.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.ColorStopJson"
                    },
                    "type": "array"
                },
                "type": {
                    "const": "colorInfo",
                    "description": "The type of the VisualVariable.",
                    "type": "string"
                }
            },
            "required": [
                "field",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.ColorRampJson": {
            "additionalProperties": false,
            "description": "A colorRamp object is used to specify a range of colors that are applied to a group of symbols. See {@link https://developers.arcgis.com/web-map-specification/objects/colorRamp/}.",
            "properties": {
                "algorithm": {
                    "description": "Algorithm used for calculating the ramp.",
                    "enum": [
                        "esriCIELabAlgorithm",
                        "esriHSVAlgorithm",
                        "esriLabLChAlgorithm"
                    ],
                    "type": "string"
                },
                "colorRamps": {
                    "description": "A multipart color ramp is defined by a list of constituent color ramps.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.ColorRampJson"
                    },
                    "type": "array"
                },
                "fromColor": {
                    "description": "Array representing the initial color to start the ramp from.",
                    "items": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "number"
                        },
                        {
                            "type": "number"
                        },
                        {
                            "type": "number"
                        }
                    ],
                    "maxItems": 4,
                    "minItems": 4,
                    "type": "array"
                },
                "toColor": {
                    "description": "Array representing the final color to end the ramp with.",
                    "items": [
                        {
                            "type": "number"
                        },
                        {
                            "type": "number"
                        },
                        {
                            "type": "number"
                        },
                        {
                            "type": "number"
                        }
                    ],
                    "maxItems": 4,
                    "minItems": 4,
                    "type": "array"
                },
                "type": {
                    "description": "Value indicating the type of colorRamp.",
                    "enum": [
                        "algorithmic",
                        "multipart"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.ColorStopJson": {
            "additionalProperties": false,
            "description": "A sizeStop object describes the size of the symbol at various values of the expression.",
            "properties": {
                "color": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                            "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null. See {@link https://developers.arcgis.com/web-map-specification/objects/color/} {@link https://developers.arcgis.com/web-scene-specification/objects/color/}."
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "A CSS color string or an array of rbga values. The color to place at the stop indicated by either a ratio or value."
                },
                "label": {
                    "description": "Value if a label is needed on the legend for a stop.",
                    "type": "string"
                },
                "value": {
                    "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with. Just like in colorInfo, using value will ignore maxPixelIntensity and minPixelIntensity properties. It will actually set those properties to maximum and minimum values you set in the colorStops array. The hard values are converted to ratios to create the color gradient that is used in the heatmap calculations. Setting minPixelIntensity or maxPixelIntensity, after setting colorStops with values, removes the hard link between the color ramp and the pixel intensity values that were used to create it.",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "esri.rest-api.RendererJson.ColorUniqueValueInfosJson": {
            "additionalProperties": false,
            "description": "The classBreaksInfo object provides information about the class breaks associated with the renderer.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/colorUniqueValueInfo/}.",
            "properties": {
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Color is represented as a three or four-element array."
                },
                "description": {
                    "description": "String value used to describe the class.",
                    "type": "string"
                },
                "label": {
                    "description": "String value used to label the class.",
                    "type": "string"
                },
                "values": {
                    "description": "List of string values used to classify points.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "esri.rest-api.RendererJson.HeatmapRendererJson": {
            "additionalProperties": false,
            "description": "The HeatmapRenderer renders point data into a raster visualization that emphasizes areas of higher density or weighted values.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/heatmapRenderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "blurRadius": {
                    "description": "The radius (in pixels) of the circle over which the majority of each points value is spread over.",
                    "type": "number"
                },
                "colorStops": {
                    "description": "An array of colorStop objects describing the renderer's color ramp with more specificity than just colors.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.ColorStopJson"
                    },
                    "type": "array"
                },
                "field": {
                    "description": "Value specifying the field used in generating the heat map.",
                    "type": "string"
                },
                "maxPixelIntensity": {
                    "description": "The pixel intensity value which is assigned the final color in the color ramp.",
                    "type": "number"
                },
                "minPixelIntensity": {
                    "description": "The pixel intensity value which is assigned the initial color in the color ramp.",
                    "type": "number"
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "type": {
                    "const": "heatmap",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.MagnitudeUnitJsonType": {
            "description": "Units of magnitude.",
            "enum": [
                "esriFeetPerSecond",
                "esriKilometersPerHour",
                "esriKnots",
                "esriMetersPerSecond",
                "esriMilesPerHour"
            ],
            "type": "string"
        },
        "esri.rest-api.RendererJson.PointCloudClassBreaksRendererJson": {
            "additionalProperties": false,
            "description": "PointCloudClassBreaksRenderer defines the color of each point in a PointCloudLayer based on the value of a numeric attribute. Colors are assigned based on classes or ranges of data. Each point is assigned a symbol based on the class break in which the value of the attribute falls.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudClassBreaksRenderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "colorClassBreakInfos": {
                    "description": "Each element in the array is an object that provides information about a class break associated with the renderer.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.ColorClassBreakInfoJson"
                    },
                    "type": "array"
                },
                "colorModulation": {
                    "$ref": "__type",
                    "description": "Indicates whether modulation should be used to render the point.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/colorModulationInfo/}."
                },
                "field": {
                    "description": "The name of the field that is used for the renderer.",
                    "type": "string"
                },
                "fieldTransformType": {
                    "description": "A transform that is applied to the field value before evaluating the renderer.",
                    "enum": [
                        "absoluteValue",
                        "highFourBit",
                        "lowFourBit",
                        "moduloTen",
                        "none"
                    ],
                    "type": "string"
                },
                "pointSizeAlgorithm": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudSplatAlgorithmJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudFixedSizeAlgorithmJson"
                        }
                    ],
                    "description": "Size algorithms for point cloud performance."
                },
                "pointsPerInch": {
                    "description": "Number of point to draw per display inch.",
                    "type": "number"
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "type": {
                    "const": "pointCloudClassBreaksRenderer",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.PointCloudFixedSizeAlgorithmJson": {
            "additionalProperties": false,
            "description": "Render points with fixed real world or screen space size.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudFixedSizeAlgorithm/}.",
            "properties": {
                "size": {
                    "description": "Symbol size in real world units or display unit.",
                    "type": "number"
                },
                "type": {
                    "const": "pointCloudFixedSizeAlgorithm",
                    "description": "Type:String Value of this property must be pointCloudFixedSizeAlgorithm.",
                    "type": "string"
                },
                "useRealWorldSymbolSizes": {
                    "description": "If true symbol size is in meters, display unit (pt) otherwise.",
                    "type": "boolean"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.PointCloudRGBRendererJson": {
            "additionalProperties": false,
            "description": "PointCloudRGBRenderer defines the color of each point in a PointCloudLayer based on the value of a color attribute.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudRGBRenderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "colorModulation": {
                    "$ref": "__type",
                    "description": "Indicates whether modulation should be used to render the point.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/colorModulationInfo/}."
                },
                "field": {
                    "description": "The name of the field that is used for the renderer.",
                    "type": "string"
                },
                "fieldTransformType": {
                    "description": "A transform that is applied to the field value before evaluating the renderer.",
                    "enum": [
                        "absoluteValue",
                        "highFourBit",
                        "lowFourBit",
                        "moduloTen",
                        "none"
                    ],
                    "type": "string"
                },
                "pointSizeAlgorithm": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudSplatAlgorithmJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudFixedSizeAlgorithmJson"
                        }
                    ],
                    "description": "Size algorithms for point cloud performance."
                },
                "pointsPerInch": {
                    "description": "Number of point to draw per display inch.",
                    "type": "number"
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "type": {
                    "const": "pointCloudRGBRenderer",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.PointCloudSplatAlgorithmJson": {
            "additionalProperties": false,
            "description": "Render points using sizes depending on point density.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudSplatAlgorithm/}.",
            "properties": {
                "minSize": {
                    "description": "Minimum display space point size in points.",
                    "type": "number"
                },
                "scaleFactor": {
                    "description": "Scale factor to applied to the computed point size (in real world).",
                    "type": "number"
                },
                "type": {
                    "const": "pointCloudSplatAlgorithm",
                    "description": "Type:String Value of this property must be pointCloudSplatAlgorithm.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.PointCloudStretchRendererJson": {
            "additionalProperties": false,
            "description": "PointCloudStretchRenderer defines the color of each point in a PointCloudLayer based on the value of a numeric attribute. They allow you to easily map continuous color ramps to minimum and maximum data values of one of the layer's numeric attribute fields.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudStretchRenderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "colorModulation": {
                    "$ref": "__type",
                    "description": "Indicates whether modulation should be used to render the point.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/colorModulationInfo/}."
                },
                "field": {
                    "description": "The name of the field that is used for the renderer.",
                    "type": "string"
                },
                "fieldTransformType": {
                    "description": "A transform that is applied to the field value before evaluating the renderer.",
                    "enum": [
                        "absoluteValue",
                        "highFourBit",
                        "lowFourBit",
                        "moduloTen",
                        "none"
                    ],
                    "type": "string"
                },
                "pointSizeAlgorithm": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudSplatAlgorithmJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudFixedSizeAlgorithmJson"
                        }
                    ],
                    "description": "Size algorithms for point cloud performance."
                },
                "pointsPerInch": {
                    "description": "Number of point to draw per display inch.",
                    "type": "number"
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "type": {
                    "const": "pointCloudStretchRenderer",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.PointCloudUniqueValueRendererJson": {
            "additionalProperties": false,
            "description": "PointCloudUniqueValueRenderer allows you to colorize points in a PointCloudLayer based on an attribute. This is done by using unique colors to represent points with equal attribute values.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudUniqueValueRenderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "colorModulation": {
                    "$ref": "__type",
                    "description": "Indicates whether modulation should be used to render the point.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/colorModulationInfo/}."
                },
                "colorUniqueValueInfos": {
                    "description": "Unique value infos.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.ColorUniqueValueInfosJson"
                    },
                    "type": "array"
                },
                "field": {
                    "description": "The name of the field that is used for the renderer.",
                    "type": "string"
                },
                "fieldTransformType": {
                    "description": "A transform that is applied to the field value before evaluating the renderer.",
                    "enum": [
                        "absoluteValue",
                        "highFourBit",
                        "lowFourBit",
                        "moduloTen",
                        "none"
                    ],
                    "type": "string"
                },
                "pointSizeAlgorithm": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudSplatAlgorithmJson"
                        },
                        {
                            "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudFixedSizeAlgorithmJson"
                        }
                    ],
                    "description": "Size algorithms for point cloud performance."
                },
                "pointsPerInch": {
                    "description": "Number of point to draw per display inch.",
                    "type": "number"
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "type": {
                    "const": "pointCloudUniqueValueRenderer",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.PredominanceRendererJson": {
            "additionalProperties": false,
            "description": "This renderer is a type of UniqueValue renderer which is based off the valueExpression property rather than field. Optionally, size and/or transparency visual variables may be included with valueExpression. Note that this renderer is supported for ArcGIS Online hosted feature services and feature collections.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/predominance_renderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "backgroundFillSymbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson",
                    "description": "A simple fill symbol that is only for polygon features."
                },
                "defaultLabel": {
                    "description": "Default string for the default symbol used to draw unspecified values.",
                    "type": "string"
                },
                "defaultSymbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.Symbol2DJson",
                    "description": "Symbol used when a value cannot be classified."
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "type": {
                    "const": "predominance",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "uniqueValueInfos": {
                    "description": "Array of objects with value, label, description and symbol.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.UniqueValueInfoJson"
                    },
                    "type": "array"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "backgroundFillSymbol",
                "type",
                "uniqueValueInfos"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.RendererJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.ClassBreaksRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.HeatmapRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudClassBreaksRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudRGBRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudStretchRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.PointCloudUniqueValueRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.PredominanceRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.SimpleRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.TemporalRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.UniqueValueFromStyleRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.UniqueValueRendererJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.VectorFieldRendererJson"
                }
            ],
            "description": "A renderer.\n\nPart of the ArcGIS REST API (see http://resources.arcgis.com/en/help/rest/apiref/renderer.html)."
        },
        "esri.rest-api.RendererJson.RotationInfoJson": {
            "additionalProperties": false,
            "description": "The rotation visual variable defines how features rendered with marker symbols are rotated. The rotation value is determined by mapping the values to data in a field, or by other arithmetic means with a function.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/rotationInfo_visualVariable/} {@link https://developers.arcgis.com/web-map-specification/objects/rotationInfo_visualVariable/}.",
            "properties": {
                "field": {
                    "description": "A string value indicating the name of the feature attribute field that contains the data value to render.",
                    "type": "string"
                },
                "legendOptions": {
                    "$ref": "__type",
                    "description": "Options available for the legend. See {@link https://developers.arcgis.com/web-map-specification/objects/legendOptions/} {@link https://developers.arcgis.com/web-scene-specification/objects/legendOptions/}."
                },
                "normalizationField": {
                    "description": "String value indicating the name of the attribute field used to normalize the data.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "Defines the origin and direction of rotation depending on how the angle of rotation was measured. Possible values are geographic which rotates the symbol from the north in a clockwise direction and arithmetic which rotates the symbol from the east in a counter-clockwise direction.\n\nMust be one of the following values: geographic, arithmetic."
                },
                "type": {
                    "const": "rotationInfo",
                    "description": "The type of the VisualVariable.",
                    "type": "string"
                },
                "valueExpression": {
                    "description": "An Arcade expression that computes a value in lieu of a value provided by an attribute field.",
                    "type": "string"
                }
            },
            "required": [
                "field",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.RotationJsonType": {
            "description": "The type of rotation for RendererBase.",
            "enum": [
                "arithmetic",
                "geographic"
            ],
            "type": "string"
        },
        "esri.rest-api.RendererJson.SimpleRendererJson": {
            "additionalProperties": false,
            "description": "A simple renderer is a renderer that uses one symbol only.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/simple_renderer/} {@link https://developers.arcgis.com/web-scene-specification/objects/simpleRenderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "description": {
                    "description": "The text string that does not appear in the table of contents but may appear in the legend.",
                    "type": "string"
                },
                "label": {
                    "description": "The text string that is displayed in the table of contents.",
                    "type": "string"
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "symbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SymbolJson",
                    "description": "An object that represents how all features will be drawn."
                },
                "type": {
                    "const": "simple",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "symbol",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.SizeInfoJson": {
            "additionalProperties": false,
            "description": "The sizeInfo visual variable defines how a continuous color ramp is applied to features based on the values of a numeric field attribute. The minimum and maximum values of the data should be indicated along with their respective color values. You must specify either colors or stops to construct the color ramp.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/sizeInfo_visualVariable/} {@link https://developers.arcgis.com/web-scene-specification/objects/sizeInfo_visualVariable/}.",
            "properties": {
                "axis": {
                    "description": "Defines the axis the size visual variable should be applied to when rendering features with an ObjectSymbol3DLayer.",
                    "enum": [
                        "all",
                        "depth",
                        "height",
                        "width",
                        "widthAndDepth"
                    ],
                    "type": "string"
                },
                "field": {
                    "description": "A string value indicating the name of the feature attribute field that contains the data value to render.",
                    "type": "string"
                },
                "legendOptions": {
                    "$ref": "__type",
                    "description": "Options available for the legend. See {@link https://developers.arcgis.com/web-map-specification/objects/legendOptions/} {@link https://developers.arcgis.com/web-scene-specification/objects/legendOptions/}."
                },
                "maxDataValue": {
                    "description": "The maximum data value.",
                    "type": "number"
                },
                "maxSize": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.SizeJson",
                    "description": "Specifies the largest marker size to use at any given map scale. This is required if valueUnit is set to unknown. In addition to this property taking an object, it also accepts a number value."
                },
                "minDataValue": {
                    "description": "The minimum data value.",
                    "type": "number"
                },
                "minSize": {
                    "anyOf": [
                        {
                            "$ref": "#/definitions/esri.rest-api.RendererJson.SizeJson"
                        },
                        {
                            "type": "number"
                        }
                    ],
                    "description": "Specifies the smallest marker size to use at any given map scale. This is required if valueUnit is set to 'unknown'. In addition to this property taking an object, it also accepts a number value."
                },
                "normalizationField": {
                    "description": "String value indicating the name of the attribute field used to normalize the data.",
                    "type": "string"
                },
                "target": {
                    "const": "outline",
                    "description": "String value indicating that the sizeInfo should be applied to the outline of polygons.",
                    "type": "string"
                },
                "type": {
                    "const": "sizeInfo",
                    "description": "The type of the VisualVariable.",
                    "type": "string"
                },
                "useSymbolValue": {
                    "description": "When setting a size visual variable on a renderer using an ObjectSymbol3DLayer, this property indicates whether to apply the value defined by the height, width, or depth properties to the corresponding axis of this visual variable instead of proportionally scaling this axis' value after other axes.",
                    "type": "boolean"
                },
                "valueRepresentation": {
                    "description": "Specifies how to apply the data value when mapping real-world sizes. See table below for supported values.",
                    "enum": [
                        "area",
                        "diameter",
                        "distance",
                        "radius",
                        "width"
                    ],
                    "type": "string"
                },
                "valueUnit": {
                    "description": "A string value indicating the required unit of measurement if the data represents a real world distance quantity. If the data value represents a non-distance quantity, e.g. traffic count, census data, etc., valueUnits should be set to 'unknown'.",
                    "enum": [
                        "centimeters",
                        "decimal-degrees",
                        "decimeters",
                        "feet",
                        "inches",
                        "kilometer",
                        "meters",
                        "miles",
                        "millimeters",
                        "nautical-miles",
                        "unknown",
                        "yards"
                    ],
                    "type": "string"
                }
            },
            "required": [
                "field",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.SizeJson": {
            "additionalProperties": false,
            "description": "Specifies the largest marker size to use at any given map scale. This is required if valueUnit is set to unknown.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/maxSize/} {@link https://developers.arcgis.com/web-map-specification/objects/minSize/} {@link https://developers.arcgis.com/web-scene-specification/objects/maxSize/} {@link https://developers.arcgis.com/web-scene-specification/objects/minSize/}.",
            "properties": {
                "expression": {
                    "description": "The value which allows a size to be defined based on the map scale. Currently, the only supported expression is, view.scale.",
                    "type": "string"
                },
                "stops": {
                    "description": "An array of objects that define the maximum size of the symbol at various values of the expression. Each object in the array has a numeric size property and a numeric value property. If the value calculated from the expression matches the value of a stop, than the size corresponding to that stop is selected. For example, if expression is set to view.scale, the value corresponds to the map's scale. The size represents the maximum symbol size (in pixels) that corresponds to this scale. If the map scale matches the scale value of a stop, the size corresponding to that stop value is used as the maximum symbol size for the features. If the map scale value falls between two stops, the maximum symbol size is interpolated between the sizes of the two stops. The minSize and maxSize stop values are usually the same, although it is possible to have different values depending on how minSize is calculated versus the maxSize.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.SizeStopJson"
                    },
                    "type": "array"
                },
                "target": {
                    "description": "Value indicating that sizeInfo should be applied to the outline of polygons. This value can be outline or null.",
                    "type": "string"
                },
                "type": {
                    "description": "Value indicating the type of rendering, e.g. 'sizeInfo'.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.RendererJson.SizeStopJson": {
            "additionalProperties": false,
            "description": "A sizeStop object describes the size of the symbol at various values of the expression.",
            "properties": {
                "label": {
                    "description": "Value if a label is needed on the legend for a stop.",
                    "type": "string"
                },
                "size": {
                    "description": "Specifies the marker size to use for the specified value.",
                    "type": "number"
                },
                "value": {
                    "description": "The value to be mapped to a size.",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "esri.rest-api.RendererJson.TemporalRendererJson": {
            "additionalProperties": false,
            "description": "A temporal renderer is used to perform time-based rendering of features in a feature layer.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/temporalRenderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "latestObservationRenderer": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.SimpleRendererJson",
                    "description": "Simple renderer used to symbolize point geometries for the most current observations."
                },
                "observationalRenderer": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.SimpleRendererJson",
                    "description": "Simple renderer used to symbolize regular/historic observations."
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "trackRenderer": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.SimpleRendererJson",
                    "description": "Simple renderer used to symbolize the tracks."
                },
                "type": {
                    "const": "temporal",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.TransparencyInfoJson": {
            "additionalProperties": false,
            "description": "TransparencyInfo is supported by opacityInfo in the JavaScript API. Except type and axis, all properties follow the syntax of the JavaScript API's opacityInfo property. It applies transparency to each feature based on the attribute values in a field. The exception is that the webmap JSON uses transparency (range 0 - 100, with 100 as completely transparent) instead of opacity (range 0 - 1, with 0 as completely transparent).\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/transparencyInfo_visualVariable/} {@link https://developers.arcgis.com/web-scene-specification/objects/transparencyInfo_visualVariable/}.",
            "properties": {
                "field": {
                    "description": "A string value indicating the name of the feature attribute field that contains the data value to render.",
                    "type": "string"
                },
                "legendOptions": {
                    "$ref": "__type",
                    "description": "Options available for the legend."
                },
                "normalizationField": {
                    "description": "String value indicating the name of the attribute field used to normalize the data.",
                    "type": "string"
                },
                "stops": {
                    "description": "An array of transparencyStop objects.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.TransparencyStopJson"
                    },
                    "type": "array"
                },
                "type": {
                    "const": "transparencyInfo",
                    "description": "The type of the VisualVariable.",
                    "type": "string"
                }
            },
            "required": [
                "field",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.TransparencyStopJson": {
            "additionalProperties": false,
            "description": "The transparencyStop object defines the thematic opacity ramp in a sequence of stops. At least two stops are required. The stops must be listed in ascending order based on the value of the value property in each stop.",
            "properties": {
                "label": {
                    "description": "A string value used to label the stop in the legend.",
                    "type": "string"
                },
                "transparency": {
                    "description": "A numeric transparency value for a stop ranging from 0-100, where 0 is opaque and 100 is 100% transparent.",
                    "type": "number"
                },
                "value": {
                    "description": "The pixel intensity value. Describes the pixel intensity value that the color should be associated with.",
                    "type": "number"
                }
            },
            "required": [
                "label",
                "transparency",
                "value"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.UniqueValueClassJson": {
            "additionalProperties": false,
            "description": "The uniqueValueClass object contains the symbology for grouped unique values in the renderer.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/uniqueValueClass/} {@link https://developers.arcgis.com/web-scene-specification/objects/uniqueValueClass/}.",
            "properties": {
                "description": {
                    "description": "String value used to describe the drawn symbol.",
                    "type": "string"
                },
                "label": {
                    "description": "String value used to label the drawn symbol.",
                    "type": "string"
                },
                "symbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SymbolJson",
                    "description": "An object used to display the value."
                },
                "values": {
                    "description": "A list of unique values that should be rendered with the same symbol. Each item in the list represents a set of value combinations represented by the given symbol. The inner array must contain only one value if only field1 is specified, two values if field1 and field2 are specified, or three values if field1, field2, and field3 are specified. The inner arrays must not contain more than three values.",
                    "items": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array"
                    },
                    "type": "array"
                }
            },
            "required": [
                "symbol",
                "values"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.UniqueValueFromStyleRendererJson": {
            "additionalProperties": false,
            "description": "This is a special version of UniqueValue Renderer, which loads uniqueValue infos from a portal style.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/uniqueValueFromStyleRenderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "defaultLabel": {
                    "description": "Default string for the default symbol used to draw unspecified values.",
                    "type": "string"
                },
                "defaultSymbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.Symbol3DJson",
                    "description": "The defaultSymbol on the renderer that get assigned to features with no value or features that do not fall within the configured data."
                },
                "field1": {
                    "description": "String value specifying the first field used to render matching values.",
                    "type": "string"
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "styleName": {
                    "description": "A registered web style name. Can not be used in conjunction with styleName.",
                    "type": "string"
                },
                "styleUrl": {
                    "description": "URL that points to the web style definition. Can not be used in conjunction with styleUrl.",
                    "type": "string"
                },
                "type": {
                    "const": "uniqueValue",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "field1",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.UniqueValueGroupJson": {
            "additionalProperties": false,
            "description": "Represents a group of unique value classes (i.e. symbols). This is used to group symbols under a common heading and/or when representing multiple unique values with a single symbol.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/uniqueValueGroup/} {@link https://developers.arcgis.com/web-scene-specification/objects/uniqueValueGroup/}.",
            "properties": {
                "classes": {
                    "description": "Specifies the classes (i.e. symbols) to group under a common heading. Classes may be included here without a heading when representing multiple values with a single symbol.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.UniqueValueClassJson"
                    },
                    "type": "array"
                },
                "heading": {
                    "description": "The heading to be displayed for the collection of classes defined in this group.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.RendererJson.UniqueValueInfoJson": {
            "additionalProperties": false,
            "description": "The following is a list of properties found on the uniqueValueInfo object, which is one of the properties on the renderer object. The uniqueValueInfo object contains the symbology for each uniquely drawn value in the renderer.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/uniqueValueInfo/} {@link https://developers.arcgis.com/web-scene-specification/objects/uniqueValueInfo/}.",
            "properties": {
                "description": {
                    "description": "String value used to describe the drawn symbol.",
                    "type": "string"
                },
                "label": {
                    "description": "String value used to label the drawn symbol.",
                    "type": "string"
                },
                "symbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SymbolJson",
                    "description": "An object used to display the value."
                },
                "value": {
                    "description": "String value indicating the unique value.",
                    "type": "string"
                }
            },
            "required": [
                "symbol",
                "value"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.UniqueValueRendererJson": {
            "additionalProperties": false,
            "description": "A unique value renderer symbolizes groups of features that have matching field values.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/uniqueValue_renderer/} {@link https://developers.arcgis.com/web-scene-specification/objects/uniqueValueRenderer/}.",
            "properties": {
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "backgroundFillSymbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson",
                    "description": "A SimpleFillSymbol used for polygon features. It can only be used for bivariate types and size rendering."
                },
                "defaultLabel": {
                    "description": "Default string for the default symbol used to draw unspecified values.",
                    "type": "string"
                },
                "defaultSymbol": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SymbolJson",
                    "description": "Symbol used when a value cannot be matched."
                },
                "field1": {
                    "description": "String value specifying the first field used to render matching values.",
                    "type": "string"
                },
                "field2": {
                    "description": "String value specifying the second field used to render matching values.",
                    "type": "string"
                },
                "field3": {
                    "description": "String value specifying the third field used to render matching values.",
                    "type": "string"
                },
                "fieldDelimiter": {
                    "description": "String value inserted between values if multiple attribute fields are specified.",
                    "type": "string"
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "type": {
                    "const": "uniqueValue",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "uniqueValueGroups": {
                    "description": "An array of uniqueValueGroup objects. If present, then uniqueValueGroups should be used in favor of uniqueValueInfos.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.UniqueValueGroupJson"
                    },
                    "type": "array"
                },
                "uniqueValueInfos": {
                    "description": "An array of uniqueValueInfo objects. If uniqueValueGroups is present, then this property should be ignored during webmap reading. In the future, this property will be deprecated and eventually removed.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.UniqueValueInfoJson"
                    },
                    "type": "array"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "field1",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.VectorFieldRendererJson": {
            "additionalProperties": false,
            "description": "A vector field renderer is a renderer that uses symbolizes a U-V or Magnitude-Direction data.",
            "properties": {
                "attributeField": {
                    "const": "Magnitude",
                    "description": "Name of the feature attribute field that contains the data value.",
                    "type": "string"
                },
                "authoringInfo": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.AuthoringInfoJson",
                    "description": "An object containing metadata about the authoring process for creating a renderer object. This allows the authoring clients to save specific overridable settings so that next time it is accessed via the UI, their selections are remembered. Non-authoring clients should ignore it."
                },
                "flowRepresentation": {
                    "description": "Sets the flow direction of the data.",
                    "enum": [
                        "flow_from",
                        "flow_to"
                    ],
                    "type": "string"
                },
                "inputUnit": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.MagnitudeUnitJsonType",
                    "description": "Input unit for Magnitude."
                },
                "outputUnit": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.MagnitudeUnitJsonType",
                    "description": "Output unit for Magnitude."
                },
                "rotationExpression": {
                    "description": "A constant value or an expression that derives the angle of rotation based on a feature attribute value. When an attribute name is specified, it's enclosed in square brackets.",
                    "type": "string"
                },
                "rotationType": {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationJsonType",
                    "description": "String value (either geographic or arithmetic) which controls the origin and direction of rotation on point features. If the rotationType is defined as 'arithmetic', the symbol is rotated from East in a counter-clockwise direction where East is the 0� axis. If the rotationType is defined as 'geographic', the symbol is rotated from North in a clockwise direction where North is the 0� axis."
                },
                "style": {
                    "description": "A predefined style.",
                    "enum": [
                        "beaufort_ft",
                        "beaufort_km",
                        "beaufort_kn",
                        "beaufort_m",
                        "beaufort_mi",
                        "classified_arrow",
                        "ocean_current_kn",
                        "ocean_current_m",
                        "simple_scalar",
                        "single_arrow",
                        "wind_speed"
                    ],
                    "type": "string"
                },
                "symbolTileSize": {
                    "description": "Determines the density of the symbols. Larger tile size, fewer symbols appear in the display. The VectorFieldRenderer draws one symbol within a defined tile size (in pixels). The default is 50 pixels.",
                    "type": "number"
                },
                "type": {
                    "const": "vectorField",
                    "description": "The type of renderer. See {@link RendererJsonType}.",
                    "type": "string"
                },
                "visualVariables": {
                    "description": "An array of visualVariable objects used for continuous color or size, simple, and unique values with feature opacity.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.RendererJson.VisualVariableJson"
                    },
                    "type": "array"
                }
            },
            "required": [
                "attributeField",
                "flowRepresentation",
                "style",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.RendererJson.VisualVariableJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.ColorInfoJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.SizeInfoJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.TransparencyInfoJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.RendererJson.RotationInfoJson"
                }
            ],
            "description": "A visualVariable is an object containing the type of drawing property, the axis the variable is applied to, and additional properties for the variable. There are three types of visual variables, 'colorInfo', 'sizeInfo', and 'transparencyInfo'.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/visualVariable/} {@link https://developers.arcgis.com/web-scene-specification/objects/visualVariable/}."
        },
        "esri.rest-api.SceneLayerJson.SceneLayerJson": {
            "additionalProperties": false,
            "description": "The SceneLayer is a layer type designed for on-demand streaming and displaying large amounts of data in a SceneView. SceneLayers support two geometry types: Point and 3D Objects (e.g. Buildings).\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/sceneLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "disablePopup": {
                    "description": "Indicates whether to allow a client to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "ArcGISSceneServiceLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A PopupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "screenSizePerspective": {
                    "description": "Apply perspective scaling to screen-size symbols.",
                    "type": "boolean"
                },
                "showLabels": {
                    "description": "Indicates whether to display labels for this layer. If true, labels will appear as defined in the labelingInfo property.",
                    "type": "boolean"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer.If the layer is not from a web service but rather a feature collection, then the url property is omitted.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.SpatialReferenceJson.SpatialReferenceJson": {
            "additionalProperties": false,
            "description": "The spatialReference object is located at the top level of the web map JSON hierarchy. In addition to this, it is also available within the operationalLayer and basemap objects.\n\nMany predefined spatial references have already been defined and are available for use. A spatial reference can be defined using a well-known ID (WKID) or well-known text (WKT). The default tolerance and resolution values for the associated coordinate system are used.\n\nAll operational layers in the map are drawn or requested in the spatial reference of the basemap layers.\n\nThe basemap defines the map spatial reference and tiling scheme.\n\nEach basemapLayer must be in the same spatial reference and tiling scheme.\n\nFor additional information on working with spatial references, and their associated WKIDs, please refer to the ArcGIS REST API documentation which discusses this.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/spatialReference/} {@link https://developers.arcgis.com/web-scene-specification/objects/spatialReference/}.",
            "properties": {
                "latestVcsWkid": {
                    "description": "(Optional) The current wkid value of the vertical coordinate system.",
                    "type": "number"
                },
                "latestWkid": {
                    "description": "Identifies the current wkid value associated with the same spatial reference. For example a WKID of '102100' (Web Mercator) has a latestWKid of '3857'.",
                    "type": "number"
                },
                "vcsWkid": {
                    "description": "(Optional) The wkid value of the vertical coordinate system.",
                    "type": "number"
                },
                "wkid": {
                    "description": "The well-known ID (WKID) of the coordinate system. Specify either WKID or the well-known text (WKT) of the coordinate system.",
                    "type": "number"
                },
                "wkt": {
                    "description": "The well-known text (WKT) of the coordinate system. Specify either WKT or WKID of the coordinate system.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.StreamLayerJson.StreamLayerJson": {
            "additionalProperties": false,
            "description": "A stream layer in a web map. See {@link https://developers.arcgis.com/web-map-specification/objects/streamLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "capabilities": {
                    "description": "A comma-separated string listing which editing operations are allowed on an editable feature service. Available operations include: Create | Delete | Query | Update | Editing.",
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types."
                },
                "definitionEditor": {
                    "$ref": "#/definitions/esri.rest-api.DefinitionEditorJson.DefinitionEditorJson",
                    "description": "Stores interactive filters."
                },
                "disablePopup": {
                    "description": "Indicates whether to allow a client to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "featureCollection": {
                    "$ref": "#/definitions/esri.rest-api.FeatureCollectionJson.FeatureCollectionJson",
                    "description": "A featureCollection object defining a layer of features whose geometry and attributes will be stored directly within the web map. This is only used when no url property is supplied."
                },
                "featureCollectionType": {
                    "description": "Indicates the type of features in the feature collection. If featureCollectionType is missing, it means the feature collection is a regular single-layer or multi-layer feature collection.",
                    "enum": [
                        "markup",
                        "notes",
                        "route"
                    ],
                    "type": "string"
                },
                "formInfo": {
                    "$ref": "#/definitions/esri.rest-api.FormInfoJson.FormInfoJson",
                    "description": "A formInfo object defining the content of the form when you are editing a feature."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "ArcGISStreamLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "mode": {
                    "description": "Used with ArcGIS feature services and individual layers in ArcGIS map services, this property determines how the features are retrieved from the server. This property is represented as 0, 1, or 2.\n\n- 0: Snapshot mode. Immediately retrieves all features when the map is   loaded.\n- 1: On-demand mode. Features within the current view extent are retrieved   as the user navigates the map. This is the default and the most common   way to use feature services in web maps.\n- 2: Selection-only mode. No features are initially retrieved. This mode is   used when you have a map service and a feature service from the same   parent URL that are working together in the same map, with the map   service being used for display and the feature service used for   editing.",
                    "enum": [
                        0,
                        1,
                        2,
                        6
                    ],
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A PopupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "screenSizePerspective": {
                    "description": "Apply perspective scaling to screen-size symbols.",
                    "type": "boolean"
                },
                "showLabels": {
                    "description": "Indicates whether to display labels for this layer. If true, labels will appear as defined in the labelingInfo property.",
                    "type": "boolean"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "subtypeCode": {
                    "description": "The feature subtype code identifying the layer. Used with SubtypeGroupLayers.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer.If the layer is not from a web service but rather a feature collection, than the url property is omitted.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                },
                "visibleLayers": {
                    "description": "An array of sublayer ids that should appear visible. Used with feature layers that are based on feature collections.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.SublayerJson.SublayerJson": {
            "additionalProperties": false,
            "description": "This object allows overrides on pop-up content and drawing behavior for individual layers of a web service. When used with a feature collection, this object also contains geographic features and their attributes.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/layer/} {@link https://developers.arcgis.com/web-scene-specification/objects/layer/}.",
            "properties": {
                "defaultVisibility": {
                    "description": "Default visibility of the layers in the map service.",
                    "type": "boolean"
                },
                "definitionEditor": {
                    "$ref": "#/definitions/esri.rest-api.DefinitionEditorJson.DefinitionEditorJson",
                    "description": "An object that provides interactive filters."
                },
                "disablePopup": {
                    "description": "Indicates whether to allow a client to ignore the popups defined on the layer. The popupInfo object could be saved in the map or item.",
                    "type": "boolean"
                },
                "featureSet": {
                    "$ref": "#/definitions/esri.rest-api.FeatureSetJson.FeatureSetJson",
                    "description": "A featureSet object containing the geometry and attributes of the features in the layer. Used with feature collections only."
                },
                "field": {
                    "$ref": "#/definitions/esri.rest-api.FieldJson.FieldJson",
                    "description": "Information about each field in a layer.\n\nNOTE: This is how it's typed and documented in the web map spec, but is almost certainly total nonsense."
                },
                "id": {
                    "description": "A number indicating the index position of the layer in the WMS or map service.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "An array of LayerDefinition objects defining the attribute schema and drawing information for the layer."
                },
                "layerUrl": {
                    "description": "A URL to a service that should be used for all queries against the layer. Used with hosted tiled map services on ArcGIS Online when there is an associated feature service that allows for queries.",
                    "type": "string"
                },
                "maxScale": {
                    "description": "Represents the maximum scale at which the layer definition will be applied.",
                    "type": "number"
                },
                "minScale": {
                    "description": "Represents the minimum scale at which the layer definition will be applied.",
                    "type": "number"
                },
                "name": {
                    "description": "(Deprecated, use title instead.) A name for the layer.",
                    "type": "string"
                },
                "nextObjectId": {
                    "description": "Iterates within a feature set. Number objectId value is incremented +1 based on last Object ID defined for the feature in a feature set.",
                    "type": "number"
                },
                "parentLayerId": {
                    "description": "If working with nested layers, this is the numeric value indicating the layer id of the next layer (parent) directly above the current referenced layer.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A popupInfo object defining the pop-up window content for the layer."
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "subLayerIds": {
                    "description": "If the layer is a parent layer, it will have one or more sub layers included in an array.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.SubtypeGroupLayerJson.SubtypeGroupLayerJson": {
            "additionalProperties": false,
            "description": "SubtypeGroupLayer provides the ability to organize several sublayers into one common layer. Suppose there are several FeatureLayers that all represent water features in different dimensions. For example, wells (points), streams (lines), and lakes (polygons). The SubtypeGroupLayer provides the functionality to treat them as one layer called Water Features even though they are stored as separate feature layers.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/subtypeGroupLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types."
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "SubtypeGroupLayer",
                    "description": "String indicating the layer type. Value of this property must be SubtypeGroupLayer.",
                    "type": "string"
                },
                "layers": {
                    "description": "An array of feature layers, each describing the properties for a subtype in the feature service layer.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.SubtypeSublayerJson.SubtypeSublayerJson"
                    },
                    "type": "array"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer. If the layer is not from a web service but rather a feature collection, then the url property is omitted.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.SubtypeSublayerJson.SubtypeSublayerJson": {
            "additionalProperties": false,
            "description": "Feature layers can be created by referencing a sublayer from either a map service or a feature service or by specifying a feature collection object. Use a map service if you just want to retrieve geometries and attributes from the server and symbolize them yourself. Use a feature service if you want to take advantage of symbols from the service's source map document. Also, use a feature service if you plan on doing editing with the feature sublayer. Feature layers honor any feature templates configured in the source map document. Feature collection objects are used to create a feature sublayer based on the supplied definition.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/subtypeSublayer/} {@link https://developers.arcgis.com/web-scene-specification/objects/subtypeSublayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS sublayer types."
                },
                "disablePopup": {
                    "description": "Indicates whether to allow a client to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "ArcGISFeatureLayer",
                    "description": "The type of sublayer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A PopupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLabels": {
                    "description": "Indicates whether to display labels for this sublayer. If true, labels will appear as defined in the labelingInfo property.",
                    "type": "boolean"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "subtypeCode": {
                    "description": "The feature subtype code identifying the sublayer. Used with SubtypeGroupLayers.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.BorderJson": {
            "additionalProperties": false,
            "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors.",
            "properties": {
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "The color of the border."
                },
                "transparency": {
                    "description": "A value between 100 (full transparency) and 0 (full opacity).",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "esri.rest-api.SymbolJson.CIMSymbolJson": {
            "additionalProperties": false,
            "description": "Represents a symbol reference that contains a CIM symbol. In addition to type listed below, a symbol reference will contain additional properties. More details on CIM symbol reference and CIM symbols are available on github: https://github.com/Esri/cim-spec/blob/master/docs/v2/Overview-Symbols.md.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/polygonSymbol3D/}.",
            "properties": {
                "type": {
                    "const": "CIMSymbolReference",
                    "description": "Specifies the type of symbol used.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.CalloutJson": {
            "additionalProperties": false,
            "description": "Callout configuration for a symbol.",
            "properties": {
                "border": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.BorderJson",
                    "description": "Optional border on the line that is used to improve the contrast of the line color against various background colors."
                },
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "The color of the line."
                },
                "size": {
                    "description": "The width of the line in points.",
                    "type": "number"
                },
                "transparency": {
                    "description": "A value between 100 (full transparency) and 0 (full opacity).",
                    "type": "number"
                },
                "type": {
                    "const": "line",
                    "description": "The type of the callout. A callout of type line connects an offset symbol or label with its location.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.ColorJson": {
            "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null. See {@link https://developers.arcgis.com/web-map-specification/objects/color/} {@link https://developers.arcgis.com/web-scene-specification/objects/color/}.",
            "items": {
                "type": "number"
            },
            "type": "array"
        },
        "esri.rest-api.SymbolJson.EdgesJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SketchEdgesJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SolidEdgesJson"
                }
            ],
            "description": "Edges describe additional styles applied to visually important edges of 3D objects."
        },
        "esri.rest-api.SymbolJson.ExtrudeSymbol3DLayerJson": {
            "additionalProperties": false,
            "description": "ExtrudeSymbol3DLayer is used to render Polygon geometries by extruding them upward from the ground, creating a 3D volumetric object.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/extrudeSymbol3DLayer/}.",
            "properties": {
                "enable": {
                    "description": "Type: Boolean.",
                    "type": "boolean"
                },
                "material": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.MaterialJson",
                    "description": "The material used to shade the geometry."
                },
                "size": {
                    "description": "Extrusion height in meters, positive only.",
                    "type": "number"
                },
                "type": {
                    "const": "Extrude",
                    "description": "The type of the Symbol3DLayer. See {@link Symbol3DLayerJsonType}.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.FillSymbol3DLayerJson": {
            "additionalProperties": false,
            "description": "FillSymbol3DLayer is used to render the surfaces of flat 2D Polygon geometries and 3D volumetric meshes in a SceneView.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/fillSymbol3DLayer/}.",
            "properties": {
                "castShadows": {
                    "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
                    "type": "boolean"
                },
                "edges": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.EdgesJson",
                    "description": "Specifies an edge visualization style. Only affects MeshSymbol3D."
                },
                "enable": {
                    "description": "Type: Boolean.",
                    "type": "boolean"
                },
                "material": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.MaterialJson",
                    "description": "The material used to shade the geometry."
                },
                "outline": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.OutlineJson",
                    "description": "The outline of the point, line or polygon."
                },
                "type": {
                    "const": "Fill",
                    "description": "The type of the Symbol3DLayer. See {@link Symbol3DLayerJsonType}.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.FontJson": {
            "additionalProperties": false,
            "description": "Font used for text symbols.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/font/} {@link https://developers.arcgis.com/web-scene-specification/objects/font/}.",
            "properties": {
                "decoration": {
                    "description": "The text decoration.",
                    "enum": [
                        "line-through",
                        "none",
                        "underline"
                    ],
                    "type": "string"
                },
                "family": {
                    "description": "The font family.",
                    "type": "string"
                },
                "size": {
                    "description": "The font size.",
                    "type": "number"
                },
                "style": {
                    "description": "The text style.",
                    "enum": [
                        "italic",
                        "normal",
                        "oblique"
                    ],
                    "type": "string"
                },
                "weight": {
                    "description": "The text weight.",
                    "enum": [
                        "bold",
                        "bolder",
                        "lighter",
                        "normal"
                    ],
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.SymbolJson.IconSymbol3DLayerJson": {
            "additionalProperties": false,
            "description": "IconSymbol3DLayer is used to render Point geometries using a flat 2D icon (e.g. a circle) with a PointSymbol3D in a SceneView.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/iconSymbol3DLayer/}.",
            "properties": {
                "anchor": {
                    "description": "Must be one of the following values: center, left, right, top, bottom, topLeft, topRight, bottomLeft, bottomRight.",
                    "enum": [
                        "bottom",
                        "bottomLeft",
                        "bottomRight",
                        "center",
                        "left",
                        "right",
                        "top",
                        "topLeft",
                        "topRight"
                    ],
                    "type": "string"
                },
                "enable": {
                    "description": "Type: Boolean.",
                    "type": "boolean"
                },
                "material": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.MaterialJson",
                    "description": "The material used to shade the geometry."
                },
                "outline": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.OutlineJson",
                    "description": "The outline of the point, line or polygon."
                },
                "resource": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ResourceIconSymbolJson",
                    "description": "The shape (primitive) or image URL (href) used to visualize the features."
                },
                "size": {
                    "description": "Icon size in points, positive only.",
                    "type": "number"
                },
                "type": {
                    "const": "Icon",
                    "description": "The type of the Symbol3DLayer. See {@link Symbol3DLayerJsonType}.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.LabelSymbol3DJson": {
            "additionalProperties": false,
            "description": "LabelSymbol3D is used to render labels for features from a FeatureLayer in a\n3D SceneView.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/labelSymbol3D/}.",
            "properties": {
                "callout": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.CalloutJson",
                    "description": "Callout configuration for a symbol."
                },
                "symbolLayers": {
                    "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbol3DLayerJson"
                    },
                    "type": "array"
                },
                "type": {
                    "const": "LabelSymbol3D",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                },
                "verticalOffset": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.VerticalOffsetJson",
                    "description": "Shifts the symbol along the vertical world axis by a given length."
                }
            },
            "required": [
                "symbolLayers",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.LineSymbol3DJson": {
            "additionalProperties": false,
            "description": "LineSymbol3D is used to render features with Polyline geometry in a 3D SceneView.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/lineSymbol3D/}.",
            "properties": {
                "symbolLayers": {
                    "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.rest-api.SymbolJson.PathSymbol3DLayerJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DLayerJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                "type": {
                    "const": "LineSymbol3D",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                }
            },
            "required": [
                "symbolLayers",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.LineSymbol3DLayerJson": {
            "additionalProperties": false,
            "description": "LineSymbol3DLayer renders Polyline geometries using a flat 2D line with a LineSymbol3D in a 3D SceneView.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/lineSymbol3DLayer/}.",
            "properties": {
                "enable": {
                    "description": "Type: Boolean.",
                    "type": "boolean"
                },
                "material": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.MaterialJson",
                    "description": "The material used to shade the geometry."
                },
                "size": {
                    "description": "Line width in points, positive only.",
                    "type": "number"
                },
                "type": {
                    "const": "Line",
                    "description": "The type of the Symbol3DLayer. See {@link Symbol3DLayerJsonType}.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.MaterialJson": {
            "additionalProperties": false,
            "description": "The material used to shade the geometry.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/material/}.",
            "properties": {
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Color is represented as a three or four-element array."
                },
                "colorMixMode": {
                    "description": "Controls how symbolLayer or visualVariable color is applied onto the underlying geometry color/texture. This property only applies to FillSymbol3DLayer within MeshSymbol3D.\n\n- Tint: the feature's appearance (in terms of color) should be altered to   match the symbol / visual variable color.\n- Replace: the feature's color is replaced with the symbol / visual   variable color.\n- Multiply: the feature's color is multiplied with the symbol color.",
                    "enum": [
                        "multiply",
                        "replace",
                        "tint"
                    ],
                    "type": "string"
                },
                "transparency": {
                    "description": "Number value ranging between 0 (no transparency) to 100 (completely transparent).",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "esri.rest-api.SymbolJson.MeshSymbol3DJson": {
            "additionalProperties": false,
            "description": "MeshSymbol3D is used to render 3D mesh features in a SceneLayer in a 3D SceneView.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/meshSymbol3D/}.",
            "properties": {
                "symbolLayers": {
                    "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.SymbolJson.FillSymbol3DLayerJson"
                    },
                    "type": "array"
                },
                "type": {
                    "const": "MeshSymbol3D",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                }
            },
            "required": [
                "symbolLayers",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.ObjectSymbol3DLayerJson": {
            "additionalProperties": false,
            "description": "ObjectSymbol3DLayer is used to render Point geometries using a volumetric 3D shape (e.g., a sphere or cylinder) with a PointSymbol3D in a SceneView.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/objectSymbol3DLayer/}.",
            "properties": {
                "anchor": {
                    "description": "The positioning of the object relative to the geometry. Must be one of the following values: center, bottom, origin.",
                    "enum": [
                        "bottom",
                        "center",
                        "origin",
                        "relative",
                        "top"
                    ],
                    "type": "string"
                },
                "anchorPosition": {
                    "description": "When anchor equals \"relative\", this property specifies the positioning of the object relative to the geometry as a fraction of the symbol layer's bounding box. Otherwise it is ignored.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "castShadows": {
                    "description": "Boolean to control the shadow casting behavior of the rendered geometries.",
                    "type": "boolean"
                },
                "depth": {
                    "description": "Object depth in meters, positive only.",
                    "type": "number"
                },
                "enable": {
                    "description": "Type: Boolean.",
                    "type": "boolean"
                },
                "heading": {
                    "description": "Angle in degrees, relative to y-axis of SR (typically but not necessarily north).",
                    "type": "number"
                },
                "height": {
                    "description": "Object height in meters, positive only.",
                    "type": "number"
                },
                "material": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.MaterialJson",
                    "description": "The material used to shade the geometry."
                },
                "outline": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.OutlineJson",
                    "description": "The outline of the point, line or polygon."
                },
                "resource": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ResourceObjectSymbolJson",
                    "description": "The shape (primitive) or image URL (href) used to visualize the features."
                },
                "type": {
                    "const": "Object",
                    "description": "The type of the Symbol3DLayer. See {@link Symbol3DLayerJsonType}.",
                    "type": "string"
                },
                "width": {
                    "description": "Object width in meters, positive only.",
                    "type": "number"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.OutlineJson": {
            "additionalProperties": false,
            "description": "The outline of the point, line or polygon.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/outline/}.",
            "properties": {
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Color is represented as a three or four-element array."
                },
                "size": {
                    "description": "Outline size in points, positive only.",
                    "type": "number"
                },
                "transparency": {
                    "description": "Number value ranging between 0 (no transparency) to 100 (completely transparent).",
                    "type": "number"
                }
            },
            "type": "object"
        },
        "esri.rest-api.SymbolJson.PathSymbol3DLayerJson": {
            "additionalProperties": false,
            "description": "PathSymbol3DLayer renders Polyline geometries using a volumetric 3D tube with a LineSymbol3D in a SceneView.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pathSymbol3DLayer/}.",
            "properties": {
                "material": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.MaterialJson",
                    "description": "The material used to shade the geometry."
                },
                "size": {
                    "description": "Path size (diameter) in meters, positive only.",
                    "type": "number"
                },
                "type": {
                    "const": "Path",
                    "description": "The type of the Symbol3DLayer. See {@link Symbol3DLayerJsonType}.",
                    "type": "string"
                },
                "width": {
                    "description": "Path width in meters.",
                    "type": "number"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.PictureFillSymbolJson": {
            "additionalProperties": false,
            "description": "Picture fill symbols can be used to symbolize polygon geometries.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/esriPFS_symbol/}.",
            "properties": {
                "angle": {
                    "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0° axis.",
                    "type": "number"
                },
                "contentType": {
                    "description": "String value indicating the content type for the image.",
                    "type": "string"
                },
                "height": {
                    "description": "Numeric value used if needing to resize the symbol. Specify a value in points. If images are to be displayed in their original size, leave this blank.",
                    "type": "number"
                },
                "imageData": {
                    "description": "String value indicating the base64 encoded data.",
                    "type": "string"
                },
                "outline": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson",
                    "description": "Sets the outline of the symbol."
                },
                "type": {
                    "const": "esriPFS",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                },
                "url": {
                    "description": "Relative URL for static layers and full URL for dynamic layers. Access relative URL using http://<mapservice-url>/<layerId1>/images/<imageUrl11>.",
                    "type": "string"
                },
                "width": {
                    "description": "Numeric value used if needing to resize the symbol. If images are to be displayed in their original size, leave this blank.",
                    "type": "number"
                },
                "xoffset": {
                    "description": "Numeric value indicating the offset on the x-axis in pixels.",
                    "type": "number"
                },
                "xscale": {
                    "description": "Numeric value indicating the scale factor in x direction.",
                    "type": "number"
                },
                "yoffset": {
                    "description": "Numeric value indicating the offset on the y-axis in pixels.",
                    "type": "number"
                },
                "yscale": {
                    "description": "Numeric value indicating the scale factor in y direction.",
                    "type": "number"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.PictureMarkerSymbolJson": {
            "additionalProperties": false,
            "description": "Picture marker symbols can be used to symbolize point geometries.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/esriPMS_symbol/}.",
            "properties": {
                "angle": {
                    "description": "Numeric value that defines the number of degrees ranging from 0-360, that a marker symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0° axis.",
                    "type": "number"
                },
                "contentType": {
                    "description": "String value indicating the content type for the image.",
                    "type": "string"
                },
                "height": {
                    "description": "Numeric value used if needing to resize the symbol. If images are to be displayed in their original size, leave this blank.",
                    "type": "number"
                },
                "imageData": {
                    "description": "String value indicating the base64 encoded data.",
                    "type": "string"
                },
                "type": {
                    "const": "esriPMS",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                },
                "url": {
                    "description": "String value indicating the URL of the image. The URL should be relative if working with static layers. A full URL should be used for map service dynamic layers. A relative URL can be dereferenced by accessing the map layer image resource or the feature layer image resource.",
                    "type": "string"
                },
                "width": {
                    "description": "Numeric value used if needing to resize the symbol. If images are to be displayed in their original size, leave this blank.",
                    "type": "number"
                },
                "xoffset": {
                    "description": "Numeric value indicating the offset on the x-axis in pixels.",
                    "type": "number"
                },
                "yoffset": {
                    "description": "Numeric value indicating the offset on the y-axis in pixels.",
                    "type": "number"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.PointSymbol3DJson": {
            "additionalProperties": false,
            "description": "PointSymbol3D is used to render features with Point geometry in a 3D SceneView.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/pointSymbol3D/}.",
            "properties": {
                "callout": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.CalloutJson",
                    "description": "Callout configuration for a symbol."
                },
                "styleOrigin": {
                    "additionalProperties": false,
                    "description": "The origin of the style from which the symbol was originally referenced. A reference to the style origin can be either by styleName or by styleUrl (but not both). It may be used to understand where a symbol was originally sourced from, but does not affect actual appearance or rendering of the symbol. See {@link https://developers.arcgis.com/web-scene-specification/objects/styleOrigin/}.",
                    "properties": {
                        "name": {
                            "description": "Name of the symbol in the style referenced by styleName or styleUrl.",
                            "type": "string"
                        },
                        "styleName": {
                            "description": "A well-known esri-provided style, such as EsriThematicShapesStyle.",
                            "type": "string"
                        },
                        "styleUrl": {
                            "description": "URL to a style definition Must be one of the following values: String An absolute URL String A relative path starting with \"./\".",
                            "type": "string"
                        }
                    },
                    "type": "object"
                },
                "symbolLayers": {
                    "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.rest-api.SymbolJson.IconSymbol3DLayerJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.SymbolJson.ObjectSymbol3DLayerJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                "type": {
                    "const": "PointSymbol3D",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                },
                "verticalOffset": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.VerticalOffsetJson",
                    "description": "Shifts the symbol along the vertical world axis by a given length."
                }
            },
            "required": [
                "symbolLayers",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.PolygonSymbol3DJson": {
            "additionalProperties": false,
            "description": "PolygonSymbol3D is used to render features with Polygon geometry in a 3D SceneView. Polygon features may also be rendered as points with icons or objects at the centroid of each polygon.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/polygonSymbol3D/}.",
            "properties": {
                "symbolLayers": {
                    "description": "A Collection of Symbol3DLayer objects used to visualize the graphic or feature.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.rest-api.SymbolJson.ExtrudeSymbol3DLayerJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.SymbolJson.FillSymbol3DLayerJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DLayerJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                "type": {
                    "const": "PolygonSymbol3D",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                }
            },
            "required": [
                "symbolLayers",
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.ResourceIconSymbolJson": {
            "additionalProperties": false,
            "description": "The shape (primitive) or image URL (href) used to visualize the features.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/iconSymbol3DLayer_resource/}.",
            "properties": {
                "dataURI": {
                    "description": "An image encoded as base64 string, starting with data:image.",
                    "type": "string"
                },
                "href": {
                    "description": "URL to the returned image. Must be an absolute URL or a relative path starting with \"./\".",
                    "type": "string"
                },
                "primitive": {
                    "description": "Specifies the type of symbol used. Must be one of the following values: circle, square, cross, x, kite.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.SymbolJson.ResourceObjectSymbolJson": {
            "additionalProperties": false,
            "description": "The primitive shape (primitive) or external 3D model (href) used to visualize the points.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/objectSymbol3DLayer_resource/}.",
            "properties": {
                "href": {
                    "description": "Must be an absolute URL or a relative path starting with \"./\".",
                    "type": "string"
                },
                "primitive": {
                    "description": "Must be one of the following values: sphere, cylinder, cube, cone, invertedCone, diamond, tetrahedron.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.SymbolJson.SimpleFillSymbolJson": {
            "additionalProperties": false,
            "description": "Simple fill symbols can be used to symbolize polygon geometries.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/esriSFS_symbol/}.",
            "properties": {
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null."
                },
                "outline": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson",
                    "description": "Sets the outline of the fill symbol."
                },
                "style": {
                    "description": "The fill style.",
                    "enum": [
                        "esriSFSBackwardDiagonal",
                        "esriSFSCross",
                        "esriSFSDiagonalCross",
                        "esriSFSForwardDiagonal",
                        "esriSFSHorizontal",
                        "esriSFSNull",
                        "esriSFSSolid",
                        "esriSFSVertical"
                    ],
                    "type": "string"
                },
                "type": {
                    "const": "esriSFS",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.SimpleLineSymbolJson": {
            "additionalProperties": false,
            "description": "Simple line symbols can be used to symbolize polyline geometries or outlines for polygon fills.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/esriSLS_symbol/}.",
            "properties": {
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null."
                },
                "style": {
                    "description": "The line style.",
                    "enum": [
                        "esriSLSDash",
                        "esriSLSDashDot",
                        "esriSLSDashDotDot",
                        "esriSLSDot",
                        "esriSLSNull",
                        "esriSLSSolid"
                    ],
                    "type": "string"
                },
                "type": {
                    "const": "esriSLS",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                },
                "width": {
                    "description": "Numeric value indicating the width of the line in pixels.",
                    "type": "number"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.SimpleMarkerSymbolJson": {
            "additionalProperties": false,
            "description": "Simple marker symbols can be used to symbolize point geometries.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/esriSMS_symbol/}.",
            "properties": {
                "angle": {
                    "description": "Numeric value used to rotate the symbol. The symbol is rotated counter-clockwise. For example, The following, angle=-30, in will create a symbol rotated -30 degrees counter-clockwise; that is, 30 degrees clockwise.",
                    "type": "number"
                },
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null."
                },
                "outline": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson",
                    "description": "Sets the outline of the marker symbol."
                },
                "size": {
                    "description": "Numeric size of the symbol given in pixels.",
                    "type": "number"
                },
                "style": {
                    "description": "The marker style.",
                    "enum": [
                        "esriSMSCircle",
                        "esriSMSCross",
                        "esriSMSDiamond",
                        "esriSMSPath",
                        "esriSMSSquare",
                        "esriSMSTriangle",
                        "esriSMSX"
                    ],
                    "type": "string"
                },
                "type": {
                    "const": "esriSMS",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                },
                "xoffset": {
                    "description": "Numeric value indicating the offset on the x-axis in pixels.",
                    "type": "number"
                },
                "yoffset": {
                    "description": "Numeric value indicating the offset on the y-axis in pixels.",
                    "type": "number"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.SketchEdgesJson": {
            "additionalProperties": false,
            "description": "The sketch edge rendering configuration of a symbol layer. Edges of type sketch are rendered with a hand-drawn look in mind.",
            "properties": {
                "color": {
                    "description": "Color is represented as a three or four-element array.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "extensionLength": {
                    "description": "A size in points by which to extend edges beyond their original end points.",
                    "type": "number"
                },
                "size": {
                    "description": "Edge size in points, positive only.",
                    "type": "number"
                },
                "transparency": {
                    "description": "The value has to lie between 100 (full transparency) and 0 (full opacity).",
                    "type": "number"
                },
                "type": {
                    "const": "sketch",
                    "description": "The type of edge visualization. Value of this property must be sketch.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.SolidEdgesJson": {
            "additionalProperties": false,
            "description": "The solid edge rendering configuration of a symbol layer. Edges of type solid are rendered in a single color, unaffected by scene lighting.",
            "properties": {
                "color": {
                    "description": "Color is represented as a three or four-element array.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "extensionLength": {
                    "description": "A size in points by which to extend edges beyond their original end points.",
                    "type": "number"
                },
                "size": {
                    "description": "Edge size in points, positive only.",
                    "type": "number"
                },
                "transparency": {
                    "description": "The value has to lie between 100 (full transparency) and 0 (full opacity).",
                    "type": "number"
                },
                "type": {
                    "const": "solid",
                    "description": "The type of edge visualization. Value of this property must be solid.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.StyleSymbolReferenceJson": {
            "additionalProperties": false,
            "description": "The StyleSymbolReference is used to reference a symbol from a portal styleItem.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/styleSymbolReference/}.",
            "properties": {
                "name": {
                    "description": "Identifies a symbol in the style by name.",
                    "type": "string"
                },
                "styleName": {
                    "description": "A registered web style name.",
                    "type": "string"
                },
                "styleUrl": {
                    "description": "URL that points to the web style definition.",
                    "type": "string"
                },
                "type": {
                    "const": "styleSymbolReference",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.Symbol2DJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.CIMSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                }
            ],
            "description": "Symbol types used in web maps."
        },
        "esri.rest-api.SymbolJson.Symbol3DJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.CIMSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.LabelSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.MeshSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.StyleSymbolReferenceJson"
                }
            ],
            "description": "Symbol types used in web scenes."
        },
        "esri.rest-api.SymbolJson.SymbolJson": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.CIMSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.LabelSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.MeshSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.StyleSymbolReferenceJson"
                }
            ],
            "description": "A symbol representing a feature on the map.\n\nPart of the Esri ArcGIS REST API (see http://resources.arcgis.com/en/help/rest/apiref/symbol.html). See {@link https://developers.arcgis.com/web-map-specification/objects/symbol/}."
        },
        "esri.rest-api.SymbolJson.TextSymbol3DLayerJson": {
            "additionalProperties": false,
            "description": "TextSymbol3DLayer is used to draw text labels for features of any geometry type.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/textSymbol3DLayer/}.",
            "properties": {
                "font": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.FontJson",
                    "description": "Font used for text symbols."
                },
                "material": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.MaterialJson",
                    "description": "The material used to shade the geometry."
                },
                "size": {
                    "description": "Font size in points, positive only.",
                    "type": "number"
                },
                "text": {
                    "description": "Type:String.",
                    "type": "string"
                },
                "type": {
                    "const": "Text",
                    "description": "The type of the Symbol3DLayer. See {@link Symbol3DLayerJsonType}.",
                    "type": "string"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.TextSymbolJson": {
            "additionalProperties": false,
            "description": "Text symbols are used to add text to a feature (labeling).\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/esriTS_symbol/}.",
            "properties": {
                "angle": {
                    "description": "A numeric value that defines the number of degrees (0 to 360) that a text symbol is rotated. The rotation is from East in a counter-clockwise direction where East is the 0° axis.",
                    "type": "number"
                },
                "backgroundColor": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Background color of the text."
                },
                "borderLineColor": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Value indicating the the color of the border line."
                },
                "borderLineSize": {
                    "description": "Numeric value indicating the the size of the border line in points.",
                    "type": "number"
                },
                "color": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Color is represented as a four-element array. The four elements represent values for red, green, blue, and alpha in that order. Values range from 0 through 255. If color is undefined for a symbol, the color value is null."
                },
                "font": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.FontJson",
                    "description": "Font used for text symbols."
                },
                "haloColor": {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.ColorJson",
                    "description": "Color of the halo around the text."
                },
                "haloSize": {
                    "description": "Numeric value indicating the point size of a halo around the text symbol.",
                    "type": "number"
                },
                "horizontalAlignment": {
                    "description": "The horizontal alignment of the text.",
                    "enum": [
                        "center",
                        "justify",
                        "left",
                        "right"
                    ],
                    "type": "string"
                },
                "kerning": {
                    "description": "Boolean value indicating whether to adjust the spacing between characters in the text string.",
                    "type": "boolean"
                },
                "rightToLeft": {
                    "description": "Boolean value, set to true if using Hebrew or Arabic fonts.",
                    "type": "boolean"
                },
                "rotated": {
                    "description": "Boolean value indicating whether every character in the text string is rotated.",
                    "type": "boolean"
                },
                "text": {
                    "description": "Only applicable when specified as a client-side graphic.",
                    "type": "string"
                },
                "type": {
                    "const": "esriTS",
                    "description": "The type of symbol. See {@link SymbolJsonType}.",
                    "type": "string"
                },
                "verticalAlignment": {
                    "description": "The vertical alignment of the text.",
                    "enum": [
                        "baseline",
                        "bottom",
                        "middle",
                        "top"
                    ],
                    "type": "string"
                },
                "xoffset": {
                    "description": "Numeric value indicating the offset on the x-axis in pixels.",
                    "type": "number"
                },
                "yoffset": {
                    "description": "Numeric value indicating the offset on the y-axis in pixels.",
                    "type": "number"
                }
            },
            "required": [
                "type"
            ],
            "type": "object"
        },
        "esri.rest-api.SymbolJson.VerticalOffsetJson": {
            "additionalProperties": false,
            "description": "Shifts the symbol along the vertical world axis by a given length. The length is set in screen space units. See {@link https://developers.arcgis.com/web-scene-specification/objects/verticalOffset/}.",
            "properties": {
                "maxWorldLength": {
                    "description": "The maximum vertical symbol lift in world units. It acts as an upper bound to avoid lift becoming too big.",
                    "type": "number"
                },
                "minWorldLength": {
                    "description": "The minimum vertical symbol lift in world units. It acts as a lower bound to avoid lift becoming too small.",
                    "type": "number"
                },
                "screenLength": {
                    "description": "Maximal screen length of lift in points.",
                    "type": "number"
                }
            },
            "required": [
                "screenLength"
            ],
            "type": "object"
        },
        "esri.rest-api.TemplateJson.TemplateJson": {
            "additionalProperties": false,
            "description": "Templates describe features that can be created in a layer. Templates are used with map notes, other feature collections, and editable web-based CSV layers. They are not used with ArcGIS feature services, which already have feature templates defined in the service.\n\nTemplates are defined as a property of the layer definition when there are no types defined; otherwise, templates are defined as properties of the types.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/template/} {@link https://developers.arcgis.com/web-scene-specification/objects/template/}.",
            "properties": {
                "description": {
                    "description": "A detailed description of the template.",
                    "type": "string"
                },
                "drawingTool": {
                    "description": "An optional string that can define a client-side drawing tool to be used with this feature. See the web map specification for more details.",
                    "enum": [
                        "esriFeatureEditToolCircle",
                        "esriFeatureEditToolDownArrow",
                        "esriFeatureEditToolEllipse",
                        "esriFeatureEditToolFreehand",
                        "esriFeatureEditToolLeftArrow",
                        "esriFeatureEditToolLine",
                        "esriFeatureEditToolPoint",
                        "esriFeatureEditToolPolygon",
                        "esriFeatureEditToolRectangle",
                        "esriFeatureEditToolRightArrow",
                        "esriFeatureEditToolText",
                        "esriFeatureEditToolTriangle",
                        "esriFeatureEditToolUpArrow"
                    ],
                    "type": "string"
                },
                "name": {
                    "description": "A string containing a user-friendly name for the template. This name could appear on a menu of feature choices displayed in the client editing environment.",
                    "type": "string"
                },
                "prototype": {
                    "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson",
                    "description": "A feature object representing a prototypical feature for the template."
                }
            },
            "type": "object"
        },
        "esri.rest-api.TiledImageServiceLayerJson.TiledImageServiceLayerJson": {
            "additionalProperties": false,
            "description": "An ArcGIS Tiled Image Service layer displays map content from an ArcGIS Server Image service that has been cached (tiled).\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/tiledImageServiceLayer/} {@link https://developers.arcgis.com/web-scene-specification/objects/tiledImageServiceLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types."
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "isReference": {
                    "description": "This is applicable if used as a baseMapLayer. A boolean value indicating whether or not the baseMapLayer draws on top (true) of other layers, including operationalLayers , or below (false).",
                    "type": "boolean"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "An object that defines the attribute schema and drawing information for a layer drawn using client-side graphics. See layerDefinition properties table."
                },
                "layerType": {
                    "const": "ArcGISTiledImageServiceLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "URL to the ArcGIS Server Image Service.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.TiledMapServiceLayerJson.TiledMapServiceLayerJson": {
            "additionalProperties": false,
            "description": "An ArcGIS Tiled Map Service layer displays map content from an ArcGIS Server Map service that has been cached (tiled).\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/tiledMapServiceLayer/} {@link https://developers.arcgis.com/web-scene-specification/objects/tiledMapServiceLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types."
                },
                "displayLevels": {
                    "description": "NOTE: Applicable if used as a baseMapLayer. Integer value(s) indicating the display levels of the basemap layer. Only applicable for TiledMapService layers. All tiled map service layers should share the same tiling scheme. This property cannot be set via the Map Viewer UI.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "exclusionAreas": {
                    "$ref": "__type",
                    "description": "Exclusion areas define extent areas where no data will be fetched for a layer. NOTE: Applicable if used as a baseMapLayer. An array of exclusionArea objects defining the layer exclusions. See {@link https://developers.arcgis.com/web-map-specification/objects/exclusionArea/}."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "isReference": {
                    "description": "This is applicable if used as a baseMapLayer. A boolean value indicating whether or not the baseMapLayer draws on top (true) of other layers, including operationalLayers , or below (false).",
                    "type": "boolean"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerType": {
                    "const": "ArcGISTiledMapServiceLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "layers": {
                    "description": "An array of layer objects defining the styling, geometry, and attribute information for the features.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.SublayerJson.SublayerJson"
                    },
                    "type": "array"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "path": {
                    "description": "The path to the supporting offline layer. Mobile only. Only valid in MMAP JSON.",
                    "type": "string"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "URL to the ArcGIS Server tiled Map Service.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.TypeJson.TypeJson": {
            "additionalProperties": false,
            "description": "Types contain information about the combinations of attributes allowed for features in the dataset. Each feature in the dataset can have a type, indicated in its typeIdField, which is used in LayerDefinition.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/type/} {@link https://developers.arcgis.com/web-scene-specification/objects/type/}.",
            "properties": {
                "domains": {
                    "description": "A set of domain objects for each domain in the type."
                },
                "id": {
                    "description": "A unique numerical ID for the type.",
                    "type": [
                        "string",
                        "number"
                    ]
                },
                "name": {
                    "description": "A string containing a user-friendly name for the type. This might be shown on a menu of feature types that editors can create in the collection.",
                    "type": "string"
                },
                "templates": {
                    "description": "An array of template objects describing features that can be created in this layer. Templates are used with map notes, other feature collections, and editable web-based CSV layers. They are not used with ArcGIS feature services, which already have feature templates defined in the service.\n\nTemplates are defined as a property of the layer definition when there are no types defined; otherwise, templates are defined as properties of the types.\n\nYou might have more than one template per type if the attributes of available features vary slightly. For example, you might have a type named Copper pipe containing two templates: one whose DIAMETER property is 12 and another whose DIAMETER property is 10.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.TemplateJson.TemplateJson"
                    },
                    "type": "array"
                }
            },
            "type": "object"
        },
        "esri.rest-api.VectorTileLayerJson.VectorTileLayerJson": {
            "additionalProperties": false,
            "description": "A vector tile layer references a set of web-accessible vector tiles and the corresponding style for how those tiles should be drawn.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/vectorTileLayer/} {@link https://developers.arcgis.com/web-scene-specification/objects/vectorTileLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "customParameters": {
                    "description": "A sequence of custom parameters appended to the URL of all requests related to supporting ArcGIS layer types."
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "isReference": {
                    "description": "This is applicable if used as a baseMapLayer. A boolean value indicating whether or not the baseMapLayer draws on top (true) of other layers, including operationalLayers , or below (false).",
                    "type": "boolean"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerType": {
                    "const": "VectorTileLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "path": {
                    "description": "The path to the supporting offline layer. Mobile only. Only valid in MMAP JSON.",
                    "type": "string"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "styleUrl": {
                    "description": "A url to a JSON file containing the stylesheet information used to render the layer. You may also pass an object containing the stylesheet information identical to the JSON file.",
                    "type": "string"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.ViewpointJson.CameraJson": {
            "additionalProperties": false,
            "description": "The camera defines the position, tilt, and heading of the point from which the SceneView's visible extent is observed.\n\nSee {@link https://developers.arcgis.com/web-scene-specification/objects/camera/}.",
            "properties": {
                "heading": {
                    "description": "The heading of the camera in degrees. Heading is zero when north is the top of the screen. It increases as the view rotates clockwise. The angles are always normalized between 0 and 360 degrees.",
                    "type": "number"
                },
                "position": {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson",
                    "description": "The position of the camera defined by a map point."
                },
                "tilt": {
                    "description": "The tilt of the camera in degrees with respect to the surface as projected down from the camera position. Tilt is zero when looking straight down at the surface and 90 degrees when the camera is looking parallel to the surface.",
                    "type": "number"
                }
            },
            "required": [
                "position"
            ],
            "type": "object"
        },
        "esri.rest-api.ViewpointJson.ViewpointJson": {
            "additionalProperties": false,
            "description": "Describes a point of view for a 2D or 3D view. In a 2D view, the viewpoint is determined using a center point and scale value. In a 3D view, it is determined using a camera position. The Viewpoint can be bookmarked for later use, or used for navigation purposes.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/viewpoint/} {@link https://developers.arcgis.com/web-scene-specification/objects/viewpoint/}.",
            "properties": {
                "camera": {
                    "$ref": "#/definitions/esri.rest-api.ViewpointJson.CameraJson",
                    "description": "The camera defines the position, tilt, and heading of the point from which the SceneView's visible extent is observed."
                },
                "rotation": {
                    "description": "The rotation of due north in relation to the top of the view in degrees.",
                    "type": "number"
                },
                "scale": {
                    "description": "The scale of the viewpoint.",
                    "type": "number"
                },
                "targetGeometry": {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.GeometryJson",
                    "description": "The target geometry framed by the viewpoint."
                }
            },
            "type": "object"
        },
        "esri.rest-api.WFSLayerJson.WFSInfoJson": {
            "additionalProperties": false,
            "description": "Object that defines and provides information about layers in a WFS service.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/wfsInfo/}.",
            "properties": {
                "customParameters": {
                    "description": "A sequence of parameters used to append custom parameters to all WFS requests. These parameters are applied to GetCapabilities, DescribeFeatureType, and GetFeatures."
                },
                "featureUrl": {
                    "description": "URL of the WFS service operation.",
                    "type": "string"
                },
                "maxFeatures": {
                    "description": "Set this to limit the number of requested features that a GetFeature request presents.",
                    "type": "number"
                },
                "name": {
                    "description": "The name of the WFS layer. This is used to set layer visibility.",
                    "type": "string"
                },
                "supportedSpatialReferences": {
                    "description": "List of supported spatial reference IDs.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "swapXY": {
                    "description": "Boolean value indicating whether X and Y axis are flipped.",
                    "type": "boolean"
                },
                "version": {
                    "description": "Value indicating which version of the WFS specification is used.",
                    "type": "string"
                },
                "wfsNamespace": {
                    "description": "String indicating namespace.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.WFSLayerJson.WFSLayerJson": {
            "additionalProperties": false,
            "description": "OGC Web Feature Service (WFS) is a dynamic feature service that follows the specifications of OGC.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/wfsLayer/} and {@link https://developers.arcgis.com/web-scene-specification/objects/wfsLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "disablePopup": {
                    "description": "Indicates whether to allow a client to ignore popups defined by the service item.",
                    "type": "boolean"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerDefinition": {
                    "$ref": "#/definitions/esri.rest-api.LayerDefinitionJson.LayerDefinitionJson",
                    "description": "A layerDefinition object defining the attribute schema and drawing information for the layer."
                },
                "layerType": {
                    "const": "WFS",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "mode": {
                    "description": "Number where 0 means 'snapshot' and 1 means 'ondemand'.",
                    "enum": [
                        0,
                        1
                    ],
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "popupInfo": {
                    "$ref": "#/definitions/esri.rest-api.PopupInfoJson.PopupInfoJson",
                    "description": "A PopupInfo object defining the content of pop-up windows when you click or query a feature."
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLabels": {
                    "description": "Indicates whether to display labels for this layer. If true, labels will appear as defined in the labelingInfo property.",
                    "type": "boolean"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer. If the layer is not from a web service but rather a feature collection, than the url property is omitted.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                },
                "wfsInfo": {
                    "$ref": "#/definitions/esri.rest-api.WFSLayerJson.WFSInfoJson",
                    "description": "Object that defines and provides information about layers in a WFS service."
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.WMSLayerJson.WMSLayerJson": {
            "additionalProperties": false,
            "description": "A layer consuming a Web Map Service (WMS). The WMS specification is an international specification for serving and consuming dynamic maps on the web. For additional information on publishing WMS services, please see the ArcGIS Server help.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/wmsLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "copyright": {
                    "description": "A string containing copyright and access information for a WMS layer. This is copied from the capabilities document exposed by the WMS service.",
                    "type": "string"
                },
                "customLayerParameters": {
                    "description": "A sequence of custom parameters to WMS layer requests. These parameters are applied to GetMap and GetFeatureInfo requests. The customLayerParameters property takes precedence if customParameters is also present."
                },
                "customParameters": {
                    "description": "A sequence of custom parameters to all WMS requests. These parameters are applied to GetCapabilities, GetMap, and GetFeatureInfo requests. If used with the customLayerParameters property, customParameters will not take precedence."
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "extent": {
                    "description": "The rectangular map extent that should be requested from the service.",
                    "items": {
                        "items": {
                            "type": "number"
                        },
                        "type": "array"
                    },
                    "type": "array"
                },
                "featureInfoFormat": {
                    "description": "Format of the Feature.",
                    "enum": [
                        "text/html",
                        "text/plain"
                    ],
                    "type": "string"
                },
                "featureInfoUrl": {
                    "description": "URL of the Feature.",
                    "type": "string"
                },
                "format": {
                    "description": "A string containing the image format to be requested from a WMS service.",
                    "type": "string"
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "isReference": {
                    "description": "This is applicable if used as a baseMapLayer. A boolean value indicating whether or not the baseMapLayer draws on top (true) of other layers, including operationalLayers , or below (false).",
                    "type": "boolean"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerType": {
                    "const": "WMS",
                    "description": "Type of the layer.",
                    "type": "string"
                },
                "layers": {
                    "description": "An array of wms sub layer objects defining the styling, geometry, and attribute information for the features.",
                    "items": {
                        "$ref": "#/definitions/esri.rest-api.WMSSublayerJson.WMSSublayerJson"
                    },
                    "type": "array"
                },
                "legendUrl": {
                    "description": "URL to legend.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "mapUrl": {
                    "description": "The URL of the WMS map. You should also supply the url property, which is the URL of the WMS capabilities document.",
                    "type": "string"
                },
                "maxHeight": {
                    "description": "A number defining the maximum height, in pixels, that should be requested from the service.",
                    "type": "number"
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "maxWidth": {
                    "description": "A number defining the maximum width, in pixels, that should be requested from the service.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "spatialReferences": {
                    "description": "An array of numbers containing well-known IDs for spatial references supported by the service.",
                    "items": {
                        "type": "number"
                    },
                    "type": "array"
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "url": {
                    "description": "The URL to the layer.",
                    "type": "string"
                },
                "version": {
                    "description": "A string containing the version number of the service.",
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                },
                "visibleLayers": {
                    "description": "An array of layers that should appear visible. The array contains the names of the visible layers.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "esri.rest-api.WMSSublayerJson.WMSSublayerJson": {
            "additionalProperties": false,
            "description": "A layer object may allow overrides on popup content and drawing behavior for individual layers of a web service.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/wmsLayer_layer/}.",
            "properties": {
                "legendUrl": {
                    "description": "A string URL to a legend graphic for the layer.",
                    "type": "string"
                },
                "name": {
                    "description": "A string containing a unique name for the layer.",
                    "type": "string"
                },
                "queryable": {
                    "description": "Boolean specifying whether a layer is queryable or not.",
                    "type": "boolean"
                },
                "showPopup": {
                    "description": "Boolean specifying whether to display popup or not.",
                    "type": "boolean"
                },
                "title": {
                    "description": "A user-friendly string title for the layer that can be used in a table of contents.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.WebTileLayerJson.TileInfoJson": {
            "additionalProperties": false,
            "description": "Tile information, returned from the WMTS OGC Web Service. The tileInfo will contain the spatial reference of the layer. TileInfo is the same json representation as the ArcGIS Map/Image service tileInfo except that it may contain a levelValue on the lod objects that should be used instead of the level in the templateUrl.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/tileInfo/} {@link https://developers.arcgis.com/web-scene-specification/objects/tileInfo/}.",
            "properties": {
                "cols": {
                    "description": "Requested tile's column.",
                    "type": "number"
                },
                "compressionQuality": {
                    "description": "Compression quality of the tile.",
                    "type": "number"
                },
                "dpi": {
                    "description": "The dpi of the tiling scheme.",
                    "type": "number"
                },
                "format": {
                    "description": "Image format of the cached tiles.",
                    "type": "string"
                },
                "lods": {
                    "description": "An array of levels of detail that define the tiling scheme. See {@link https://developers.arcgis.com/web-map-specification/objects/lod/} {@link https://developers.arcgis.com/web-scene-specification/objects/lod/}.",
                    "items": {
                        "$ref": "__type"
                    },
                    "type": "array"
                },
                "origin": {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson",
                    "description": "The tiling scheme origin."
                },
                "rows": {
                    "description": "Requested tile's row.",
                    "type": "number"
                },
                "spatialReference": {
                    "$ref": "#/definitions/esri.rest-api.SpatialReferenceJson.SpatialReferenceJson",
                    "description": "The spatial reference of the tiling schema."
                }
            },
            "type": "object"
        },
        "esri.rest-api.WebTileLayerJson.WMTSInfoJson": {
            "additionalProperties": false,
            "description": "Object containing layerIdentifier, tileMatrixSet, and URL for WMTSLayer layer types. See {@link https://developers.arcgis.com/web-map-specification/objects/wmtsInfo/}.",
            "properties": {
                "customLayerParameters": {
                    "description": "A sequence of parameters used to append different custom parameters to a WMTS tile request. These parameters are applied to GetTile. The customLayerParameters property takes precedence if customParameters is also present."
                },
                "customParameters": {
                    "description": "A sequence of parameters used to append custom parameters to all WMTS requests. These parameters are applied to GetCapabilities and GetTile. If used with the customLayerParameters property, customParameters will not take precedence."
                },
                "layerIdentifier": {
                    "description": "Identifier for the specific layer used in the WMTS service. Required input by the user.",
                    "type": "string"
                },
                "tileMatrixSet": {
                    "description": "Tiling schema, set by the WMTS service.",
                    "type": "string"
                },
                "url": {
                    "description": "URL to the WMTS web service. Required input by the user.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "esri.rest-api.WebTileLayerJson.WebTileLayerJson": {
            "additionalProperties": false,
            "description": "A tile layer is a derived from a set of web-accessible tiles which reside on a server. The tiles are accessed by a direct URL request from the web browser. Because the tiles in a tile layer are not available as a service, they must be in a specific format for a web app such as the ArcGIS.com map viewer to display the layer on a map.\n\nSee {@link https://developers.arcgis.com/web-map-specification/objects/tiledLayer/} {@link https://developers.arcgis.com/web-scene-specification/objects/tiledLayer/}.",
            "properties": {
                "blendMode": {
                    "description": "Blend modes are used to blend layers together to create an interesting effect in a layer, or even to produce what seems like a new layer.",
                    "enum": [
                        "average",
                        "color",
                        "color-burn",
                        "color-dodge",
                        "darken",
                        "destination-atop",
                        "destination-in",
                        "destination-out",
                        "destination-over",
                        "difference",
                        "exclusion",
                        "hard-light",
                        "hue",
                        "invert",
                        "lighten",
                        "lighter",
                        "luminosity",
                        "minus",
                        "multiply",
                        "normal",
                        "overlay",
                        "plus",
                        "reflect",
                        "saturation",
                        "screen",
                        "soft-light",
                        "source-atop",
                        "source-in",
                        "source-out",
                        "vivid-light",
                        "xor"
                    ],
                    "type": "string"
                },
                "copyright": {
                    "description": "Attribution to the Web Tile Layer provider. It is displayed in the attribution on the web map. Input required by the user when the layer is added to the web map.",
                    "type": "string"
                },
                "effect": {
                    "$ref": "#/definitions/esri.rest-api.LayerJson.EffectJson",
                    "description": "Effect provides various filter functions to achieve different visual effects similar to how image filters (photo apps) work."
                },
                "fullExtent": {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson",
                    "description": "An extent object representing the full extent envelope for the layer."
                },
                "id": {
                    "description": "A unique identifying string for the layer.",
                    "type": "string"
                },
                "isReference": {
                    "description": "This is applicable if used as a baseMapLayer. A boolean value indicating whether or not the baseMapLayer draws on top (true) of other layers, including operationalLayers , or below (false).",
                    "type": "boolean"
                },
                "itemId": {
                    "description": "Optional string containing the item ID of the service if it's registered on ArcGIS Online or your organization's portal.",
                    "type": "string"
                },
                "layerType": {
                    "const": "WebTiledLayer",
                    "description": "The type of layer.",
                    "type": "string"
                },
                "listMode": {
                    "$ref": "esri.ListMode",
                    "description": "Indicates how the layer should display in the table of contents. The known values are listed below. See {@link support /esri!ListMode}."
                },
                "maxScale": {
                    "description": "A number representing the maximum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400. A value of 0 indicates that the layer will be visible no matter how far you zoom in.",
                    "type": "number"
                },
                "minScale": {
                    "description": "A number representing the minimum scale at which the layer will be visible. The number is the scale's denominator; thus, a value of 2400 represents a scale of 1/2,400.",
                    "type": "number"
                },
                "opacity": {
                    "description": "The degree of transparency applied to the layer on the client side, where\n0 is full transparency and 1 is no transparency.",
                    "type": "number"
                },
                "refreshInterval": {
                    "description": "When the refresh interval is set on a layer, the client must refresh that layer only, not the entire web map. The default value is '0', meaning the no refresh. You can enable a refresh interval on the following types of layers: ArcGIS Server web service, hosted feature layer, hosted tile layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers, basemaps (including Bing Maps basemaps), CSV from the web with latitude and longitude fields, and KML when added to ArcGIS Online through the My Content page. See {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.",
                    "type": "number"
                },
                "showLegend": {
                    "description": "Indicates whether to allow map authors the ability to control what layers should be shown in a client's legend.",
                    "type": "boolean"
                },
                "subDomains": {
                    "description": "If sub-domains are detected, they must be specified. The map viewer detects if the Web Tile Layer has sub-domains by parsing the templateURL value for `{subDomain}`.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "templateUrl": {
                    "description": "URL to the Web Tile Layer. Input required by the user when the layer is added to the web scene. The template URL contains a parameterized URL. The URL can contain the following template parameters: `{level}`, `{col}`, `{row}`, and `{subDomain}`.",
                    "type": "string"
                },
                "tileInfo": {
                    "$ref": "#/definitions/esri.rest-api.WebTileLayerJson.TileInfoJson",
                    "description": "An extent object representing the full extent envelope for the layer."
                },
                "title": {
                    "description": "A user-friendly title for the layer that can be used in a table of contents. If this is not included, then a title is derived from the service.",
                    "type": "string"
                },
                "type": {
                    "description": "(Deprecated, use layerType instead.) If the layer is referenced through a URL, but is not an ArcGIS web service, then this parameter can be supplied to denote the layer type.",
                    "enum": [
                        "BingMapsAerial",
                        "BingMapsHybrid",
                        "BingMapsRoad",
                        "CSV",
                        "KML",
                        "OpenStreetMap",
                        "WMS",
                        "WebTiledLayer"
                    ],
                    "type": "string"
                },
                "visibility": {
                    "description": "Determines whether the layer is initially visible in the web map.",
                    "type": "boolean"
                },
                "wmtsInfo": {
                    "$ref": "#/definitions/esri.rest-api.WebTileLayerJson.WMTSInfoJson",
                    "description": "An object representing information about this layer if it is a WMTS layer."
                }
            },
            "required": [
                "layerType"
            ],
            "type": "object"
        },
        "filter-builder.display-filter": {
            "description": "Sets the current filter criteria in the filter builder and also activates the component. Web only.",
            "enum": [
                "filter-builder.display-filter"
            ]
        },
        "filter-builder.display-filter:input": {
            "$ref": "#/definitions/SetFilterArgs"
        },
        "filter-builder.get-filter": {
            "description": "Gets the currently visible filter from the specified filter builder component. Note that this filter may not have yet been applied to the layer, so it might differ from the layer's definition expression. Web only.",
            "enum": [
                "filter-builder.get-filter"
            ]
        },
        "filter-builder.get-filter:input": {
            "$ref": "#/definitions/GetFilterArgs"
        },
        "filter-builder.get-filter:output": {
            "$ref": "#/definitions/Filter"
        },
        "filter-builder.set-filter": {
            "description": "Sets the current filter criteria in the filter builder. Web only.",
            "enum": [
                "filter-builder.set-filter"
            ]
        },
        "filter-builder.set-filter:input": {
            "$ref": "#/definitions/SetFilterArgs"
        },
        "geocode.active-geocoders": {
            "description": "Returns the active configured geocoders. Web only.",
            "enum": [
                "geocode.active-geocoders"
            ]
        },
        "geocode.active-geocoders:output": {
            "items": {
                "$ref": "@vertigis.arcgis-extensions.tasks.geocoding.Geocoder.Geocoder"
            },
            "type": "array"
        },
        "geocode.batch-geocode": {
            "description": "Finds locations corresponding to multiple addresses. The geocoder must have the supportsBatchGeocoding capability. Web only.",
            "enum": [
                "geocode.batch-geocode"
            ]
        },
        "geocode.batch-geocode:input": {
            "$ref": "#/definitions/BatchGeocodeArgs"
        },
        "geocode.batch-geocode:output": {
            "$ref": "#/definitions/Features"
        },
        "geocode.count": {
            "description": "Counts the number of locations corresponding to an address.",
            "enum": [
                "geocode.count"
            ]
        },
        "geocode.count:input": {
            "$ref": "#/definitions/GeocodeArgs"
        },
        "geocode.count:output": {
            "$ref": "#/definitions/@vertigis.arcgis-extensions.tasks.CountResult.CountResult"
        },
        "geocode.geocode": {
            "description": "Finds one or more locations corresponding to an address.",
            "enum": [
                "geocode.geocode"
            ]
        },
        "geocode.geocode:input": {
            "$ref": "#/definitions/GeocodeArgs"
        },
        "geocode.geocode:output": {
            "$ref": "#/definitions/Features"
        },
        "geocode.get-geocoders": {
            "description": "Returns all configured geocoders including the active ones. Web only.",
            "enum": [
                "geocode.get-geocoders"
            ]
        },
        "geocode.get-geocoders:output": {
            "items": {
                "$ref": "@vertigis.arcgis-extensions.tasks.geocoding.Geocoder.Geocoder"
            },
            "type": "array"
        },
        "geocode.reverse-geocode": {
            "description": "Finds the address at a particular location. The geocoder must have the supportsReverseGeocoding capability.",
            "enum": [
                "geocode.reverse-geocode"
            ]
        },
        "geocode.reverse-geocode:input": {
            "$ref": "#/definitions/ReverseGeocodeArgs"
        },
        "geocode.reverse-geocode:output": {
            "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
        },
        "geocode.suggest": {
            "description": "Suggests matching addresses to search for based on some input text. The geocoder must have the supportsSuggest capability.",
            "enum": [
                "geocode.suggest"
            ]
        },
        "geocode.suggest:input": {
            "$ref": "#/definitions/SuggestArgs"
        },
        "geocode.suggest:output": {
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "geolocation.auto-recenter": {
            "description": "Centers the map on the user's current location and keeps the location centered as it moves around. The maps parameter is only supported in VertiGIS Studio Mobile. In VertiGIS Studio Web, all maps are affected.",
            "enum": [
                "geolocation.auto-recenter"
            ]
        },
        "geolocation.auto-recenter:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "geolocation.display-location": {
            "description": "Show the user's location while the location is in the map's extent.",
            "enum": [
                "geolocation.display-location"
            ]
        },
        "geolocation.get-current-state": {
            "description": "Gets the current geolocate state.",
            "enum": [
                "geolocation.get-current-state"
            ]
        },
        "geolocation.get-current-state:output": {
            "$ref": "#/definitions/GeolocateCurrentState"
        },
        "geolocation.get-location-permissions-enabled": {
            "description": "Returns whether integrated location services have been permitted via app or browser permissions.",
            "enum": [
                "geolocation.get-location-permissions-enabled"
            ]
        },
        "geolocation.get-location-permissions-enabled:output": {
            "type": "boolean"
        },
        "geolocation.get-position": {
            "description": "Returns the current user position. This Operation can block while the user is prompted for permission, as such it is considered best practice not to perform this during startup.",
            "enum": [
                "geolocation.get-position"
            ]
        },
        "geolocation.get-position:output": {
            "$ref": "#/definitions/esri.Point"
        },
        "geolocation.turn-off-geolocation": {
            "description": "Turns off geolocation.",
            "enum": [
                "geolocation.turn-off-geolocation"
            ]
        },
        "geometry.add-pixel-tolerance": {
            "description": "Buffers a point geometry by a distance equivalent to the number of pixels at the current map scale. Web only.",
            "enum": [
                "geometry.add-pixel-tolerance"
            ]
        },
        "geometry.add-pixel-tolerance:input": {
            "anyOf": [
                {
                    "additionalProperties": false,
                    "properties": {
                        "features": {
                            "$ref": "#/definitions/FeaturesLike",
                            "description": "Features to use for the command/operation."
                        },
                        "maps": {
                            "$ref": "MapsLike",
                            "description": "Map(s) to use for the command/operation."
                        }
                    },
                    "required": [
                        "maps"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "geometry": {
                            "$ref": "#/definitions/GeometryLike",
                            "description": "The geometry to use for the command/operation."
                        },
                        "maps": {
                            "$ref": "MapsLike",
                            "description": "Map(s) to use for the command/operation."
                        }
                    },
                    "required": [
                        "maps"
                    ],
                    "type": "object"
                }
            ]
        },
        "geometry.add-pixel-tolerance:output": {
            "$ref": "#/definitions/CaptureGeometryResult"
        },
        "geometry.buffer": {
            "description": "Buffers a set of geometries by some distance to create a multi-part polygon geometry. The distance value respects the user's preferences and falls back on the default configured for the viewer session. Web only.",
            "enum": [
                "geometry.buffer"
            ]
        },
        "geometry.buffer:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/CreateGraphicsResult"
                },
                {
                    "$ref": "#/definitions/esri.Graphic"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasFeatures"
                },
                {
                    "$ref": "#/definitions/esri.Geometry"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                },
                {
                    "$ref": "#/definitions/esri.FeatureSet"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Graphic"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Geometry"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasGeometry"
                },
                {
                    "$ref": "#/definitions/BufferGeometryArgs"
                }
            ]
        },
        "geometry.buffer:output": {
            "$ref": "#/definitions/BufferResult"
        },
        "geometry.display-settings": {
            "description": "Display the geometry settings dialog. This allows you to configure buffer distance and buffer units. Web only.",
            "enum": [
                "geometry.display-settings"
            ]
        },
        "geometry.display-settings:input": {
            "$ref": "#/definitions/HasUITarget"
        },
        "geometry.get-buffer-distance": {
            "description": "Returns the default buffer distance for the viewer session. Web only.",
            "enum": [
                "geometry.get-buffer-distance"
            ]
        },
        "geometry.get-buffer-distance:output": {
            "type": "number"
        },
        "geometry.get-buffer-units": {
            "description": "Returns the default buffer units for the viewer session. Web only.",
            "enum": [
                "geometry.get-buffer-units"
            ]
        },
        "geometry.get-buffer-units:output": {
            "$ref": "#/definitions/LengthUnits"
        },
        "geometry.project": {
            "description": "Projects a set of geometries to a new spatial reference. Web only.",
            "enum": [
                "geometry.project"
            ]
        },
        "geometry.project:input": {
            "$ref": "#/definitions/ProjectArgs"
        },
        "geometry.project:output": {
            "items": {
                "$ref": "#/definitions/esri.Geometry"
            },
            "type": "array"
        },
        "geometry.set-buffer-distance": {
            "description": "Sets the default buffer distance for the viewer session. The buffer distance must be a number > 0. Web only.",
            "enum": [
                "geometry.set-buffer-distance"
            ]
        },
        "geometry.set-buffer-distance:input": {
            "type": "number"
        },
        "geometry.set-buffer-units": {
            "description": "Sets the default buffer units for the viewer session. Web only.",
            "enum": [
                "geometry.set-buffer-units"
            ]
        },
        "geometry.set-buffer-units:input": {
            "$ref": "#/definitions/LengthUnits"
        },
        "highlights.add": {
            "description": "Applies highlighting to one or more features.",
            "enum": [
                "highlights.add"
            ]
        },
        "highlights.add-focus": {
            "description": "Adds focused-state highlighting to one or more features.",
            "enum": [
                "highlights.add-focus"
            ]
        },
        "highlights.add-focus:input": {
            "$ref": "#/definitions/Features"
        },
        "highlights.add:input": {
            "$ref": "#/definitions/Features"
        },
        "highlights.clear": {
            "description": "Removes highlighting from all features on the given map(s). If no map is provided, features from all maps will be cleared.",
            "enum": [
                "highlights.clear"
            ]
        },
        "highlights.clear-focus": {
            "description": "Removes focused-state highlighting from all features.",
            "enum": [
                "highlights.clear-focus"
            ]
        },
        "highlights.clear-focus:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "highlights.clear:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "highlights.get": {
            "description": "Returns all highlighted features for a given map. Web only.",
            "enum": [
                "highlights.get"
            ]
        },
        "highlights.get-focused": {
            "description": "Returns all focused features for a given map. Web only.",
            "enum": [
                "highlights.get-focused"
            ]
        },
        "highlights.get-focused:input": {
            "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
        },
        "highlights.get-focused:output": {
            "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
        },
        "highlights.get:input": {
            "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
        },
        "highlights.get:output": {
            "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
        },
        "highlights.pulse": {
            "description": "Adds a temporary focused-state highlight to one or more features.",
            "enum": [
                "highlights.pulse"
            ]
        },
        "highlights.pulse:input": {
            "$ref": "#/definitions/Features"
        },
        "highlights.remove": {
            "description": "Removes highlighting from one or many features.",
            "enum": [
                "highlights.remove"
            ]
        },
        "highlights.remove-focus": {
            "description": "Removes focused-state highlighting from one or more features.",
            "enum": [
                "highlights.remove-focus"
            ]
        },
        "highlights.remove-focus:input": {
            "$ref": "#/definitions/Features"
        },
        "highlights.remove:input": {
            "$ref": "#/definitions/Features"
        },
        "kpi.add-features": {
            "description": "Add one or more features to active KPI cards. Web only.",
            "enum": [
                "kpi.add-features"
            ]
        },
        "kpi.add-features:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/UpdateKpiCardFeaturesArgs"
                }
            ]
        },
        "kpi.clear": {
            "description": "Clear features from active KPI cards. Web only.",
            "enum": [
                "kpi.clear"
            ]
        },
        "kpi.clear:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            ]
        },
        "kpi.display": {
            "description": "Displays the KPI card and updates it with provided features. Web only.",
            "enum": [
                "kpi.display"
            ]
        },
        "kpi.display:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/UpdateKpiCardFeaturesArgs"
                }
            ]
        },
        "kpi.get-definition": {
            "description": "Gets the definition of a KPI card that corresponds to the ID or the instance of the KPI card model that's passed in as an argument. Web only.",
            "enum": [
                "kpi.get-definition"
            ]
        },
        "kpi.get-definition:input": {
            "$ref": "#/definitions/ModelRef"
        },
        "kpi.get-definition:output": {
            "$ref": "#/definitions/GetKpiDefinitionResult"
        },
        "kpi.get-features": {
            "description": "Returns the current set of features from all active KPI Cards. Web only.",
            "enum": [
                "kpi.get-features"
            ]
        },
        "kpi.get-features:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            ]
        },
        "kpi.get-features:output": {
            "$ref": "#/definitions/Features"
        },
        "kpi.remove-features": {
            "description": "Remove one or more features from active KPI cards. Web only.",
            "enum": [
                "kpi.remove-features"
            ]
        },
        "kpi.remove-features:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/UpdateKpiCardFeaturesArgs"
                }
            ]
        },
        "kpi.update-definition": {
            "description": "Updates the definition of a KPI Card. Web only.",
            "enum": [
                "kpi.update-definition"
            ]
        },
        "kpi.update-definition:input": {
            "$ref": "#/definitions/UpdateKpiCardDefinitionArgs"
        },
        "layer-comparison.add-leading-layers": {
            "description": "Adds the layer(s) to the map's leading layers, which are used by the layer-comparison tool. Leading layers are positioned at the left of the map if the layer-comparison orientation is 'horizontal' and at the top of the map if the layer-comparison orientation is 'vertical'. Adding a layer to the leading layers will automatically remove it from the trailing layers. Only operational layers that exist within a given map are valid - others will be ignored. Web only.",
            "enum": [
                "layer-comparison.add-leading-layers"
            ]
        },
        "layer-comparison.add-leading-layers:input": {
            "$ref": "#/definitions/Layers"
        },
        "layer-comparison.add-trailing-layers": {
            "description": "Adds the layer(s) to the map's trailing layers, which are used by the layer-comparison tool. Trailing layers are positioned at the right of the map if the layer-comparison orientation is 'horizontal' and at the bottom of the map if the layer-comparison orientation is 'vertical'. Adding a layer to the trailing layers will automatically remove it from the leading layers. Only operational layers that exist within a given map are valid - others will be ignored. Web only.",
            "enum": [
                "layer-comparison.add-trailing-layers"
            ]
        },
        "layer-comparison.add-trailing-layers:input": {
            "$ref": "#/definitions/Layers"
        },
        "layer-comparison.clear-leading-layers": {
            "description": "Removes all leading layers from the map(s). Web only.",
            "enum": [
                "layer-comparison.clear-leading-layers"
            ]
        },
        "layer-comparison.clear-leading-layers:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "layer-comparison.clear-trailing-layers": {
            "description": "Removes all trailing layers from the map(s). Web only.",
            "enum": [
                "layer-comparison.clear-trailing-layers"
            ]
        },
        "layer-comparison.clear-trailing-layers:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "layer-comparison.remove-leading-layers": {
            "description": "Removes the layer(s) from the map's leading layers, which are used by the layer-comparison tool. Web only.",
            "enum": [
                "layer-comparison.remove-leading-layers"
            ]
        },
        "layer-comparison.remove-leading-layers:input": {
            "$ref": "#/definitions/Layers"
        },
        "layer-comparison.remove-trailing-layers": {
            "description": "Removes the layer(s) from the map's trailing layers, which are used by the layer-comparison tool. Web only.",
            "enum": [
                "layer-comparison.remove-trailing-layers"
            ]
        },
        "layer-comparison.remove-trailing-layers:input": {
            "$ref": "#/definitions/Layers"
        },
        "layer-comparison.set-direction": {
            "description": "Changes the orientation of the map(s') layer-comparison bar between 'horizontal' and 'vertical'. Web only.",
            "enum": [
                "layer-comparison.set-direction"
            ]
        },
        "layer-comparison.set-direction:input": {
            "$ref": "#/definitions/SetLayerComparisonDirectionArgs"
        },
        "layer-comparison.set-mode": {
            "description": "Activates or deactivates the layer-comparison mode on the map(s). Web only.",
            "enum": [
                "layer-comparison.set-mode"
            ]
        },
        "layer-comparison.set-mode:input": {
            "$ref": "#/definitions/SetLayerComparisonModeArgs"
        },
        "layers.ensure-can-set-symbol": {
            "description": "Guard command for enabling the layers.set-symbol command. Web only.",
            "enum": [
                "layers.ensure-can-set-symbol"
            ]
        },
        "layers.ensure-can-set-symbol:input": {
            "$ref": "#/definitions/SetSymbolArgs"
        },
        "layers.hide-labels": {
            "description": "Turns off the layer's labels on the map. Web only.",
            "enum": [
                "layers.hide-labels"
            ]
        },
        "layers.hide-labels:input": {
            "$ref": "#/definitions/SetLabelVisibilityArgs"
        },
        "layers.set-definition-expression": {
            "description": "Sets a definition expression on a layer to filter its features. Web only.",
            "enum": [
                "layers.set-definition-expression"
            ]
        },
        "layers.set-definition-expression:input": {
            "$ref": "#/definitions/LayerSettingsArgs"
        },
        "layers.set-label-classes": {
            "description": "Updates the label classes of the provided layer(s). Web only.",
            "enum": [
                "layers.set-label-classes"
            ]
        },
        "layers.set-label-classes:input": {
            "$ref": "#/definitions/LayerSettingsArgs"
        },
        "layers.set-popup-template": {
            "description": "Updates the provided layer(s) with new popup template configuration. Web only.",
            "enum": [
                "layers.set-popup-template"
            ]
        },
        "layers.set-popup-template:input": {
            "$ref": "#/definitions/LayerSettingsArgs"
        },
        "layers.set-symbol": {
            "description": "Updates the symbol for the provided layer(s). Web only.",
            "enum": [
                "layers.set-symbol"
            ]
        },
        "layers.set-symbol:input": {
            "$ref": "#/definitions/SetSymbolArgs"
        },
        "layers.set-task-settings": {
            "description": "Updates the provided layer(s) with new task settings. Web only.",
            "enum": [
                "layers.set-task-settings"
            ]
        },
        "layers.set-task-settings:input": {
            "$ref": "#/definitions/LayerSettingsArgs"
        },
        "layers.set-title": {
            "description": "Changes the title of the provided layer(s). Web only.",
            "enum": [
                "layers.set-title"
            ]
        },
        "layers.set-title:input": {
            "$ref": "#/definitions/LayerSettingsArgs"
        },
        "layers.set-visibility": {
            "description": "Updates the visibility of the provided layer(s). Web only.\n\n**Example:** Toggle a layer's visibility off by id.\n\n```\n{\n    \"layers\": \"Victoria_Fire_Hydrants_8780\",\n    \"visible\": false\n}\n```",
            "enum": [
                "layers.set-visibility"
            ]
        },
        "layers.set-visibility:input": {
            "$ref": "#/definitions/SetVisibilityArgs"
        },
        "layers.show-labels": {
            "description": "Turns on the layer's labels on the map. Web only.",
            "enum": [
                "layers.show-labels"
            ]
        },
        "layers.show-labels:input": {
            "$ref": "#/definitions/SetLabelVisibilityArgs"
        },
        "licensing.get-license-state": {
            "description": "Retrieve the license state for the specified account and SKU. Defaults to returning Web current state. Web only.",
            "enum": [
                "licensing.get-license-state"
            ]
        },
        "licensing.get-license-state:input": {
            "$ref": "#/definitions/LicenseRequestArgs"
        },
        "licensing.get-license-state:output": {
            "type": "string"
        },
        "licensing.validate-license": {
            "description": "Validate the current application license and show appropriate prompts or errors. Web only.",
            "enum": [
                "licensing.validate-license"
            ]
        },
        "licensing.validate-license:input": {
            "$ref": "#/definitions/LicenseRequestArgs"
        },
        "location-marker.clear": {
            "description": "Removes all Markers. Web only.",
            "enum": [
                "location-marker.clear"
            ]
        },
        "location-marker.clear:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMapsRef"
                },
                {
                    "items": {
                        "$ref": "#/definitions/ModelRef"
                    },
                    "type": "array"
                },
                {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            ]
        },
        "location-marker.create": {
            "description": "Create a new Marker. Web only.\n\n**Example:** Create a user draggable location marker with a heading and fov.\n\n_Note:_ The geometry here must be a Geometry object rather than a JSON representation. You can use the Workflow task 'Get Geometry From JSON' or be passed one from another step in the command chain.\n\n```\n{\n    \"color\": [24, 128, 255, 255],\n    \"fov\": 120,\n    \"geometry\": $geometry1.geometry,\n    \"heading\": 60,\n    \"id\": \"custom-marker-1\",\n    \"symbol\": \"dot\",\n    \"userDraggable\": true\n}\n```",
            "enum": [
                "location-marker.create"
            ]
        },
        "location-marker.create:input": {
            "$ref": "#/definitions/CreateLocationMarkerArgs"
        },
        "location-marker.remove": {
            "description": "Remove a Marker. Web only.",
            "enum": [
                "location-marker.remove"
            ]
        },
        "location-marker.remove:input": {
            "$ref": "#/definitions/RemoveLocationMarkerArgs"
        },
        "location-marker.update": {
            "description": "Update an existing Marker. Web only.",
            "enum": [
                "location-marker.update"
            ]
        },
        "location-marker.update:input": {
            "$ref": "#/definitions/UpdateLocationMarkerArgs"
        },
        "map.add-layers": {
            "description": "Add the specified layer(s) to the maps(s). Layers will be inserted in the order specified and will be added above existing layers in the drawing order. Note that an Esri `Layer` object can only be added to one map.\n\nWeb only.\n\n**Example:** Adding a CSV layer to the main map using `AddLayersArgs`.\n\n```\n{\n    \"layers\": [\n        {\n            \"id\": \"csv_123\",\n            \"layerType\": \"CSV\",\n            \"title\": \"Earthquakes\",\n            \"url\": \"http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_month.csv\",\n            \"columnDelimiter\": \",\",\n            \"layerDefinition\": {\n                \"geometryType\": \"esriGeometryPoint\",\n                \"objectIdField\": \"__OBJECTID\",\n                \"capabilities\": \"Query\",\n                \"extent\": {\n                    \"xmin\": -20034970.25849882,\n                    \"ymin\": -9494815.985282788,\n                    \"xmax\": 20026086.963133518,\n                    \"ymax\": 14269743.874052156,\n                    \"spatialReference\": {\n                        \"wkid\": 102100\n                    }\n                }\n            },\n            \"locationInfo\": {\n                \"locationType\": \"coordinates\",\n                \"latitudeFieldName\": \"latitude\",\n                \"longitudeFieldName\": \"longitude\"\n            }\n        }\n    ]\n}\n```",
            "enum": [
                "map.add-layers"
            ]
        },
        "map.add-layers:input": {
            "$ref": "#/definitions/AddLayersArgs"
        },
        "map.add-markup": {
            "description": "Adds markup to the map(s).\n\n**Example:** Adding markup to a custom collection using `AddMarkupArgs`.\n\n```\n{\n    \"collection\": \"my-custom-markup\",\n    \"graphics\": [\n        {\n            \"geometry\": {\n                \"x\": -13733416.69,\n                \"y\": 6177670.86,\n                \"spatialReference\": {\n                    \"wkid\": 3857\n                },\n                \"type\": \"point\"\n            },\n            \"symbol\": {\n                \"color\": [76, 115, 0, 255],\n                \"size\": 16,\n                \"style\": \"esriSMSCircle\",\n                \"type\": \"simple-marker\"\n            }\n        }\n    ]\n}\n```",
            "enum": [
                "map.add-markup"
            ]
        },
        "map.add-markup:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/CreateGraphicsResult"
                },
                {
                    "$ref": "#/definitions/esri.Graphic"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                },
                {
                    "$ref": "#/definitions/esri.FeatureSet"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Graphic"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/AddMarkupArgs"
                }
            ]
        },
        "map.apply-filter-effect": {
            "description": "Applies a Filter Effect to the map(s). Web only.",
            "enum": [
                "map.apply-filter-effect"
            ]
        },
        "map.apply-filter-effect:input": {
            "$ref": "#/definitions/ApplyFilterEffectArgs"
        },
        "map.apply-layer-preset": {
            "description": "Applies a LayerPreset to the map(s). Web only.",
            "enum": [
                "map.apply-layer-preset"
            ]
        },
        "map.apply-layer-preset:input": {
            "$ref": "#/definitions/ApplyLayerPresetArgs"
        },
        "map.clear-filter-effects": {
            "description": "Clears all Filter Effects from the map(s). Web only.",
            "enum": [
                "map.clear-filter-effects"
            ]
        },
        "map.clear-filter-effects:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.clear-markup": {
            "description": "Clears all markup from the map(s).",
            "enum": [
                "map.clear-markup"
            ]
        },
        "map.clear-markup:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/ClearMarkupArgs"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.create-note": {
            "description": "Create a map note. Web only.",
            "enum": [
                "map.create-note"
            ]
        },
        "map.create-note:input": {
            "$ref": "#/definitions/CreateMapNoteArgs"
        },
        "map.edit-note": {
            "description": "Edit an existing map note. Web only.",
            "enum": [
                "map.edit-note"
            ]
        },
        "map.edit-note:input": {
            "$ref": "#/definitions/EditMapNotesArgs"
        },
        "map.export-web-map-or-scene": {
            "description": "Exports the current configuration of the selected map component as a web map or scene. Web only.",
            "enum": [
                "map.export-web-map-or-scene"
            ]
        },
        "map.export-web-map-or-scene:input": {
            "$ref": "#/definitions/HasMaps"
        },
        "map.export-web-map-or-scene:output": {
            "$ref": "#/definitions/PortalItemData"
        },
        "map.get-extent": {
            "description": "Returns the extent from the specified map. Web only.",
            "enum": [
                "map.get-extent"
            ]
        },
        "map.get-extent:input": {
            "$ref": "#/definitions/GetExtentArgs"
        },
        "map.get-extent:output": {
            "$ref": "#/definitions/GetExtentResult"
        },
        "map.get-initial-viewpoint": {
            "description": "Returns the initial viewpoint for the active map or scene of the specified map. If no map extension is specified, returns the initial viewpoint for the first available map. Also returns the map(s) used for the operation. Web only.",
            "enum": [
                "map.get-initial-viewpoint"
            ]
        },
        "map.get-initial-viewpoint:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.get-initial-viewpoint:output": {
            "$ref": "#/definitions/GetViewpointResult"
        },
        "map.get-markup": {
            "description": "Returns markup from the specified map that are intersected by the supplied geometry. Web only.",
            "enum": [
                "map.get-markup"
            ]
        },
        "map.get-markup:input": {
            "$ref": "#/definitions/GetMarkupArgs"
        },
        "map.get-markup:output": {
            "$ref": "#/definitions/GetMarkupResult"
        },
        "map.get-spatial-reference": {
            "description": "If a map extension ID is specified, returns the spatial reference for that map. If no map extension ID is specified, returns the spatial reference of the first available map.",
            "enum": [
                "map.get-spatial-reference"
            ]
        },
        "map.get-spatial-reference:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.get-spatial-reference:output": {
            "$ref": "#/definitions/esri.SpatialReference"
        },
        "map.get-user-coordinates-input": {
            "description": "Prompts the user to enter and return a coordinate. Web only.",
            "enum": [
                "map.get-user-coordinates-input"
            ]
        },
        "map.get-user-coordinates-input:input": {
            "$ref": "#/definitions/GetCoordinateArgs"
        },
        "map.get-user-coordinates-input:output": {
            "$ref": "#/definitions/GetCoordinateResult"
        },
        "map.get-viewpoint": {
            "description": "Returns the current viewpoint for the active map or scene of the specified map. If no map extension is specified, returns the viewpoint for the first available map. Also returns the map(s) used for the operation. Web only.",
            "enum": [
                "map.get-viewpoint"
            ]
        },
        "map.get-viewpoint:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.get-viewpoint:output": {
            "$ref": "#/definitions/GetViewpointResult"
        },
        "map.go-to-features": {
            "description": "Zooms to (without animation) one or many features on the targeted map(s). Web only.",
            "enum": [
                "map.go-to-features"
            ]
        },
        "map.go-to-features:input": {
            "$ref": "#/definitions/Features"
        },
        "map.go-to-geometry": {
            "description": "Zooms to (without animation) one or many geometries on the targeted map(s). Web only.",
            "enum": [
                "map.go-to-geometry"
            ]
        },
        "map.go-to-geometry:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/CreateGraphicsResult"
                },
                {
                    "$ref": "#/definitions/esri.Graphic"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasFeatures"
                },
                {
                    "$ref": "#/definitions/esri.Geometry"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                },
                {
                    "$ref": "#/definitions/esri.FeatureSet"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Graphic"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Geometry"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasGeometry"
                },
                {
                    "$ref": "#/definitions/HasMapGeometry"
                }
            ]
        },
        "map.go-to-initial-viewpoint": {
            "description": "Zooms (without animation) the map to its initial viewpoint. If map is omitted, all maps will be targeted. Web only.",
            "enum": [
                "map.go-to-initial-viewpoint"
            ]
        },
        "map.go-to-initial-viewpoint:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.go-to-layer-extent": {
            "description": "Go to (without animation) the full extent of the layer(s). If more than one layer is specified, it will zoom to the combined extent of all layers. Web only.",
            "enum": [
                "map.go-to-layer-extent"
            ]
        },
        "map.go-to-layer-extent:input": {
            "$ref": "#/definitions/ZoomToLayerArgs"
        },
        "map.go-to-next-viewpoint": {
            "description": "Zooms to (without animation) the next viewpoint to undo viewpoint changes from zooming to a previous viewpoint.\n\nNote that if no map is included as an argument, the command will run for all maps, which could result in unexpected behavior. Web only.",
            "enum": [
                "map.go-to-next-viewpoint"
            ]
        },
        "map.go-to-next-viewpoint:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.go-to-previous-viewpoint": {
            "description": "Zooms to (without animation) the previous viewpoint.\n\nNote that if no map is included as an argument, the command will run for all maps, which could result in unexpected behavior. Web only.",
            "enum": [
                "map.go-to-previous-viewpoint"
            ]
        },
        "map.go-to-previous-viewpoint:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.go-to-scale": {
            "description": "Zooms (without animation) the map to a specified, numerical scale. Web only.",
            "enum": [
                "map.go-to-scale"
            ]
        },
        "map.go-to-scale:input": {
            "$ref": "#/definitions/ZoomToScaleArgs"
        },
        "map.go-to-viewpoint": {
            "description": "Zooms to (without animation) the given viewpoint. Web only.",
            "enum": [
                "map.go-to-viewpoint"
            ]
        },
        "map.go-to-viewpoint:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.Bookmark.BookmarkProperties"
                },
                {
                    "$ref": "#/definitions/esri.Viewpoint"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.ViewpointJson.ViewpointJson"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.Bookmark.Bookmark"
                },
                {
                    "$ref": "#/definitions/ZoomToViewpointArgs"
                }
            ]
        },
        "map.hide-markup": {
            "description": "Show the specified markup collection, if hidden. If no collection is specified the default markup collection will be shown. Web only.",
            "enum": [
                "map.hide-markup"
            ]
        },
        "map.hide-markup:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/MarkupArgs"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.pan-to-features": {
            "description": "Pans (without zooming) to one or many features on the targeted map(s).",
            "enum": [
                "map.pan-to-features"
            ]
        },
        "map.pan-to-features:input": {
            "$ref": "#/definitions/Features"
        },
        "map.pan-to-geometry": {
            "description": "Pan (without zooming) to one or many geometries on the targeted map(s). Web only.",
            "enum": [
                "map.pan-to-geometry"
            ]
        },
        "map.pan-to-geometry:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/CreateGraphicsResult"
                },
                {
                    "$ref": "#/definitions/esri.Graphic"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasFeatures"
                },
                {
                    "$ref": "#/definitions/esri.Geometry"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                },
                {
                    "$ref": "#/definitions/esri.FeatureSet"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Graphic"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Geometry"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasGeometry"
                },
                {
                    "$ref": "#/definitions/HasMapGeometry"
                }
            ]
        },
        "map.remove-filter-effects": {
            "description": "Removes a Filter Effect(s) from the map(s). Web only.",
            "enum": [
                "map.remove-filter-effects"
            ]
        },
        "map.remove-filter-effects:input": {
            "$ref": "#/definitions/Layers"
        },
        "map.remove-layers": {
            "description": "Remove the specified layer(s) from the map(s). Web only.",
            "enum": [
                "map.remove-layers"
            ]
        },
        "map.remove-layers:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.mapping._LayerExtension.LayerReference"
                },
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.data._TableExtension.TableReference"
                },
                {
                    "$ref": "#/definitions/esri.Layer"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping._LayerExtension.LayerExtension"
                },
                {
                    "$ref": "esri.SublayerLike"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping._SublayerExtension.SublayerExtension"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data._TableExtension.TableExtension"
                },
                {
                    "items": {
                        "$ref": "#/definitions/LayerLike"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/RemoveLayersArgs"
                },
                {
                    "type": "string"
                }
            ]
        },
        "map.rotate-by": {
            "description": "Rotates the map by the specified amount.",
            "enum": [
                "map.rotate-by"
            ]
        },
        "map.rotate-by:input": {
            "$ref": "MapRotateArgs"
        },
        "map.rotate-to": {
            "description": "Rotates the map to the specified angle.",
            "enum": [
                "map.rotate-to"
            ]
        },
        "map.rotate-to:input": {
            "$ref": "MapRotateArgs"
        },
        "map.set-view-mode": {
            "description": "Changes the view mode of a map to the specified mode, if supported. If no maps are specified, all maps will be targeted. Web only.",
            "enum": [
                "map.set-view-mode"
            ]
        },
        "map.set-view-mode:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/SetViewModeArgs"
                },
                {
                    "enum": [
                        "map",
                        "scene"
                    ],
                    "type": "string"
                }
            ]
        },
        "map.show-markup": {
            "description": "Show the specified markup collection, if hidden. If no collection is specified the default markup collection will be shown. Web only.",
            "enum": [
                "map.show-markup"
            ]
        },
        "map.show-markup:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/MarkupArgs"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.update-layer": {
            "description": "Updates a layer in the map. Web only.",
            "enum": [
                "map.update-layer"
            ]
        },
        "map.update-layer:input": {
            "$ref": "#/definitions/UpdateLayerArgs"
        },
        "map.zoom-in": {
            "description": "Zooms the map in by one level of detail. Web only.",
            "enum": [
                "map.zoom-in"
            ]
        },
        "map.zoom-in:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.zoom-out": {
            "description": "Zooms the map out by one level of detail. Web only.",
            "enum": [
                "map.zoom-out"
            ]
        },
        "map.zoom-out:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.zoom-to-features": {
            "description": "Zooms to one or many features.",
            "enum": [
                "map.zoom-to-features"
            ]
        },
        "map.zoom-to-features:input": {
            "$ref": "#/definitions/Features"
        },
        "map.zoom-to-geometry": {
            "description": "Zooms to one or many geometries. Web only.",
            "enum": [
                "map.zoom-to-geometry"
            ]
        },
        "map.zoom-to-geometry:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/CreateGraphicsResult"
                },
                {
                    "$ref": "#/definitions/esri.Graphic"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasFeatures"
                },
                {
                    "$ref": "#/definitions/esri.Geometry"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                },
                {
                    "$ref": "#/definitions/esri.FeatureSet"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Graphic"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.FeatureJson.FeatureJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "#/definitions/esri.Geometry"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.MultipointJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolylineJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.PolygonJson"
                            },
                            {
                                "$ref": "#/definitions/esri.rest-api.GeometryJson.ExtentJson"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasGeometry"
                },
                {
                    "$ref": "#/definitions/HasMapGeometry"
                }
            ]
        },
        "map.zoom-to-initial-viewpoint": {
            "description": "Zooms the map to its initial viewpoint.",
            "enum": [
                "map.zoom-to-initial-viewpoint"
            ]
        },
        "map.zoom-to-initial-viewpoint:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.zoom-to-layer-extent": {
            "description": "Go to the full extent of the layer(s). If more than one layer is specified, it will zoom to the combined extent of all layers. Web only.",
            "enum": [
                "map.zoom-to-layer-extent"
            ]
        },
        "map.zoom-to-layer-extent:input": {
            "$ref": "#/definitions/ZoomToLayerArgs"
        },
        "map.zoom-to-layer-visible-scale": {
            "description": "Go to the closest min/max scale of the layer. The map will not zoom if it is currently within the visible scale range. If multiple layers are provided, it will attempt to zoom to a scale range that makes all of the layers visible. If this is not possible (i.e. some of the layers' scale ranges don't overlap), then priority will be given to layers that come earlier in the sequence. Web only.",
            "enum": [
                "map.zoom-to-layer-visible-scale"
            ]
        },
        "map.zoom-to-layer-visible-scale:input": {
            "$ref": "#/definitions/ZoomToLayerArgs"
        },
        "map.zoom-to-next-viewpoint": {
            "description": "Zooms to the next viewpoint to undo viewpoint changes from zooming to a previous viewpoint.\n\nNote that if no map is included as an argument, the command will run for all maps, which could result in unexpected behavior. Web only.",
            "enum": [
                "map.zoom-to-next-viewpoint"
            ]
        },
        "map.zoom-to-next-viewpoint:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.zoom-to-previous-viewpoint": {
            "description": "Zooms to the previous viewpoint.\n\nNote that if no map is included as an argument, the command will run for all maps, which could result in unexpected behavior. Web only.",
            "enum": [
                "map.zoom-to-previous-viewpoint"
            ]
        },
        "map.zoom-to-previous-viewpoint:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                },
                {
                    "items": {
                        "$ref": "@vertigis.arcgis-extensions.mapping.MapExtension.MapExtension"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasMaps"
                },
                {
                    "type": "null"
                }
            ]
        },
        "map.zoom-to-scale": {
            "description": "Zooms the map to a specified, numerical scale. Web only.",
            "enum": [
                "map.zoom-to-scale"
            ]
        },
        "map.zoom-to-scale:input": {
            "$ref": "#/definitions/ZoomToScaleArgs"
        },
        "map.zoom-to-viewpoint": {
            "description": "Go to the given viewpoint.",
            "enum": [
                "map.zoom-to-viewpoint"
            ]
        },
        "map.zoom-to-viewpoint:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.Bookmark.BookmarkProperties"
                },
                {
                    "$ref": "#/definitions/esri.Viewpoint"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.ViewpointJson.ViewpointJson"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.mapping.Bookmark.Bookmark"
                },
                {
                    "$ref": "#/definitions/ZoomToViewpointArgs"
                }
            ]
        },
        "measurement.capture-geometry": {
            "description": "Allows the user to create geometry by sketching on a map with live measurement labels. Returns the geometry that was drawn, along with the map that it was drawn on. Web only.",
            "enum": [
                "measurement.capture-geometry"
            ]
        },
        "measurement.capture-geometry:input": {
            "$ref": "#/definitions/CaptureGeometryArgs"
        },
        "measurement.capture-geometry:output": {
            "$ref": "#/definitions/CaptureGeometryResult"
        },
        "measurement.create-graphics": {
            "description": "Creates graphics out of geometries with the default symbology set by the \"measurement.set-default-symbol\" command'. Web only.",
            "enum": [
                "measurement.create-graphics"
            ]
        },
        "measurement.create-graphics:input": {
            "$ref": "#/definitions/Geometries"
        },
        "measurement.create-graphics:output": {
            "$ref": "#/definitions/CreateMeasurementGraphicsResult"
        },
        "measurement.display-settings": {
            "description": "Display the measurements settings dialog. This allows you to configure measurements system, area and length units. Web only.",
            "enum": [
                "measurement.display-settings"
            ]
        },
        "measurement.display-settings:input": {
            "$ref": "#/definitions/HasUITarget"
        },
        "measurement.get-area-units": {
            "description": "Gets the area units used for measurements. If undefined the units will be selected intelligently based on dimensions. Web only.",
            "enum": [
                "measurement.get-area-units"
            ]
        },
        "measurement.get-area-units:output": {
            "$ref": "#/definitions/AreaMeasurementUnits"
        },
        "measurement.get-default-symbol": {
            "description": "Gets the value of the default point, line, or polygon symbol for the provided geometry type. Web only.",
            "enum": [
                "measurement.get-default-symbol"
            ]
        },
        "measurement.get-default-symbol3-d": {
            "description": "Gets the value of the default 3D point, line, or polygon symbol for the provided geometry type. Web only.",
            "enum": [
                "measurement.get-default-symbol3-d"
            ]
        },
        "measurement.get-default-symbol3-d:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/GetDefaultSymbolArgs"
                },
                {
                    "enum": [
                        "extent",
                        "mesh",
                        "multipatch",
                        "multipoint",
                        "point",
                        "polygon",
                        "polyline"
                    ],
                    "type": "string"
                }
            ]
        },
        "measurement.get-default-symbol3-d:output": {
            "$ref": "#/definitions/DrawingSymbolConfig"
        },
        "measurement.get-default-symbol:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/GetDefaultSymbolArgs"
                },
                {
                    "enum": [
                        "extent",
                        "mesh",
                        "multipatch",
                        "multipoint",
                        "point",
                        "polygon",
                        "polyline"
                    ],
                    "type": "string"
                }
            ]
        },
        "measurement.get-default-symbol:output": {
            "$ref": "#/definitions/DrawingSymbolConfig"
        },
        "measurement.get-length-units": {
            "description": "Gets the length units used for measurements. If undefined the units will be selected intelligently based on dimensions. Web only.",
            "enum": [
                "measurement.get-length-units"
            ]
        },
        "measurement.get-length-units:output": {
            "$ref": "#/definitions/LengthMeasurementUnits"
        },
        "measurement.set-area-units": {
            "description": "Sets the area units used for measurements. Set as undefined for units to be intelligently selected based on dimensions. Web only.",
            "enum": [
                "measurement.set-area-units"
            ]
        },
        "measurement.set-area-units:input": {
            "anyOf": [
                {
                    "type": "null"
                },
                {
                    "$ref": "#/definitions/AreaMeasurementUnits"
                }
            ]
        },
        "measurement.set-default-symbol": {
            "description": "Sets the value of the default point, line, or polygon symbol. The symbol can be configured with an instance of the Esri symbol or with the Esri WebMap JSON. Web only.",
            "enum": [
                "measurement.set-default-symbol"
            ]
        },
        "measurement.set-default-symbol:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PictureMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleFillSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleLineSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.SimpleMarkerSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.TextSymbolJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.LineSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PointSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.rest-api.SymbolJson.PolygonSymbol3DJson"
                },
                {
                    "$ref": "#/definitions/esri.SimpleMarkerSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PictureMarkerSymbol"
                },
                {
                    "$ref": "#/definitions/esri.SimpleLineSymbol"
                },
                {
                    "$ref": "#/definitions/esri.SimpleFillSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PictureFillSymbol"
                },
                {
                    "$ref": "#/definitions/esri.PointSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.LineSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.PolygonSymbol3D"
                },
                {
                    "$ref": "#/definitions/esri.TextSymbol"
                },
                {
                    "$ref": "#/definitions/HasSymbol"
                }
            ]
        },
        "measurement.set-length-units": {
            "description": "Sets the length units used for measurements. Set as undefined for units to be intelligently selected based on dimensions. Web only.",
            "enum": [
                "measurement.set-length-units"
            ]
        },
        "measurement.set-length-units:input": {
            "anyOf": [
                {
                    "type": "null"
                },
                {
                    "$ref": "#/definitions/LengthMeasurementUnits"
                }
            ]
        },
        "messaging.mix-in-args": {
            "description": "Attempts to merge an array of values into a single value that can be used as an argument for a command or operation. For example:\n\n    [features, { chart: \"average-household-income\" }];\n\nThis would mix `features` obtained from some other source into arguments intended for the \"charts.display\" command.\n\nIf the values cannot be merged, then the leftmost value is returned.\n\nNote that argument merging already occurs automatically in command chains; this explicit operation exists for advanced scenarios like VertiGIS Studio Workflow or custom code written using the SDK. Web only.",
            "enum": [
                "messaging.mix-in-args"
            ]
        },
        "messaging.mix-in-args:input": {
            "items": {},
            "type": "array"
        },
        "messaging.mix-in-args:output": {},
        "panel.pop-in": {
            "description": "Closes the popout window for a panel and restores the original layout. Web only.",
            "enum": [
                "panel.pop-in"
            ]
        },
        "panel.pop-in:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": "string"
                }
            ]
        },
        "panel.pop-out": {
            "description": "Removes a panel from the main layout and opens it in a new popout window. Web only.",
            "enum": [
                "panel.pop-out"
            ]
        },
        "panel.pop-out:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": "string"
                }
            ]
        },
        "portal.choose-layers": {
            "description": "Allows the user to browse/search the application's associated portal for one or more layers. Web only.",
            "enum": [
                "portal.choose-layers"
            ]
        },
        "portal.choose-layers:input": {
            "$ref": "#/definitions/ChooseLayersOptions"
        },
        "portal.choose-layers:output": {
            "$ref": "#/definitions/ChooseLayersResult"
        },
        "portal.create-or-update-item": {
            "description": "Creates or updates a portal item from the supplied data. Web only.",
            "enum": [
                "portal.create-or-update-item"
            ]
        },
        "portal.create-or-update-item:input": {
            "$ref": "#/definitions/CreateOrUpdateItemArgs"
        },
        "portal.create-or-update-item:output": {
            "$ref": "#/definitions/esri.PortalItem"
        },
        "printing.run": {
            "description": "Run a print job with a given map and template/layout.",
            "enum": [
                "printing.run"
            ]
        },
        "printing.run:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/RunLayoutPrintArgs"
                },
                {
                    "$ref": "#/definitions/RunPrintArgs"
                }
            ]
        },
        "project.create": {
            "description": "Creates app config for a project, based on the current state of the application. Web only.",
            "enum": [
                "project.create"
            ]
        },
        "project.create:input": {},
        "project.create:output": {
            "anyOf": [
                {
                    "$ref": "#/definitions/AppConfig"
                },
                {
                    "$ref": "#/definitions/HasAppConfig"
                }
            ]
        },
        "project.delete-shared": {
            "description": "Deletes a shared project and its associated project config. Web only.",
            "enum": [
                "project.delete-shared"
            ]
        },
        "project.delete-shared:input": {
            "$ref": "#/definitions/DeleteSharedProjectArgs"
        },
        "project.ensure-can-save-shared": {
            "description": "Guard command for enabling the project.save-shared command. Web only.",
            "enum": [
                "project.ensure-can-save-shared"
            ]
        },
        "project.ensure-can-save-shared:input": {
            "$ref": "#/definitions/SaveSharedProjectArgs"
        },
        "project.get-share-link": {
            "description": "Returns a url share link for the provided Shared Project. Web only.",
            "enum": [
                "project.get-share-link"
            ]
        },
        "project.get-share-link:input": {
            "$ref": "#/definitions/SharedProject"
        },
        "project.get-share-link:output": {
            "type": "string"
        },
        "project.get-shared": {
            "description": "Returns a list of Shared Projects. Web only.",
            "enum": [
                "project.get-shared"
            ]
        },
        "project.get-shared-content": {
            "description": "Returns a Shared Project Content. Web only.",
            "enum": [
                "project.get-shared-content"
            ]
        },
        "project.get-shared-content:input": {
            "$ref": "#/definitions/SharedProject"
        },
        "project.get-shared-content:output": {
            "$ref": "#/definitions/HasAppConfig"
        },
        "project.get-shared:output": {
            "items": {
                "$ref": "#/definitions/SharedProject"
            },
            "type": "array"
        },
        "project.load": {
            "description": "Loads a project's app config and updates the application's current state, accordingly. If more than one file is provided, only the first will be loaded. Web only.\n\n**Example:** Add some default markup to the map and set the viewpoint by applying `AppConfig` JSON.\n\n```\n{\n    \"schemaVersion\": \"1.0\",\n    \"items\": [\n        {\n            \"id\": \"default\",\n            \"markupGraphics\": [\n                {\n                    \"geometry\": {\n                        \"spatialReference\": {\n                            \"latestWkid\": 3857,\n                            \"wkid\": 102100\n                        },\n                        \"x\": -13733817.770910433,\n                        \"y\": 6177913.346701053\n                    },\n                    \"symbol\": {\n                        \"type\": \"esriSMS\",\n                        \"color\": [251, 43, 17, 85],\n                        \"size\": 12,\n                        \"style\": \"esriSMSCircle\",\n                        \"outline\": {\n                            \"type\": \"esriSLS\",\n                            \"color\": [251, 43, 17, 255],\n                            \"width\": 1.5,\n                            \"style\": \"esriSLSSolid\"\n                        }\n                    },\n                    \"attributes\": {\n                        \"markupLevel\": 36,\n                        \"isContrastGraphic\": true,\n                        \"collection\": \"default\",\n                        \"graphic-visible\": true\n                    }\n                }\n            ],\n            \"viewpoint\": {\n                \"rotation\": 45,\n                \"scale\": 10000,\n                \"targetGeometry\": {\n                    \"spatialReference\": {\n                        \"wkid\": 102100\n                    },\n                    \"x\": -13733546.804885864,\n                    \"y\": 6177341.583529942\n                }\n            },\n            \"$type\": \"map-extension\"\n        }\n    ]\n}\n```",
            "enum": [
                "project.load"
            ]
        },
        "project.load:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/AppConfig"
                },
                {
                    "$ref": "Blob"
                },
                {
                    "$ref": "#/definitions/SharedProject"
                },
                {
                    "items": {
                        "$ref": "Blob"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/HasAppConfig"
                }
            ]
        },
        "project.save-shared": {
            "description": "Create or updates a shared project with the specified shared project details and project config. Web only.",
            "enum": [
                "project.save-shared"
            ]
        },
        "project.save-shared:input": {
            "$ref": "#/definitions/SaveSharedProjectArgs"
        },
        "project.show-settings": {
            "description": "Shows a shared projects settings. Requires a shared-projects component to be in the layout. Web only.",
            "enum": [
                "project.show-settings"
            ]
        },
        "project.show-settings:input": {
            "$ref": "#/definitions/ShowSharedProjectArgs"
        },
        "project.show-share-link": {
            "description": "Shows a shared projects share link. Requires a shared-projects component to be in the layout. Web only.",
            "enum": [
                "project.show-share-link"
            ]
        },
        "project.show-share-link:input": {
            "$ref": "#/definitions/SharedProject"
        },
        "query-builder.display-query": {
            "description": "Sets the current query criteria in the query builder and also activates the component. Web only.\n\n**Example:** Query within an extent, selecting the layer to query by title.\n\n```\n{\n    \"geometry\": {\n        \"xmin\": 13871520.850500003,\n        \"ymin\": 3910293.086000003,\n        \"xmax\": 14574034.873400003,\n        \"ymax\": 4686306.161399998,\n        \"spatialReference\": {\n            \"wkid\": 102100,\n            \"latestWkid\": 3857\n        }\n    },\n    \"layers\": {\n        \"title\": \"Buildings\"\n    },\n    \"where\": \"FULL_ADDR = '900 GOVERNMENT ST'\"\n}\n```",
            "enum": [
                "query-builder.display-query"
            ]
        },
        "query-builder.display-query:input": {
            "$ref": "#/definitions/SetQueryArgs"
        },
        "query-builder.get-query": {
            "description": "Gets the currently visible query from the specified query builder component. Web only.",
            "enum": [
                "query-builder.get-query"
            ]
        },
        "query-builder.get-query:input": {
            "$ref": "#/definitions/GetQueryArgs"
        },
        "query-builder.get-query:output": {
            "$ref": "#/definitions/Query"
        },
        "query-builder.set-query": {
            "description": "Sets the current query criteria in the query builder. Web only.",
            "enum": [
                "query-builder.set-query"
            ]
        },
        "query-builder.set-query:input": {
            "$ref": "#/definitions/SetQueryArgs"
        },
        "region.set-measurement-system": {
            "description": "Sets the current measurement system. Web only.",
            "enum": [
                "region.set-measurement-system"
            ]
        },
        "region.set-measurement-system:input": {
            "$ref": "#/definitions/MeasurementSystem"
        },
        "reports.run": {
            "description": "Run a report on the given features. The report URL and feature IDs are provided by the viewer. Web only.",
            "enum": [
                "reports.run"
            ]
        },
        "reports.run:input": {
            "$ref": "#/definitions/RunReportArgs"
        },
        "results.activate-display-components": {
            "description": "Activates the current set of results component(s), which is set via results.set-display-components. Web only.",
            "enum": [
                "results.activate-display-components"
            ]
        },
        "results.activate-group": {
            "description": "Activates the group with the specified layerId in the results component. Web only.",
            "enum": [
                "results.activate-group"
            ]
        },
        "results.activate-group:input": {
            "$ref": "#/definitions/ActivateResultGroupArgs"
        },
        "results.add": {
            "description": "Adds features to a currently shown set of features.",
            "enum": [
                "results.add"
            ]
        },
        "results.add:input": {
            "$ref": "#/definitions/ShowResultsArgs"
        },
        "results.clear": {
            "description": "Clear features from results list, results table, and results details. If a component model or model ID is given, then only the specified component is cleared (Web only).",
            "enum": [
                "results.clear"
            ]
        },
        "results.clear:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "$ref": "#/definitions/TargetsResultsSetArgs"
                },
                {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            ]
        },
        "results.configure-upload-data": {
            "description": "Display a dialog to configure the arguments for the upload layer operation. Web only.",
            "enum": [
                "results.configure-upload-data"
            ]
        },
        "results.configure-upload-data:input": {
            "items": {
                "$ref": "#/definitions/UploadDataArgs"
            },
            "type": "array"
        },
        "results.configure-upload-data:output": {
            "items": {
                "$ref": "#/definitions/UploadDataArgs"
            },
            "type": "array"
        },
        "results.contains": {
            "description": "Check if features are contained in the specified results. Web only.",
            "enum": [
                "results.contains"
            ]
        },
        "results.contains:input": {
            "additionalProperties": false,
            "properties": {
                "features": {
                    "$ref": "#/definitions/FeaturesLike",
                    "description": "Features to use for the command/operation."
                },
                "resultsSetId": {
                    "description": "If specified the results will be updated in the named results set only. Results sets with the prefix 'vgs' are reserved for system use and should not be used unless you are intentionally targeting a well known results set such as the 'vgs-starred' results. Web only.",
                    "type": "string"
                }
            },
            "type": "object"
        },
        "results.contains:output": {
            "items": {
                "type": "boolean"
            },
            "type": "array"
        },
        "results.convert-to-csv": {
            "description": "Converts the provided Feature(s) to a CSV file grouped by feature source. If there are multiple sources the CSV(s) will be bundled in a zip file. Web only.",
            "enum": [
                "results.convert-to-csv"
            ]
        },
        "results.convert-to-csv:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/ToCsvConversionArgs"
                }
            ]
        },
        "results.convert-to-csv:output": {
            "$ref": "#/definitions/ConversionResult"
        },
        "results.convert-to-layers": {
            "description": "Creates layer(s) from the specified features. Web only.",
            "enum": [
                "results.convert-to-layers"
            ]
        },
        "results.convert-to-layers:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/LayerConversionArgs"
                }
            ]
        },
        "results.convert-to-layers:output": {
            "items": {
                "$ref": "#/definitions/esri.Layer"
            },
            "type": "array"
        },
        "results.convert-to-shapefile": {
            "description": "Converts the provided Feature(s) to a Shapefile grouped by feature source. If there are multiple sources the Shapefile(s) will be bundled in a zip file. Web only.",
            "enum": [
                "results.convert-to-shapefile"
            ]
        },
        "results.convert-to-shapefile:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/ToShapefileConversionArgs"
                }
            ]
        },
        "results.convert-to-shapefile:output": {
            "$ref": "#/definitions/ConversionResult"
        },
        "results.convert-to-xlsx": {
            "description": "Converts the provided Feature(s) to a XLSX file grouped by feature source. If there are multiple sources the XLSX(s) will be bundled in a zip file. Web only.",
            "enum": [
                "results.convert-to-xlsx"
            ]
        },
        "results.convert-to-xlsx:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/ToXLSXConversionArgs"
                }
            ]
        },
        "results.convert-to-xlsx:output": {
            "$ref": "#/definitions/ConversionResult"
        },
        "results.display": {
            "description": "Presents features to the user within any components that can display features, such as a feature list, feature table, or feature details component. The argument is the features to display, or an object specifying both features and the target results component to update (Web only).",
            "enum": [
                "results.display"
            ]
        },
        "results.display-details": {
            "description": "Presents feature details to the user within the feature-details component. The argument is the feature(s) to display, or an object specifying both features and the target results component to update (Web only).",
            "enum": [
                "results.display-details"
            ]
        },
        "results.display-details:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/UpdateResultsFeaturesArgs"
                }
            ]
        },
        "results.display-new-details": {
            "description": "Presents new feature details to the user within the feature-details component. If the feature-details component is contained within a panel, a 'back' button will be provided to navigate to the previous content; otherwise, the content of the feature-details component will be replaced.",
            "enum": [
                "results.display-new-details"
            ]
        },
        "results.display-new-details:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/UpdateResultsFeaturesArgs"
                }
            ]
        },
        "results.display-summary": {
            "description": "Presents a feature summary to the user within the feature-summary component. The argument is the feature(s) to display, or an object specifying both features and the target results component to update. Web only.",
            "enum": [
                "results.display-summary"
            ]
        },
        "results.display-summary:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/UpdateResultsFeaturesArgs"
                }
            ]
        },
        "results.display:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSet.FeatureSet"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureList.FeatureList"
                },
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
                },
                {
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.FeatureProperties"
                            },
                            {
                                "$ref": "@vertigis.arcgis-extensions.data.Feature.Feature"
                            }
                        ]
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/Results"
                },
                {
                    "$ref": "#/definitions/UpdateResultsFeaturesArgs"
                }
            ]
        },
        "results.filter": {
            "description": "Filters down a set of results using an SQL 'where' clause and/or an intersecting geometry. Web only.",
            "enum": [
                "results.filter"
            ]
        },
        "results.filter:input": {
            "$ref": "#/definitions/FilterResultsArgs"
        },
        "results.filter:output": {
            "$ref": "#/definitions/Features"
        },
        "results.from-csv": {
            "description": "Convert the specified csv blob to Features. Web only.",
            "enum": [
                "results.from-csv"
            ]
        },
        "results.from-csv:input": {
            "anyOf": [
                {
                    "$ref": "Blob"
                },
                {
                    "items": {
                        "$ref": "Blob"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/FromCsvConversionArgs"
                }
            ]
        },
        "results.from-csv:output": {
            "$ref": "#/definitions/Features"
        },
        "results.from-files": {
            "description": "Convert the specified csv, xlsx or shapefile files to Features. Web only.",
            "enum": [
                "results.from-files"
            ]
        },
        "results.from-files:input": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "File"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/FromCsvConversionArgs"
                },
                {
                    "$ref": "#/definitions/FromShapefileConversionArgs"
                },
                {
                    "$ref": "#/definitions/FromXLSXConversionArgs"
                }
            ]
        },
        "results.from-files:output": {
            "$ref": "#/definitions/Features"
        },
        "results.from-graphics": {
            "description": "Converts provided GraphicsLike to VertiGIS Studio Features using any available metadata.",
            "enum": [
                "results.from-graphics"
            ]
        },
        "results.from-graphics:input": {
            "$ref": "#/definitions/FromGraphicsArgs"
        },
        "results.from-graphics:output": {
            "$ref": "#/definitions/Features"
        },
        "results.from-shapefile": {
            "description": "Convert the specified Shapefile blob to Features. Web only.",
            "enum": [
                "results.from-shapefile"
            ]
        },
        "results.from-shapefile:input": {
            "anyOf": [
                {
                    "$ref": "Blob"
                },
                {
                    "items": {
                        "$ref": "Blob"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/FromShapefileConversionArgs"
                }
            ]
        },
        "results.from-shapefile:output": {
            "$ref": "#/definitions/Features"
        },
        "results.from-xlsx": {
            "description": "Convert the specified xlsx blob to Features. Web only.",
            "enum": [
                "results.from-xlsx"
            ]
        },
        "results.from-xlsx:input": {
            "anyOf": [
                {
                    "$ref": "Blob"
                },
                {
                    "items": {
                        "$ref": "Blob"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/FromXLSXConversionArgs"
                }
            ]
        },
        "results.from-xlsx:output": {
            "$ref": "#/definitions/Features"
        },
        "results.get-active-features": {
            "description": "Returns the current active feature from a specific results component if model ID or model is specified, otherwise returns all active features from all results components. Note that each results component can only have one active feature at a time, but the active feature can differ between different results components. Web only.",
            "enum": [
                "results.get-active-features"
            ]
        },
        "results.get-active-features:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            ]
        },
        "results.get-active-features:output": {
            "$ref": "#/definitions/Features"
        },
        "results.get-features": {
            "description": "Returns the current set of features from a specific results component if a model or model ID is specified, otherwise from all results components. Web only.",
            "enum": [
                "results.get-features"
            ]
        },
        "results.get-features:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "$ref": "#/definitions/TargetsResultsSetArgs"
                },
                {
                    "type": [
                        "string",
                        "null"
                    ]
                }
            ]
        },
        "results.get-features:output": {
            "$ref": "#/definitions/Features"
        },
        "results.intersect": {
            "description": "Removes features from the existing results that are not present in the given list of features.",
            "enum": [
                "results.intersect"
            ]
        },
        "results.intersect:input": {
            "$ref": "#/definitions/ShowResultsArgs"
        },
        "results.remove": {
            "description": "Removes features from a currently shown set of features.",
            "enum": [
                "results.remove"
            ]
        },
        "results.remove:input": {
            "$ref": "#/definitions/ShowResultsArgs"
        },
        "results.replace": {
            "description": "Replaces feature(s) in the shown set of features. If a feature is not contained in the current set it is ignored. Features are uniquely identified by ID and not by object quality. Web only.",
            "enum": [
                "results.replace"
            ]
        },
        "results.replace:input": {
            "$ref": "#/definitions/ShowResultsArgs"
        },
        "results.set-active-feature": {
            "description": "Sets the active feature for a particular results component specified by the `results` arg. Or, if the `results` arg is not defined, sets the active feature for all results components. Note that each results component can only have one active feature at a time, but the active feature can differ between different results components. Web only.",
            "enum": [
                "results.set-active-feature"
            ]
        },
        "results.set-active-feature:input": {
            "$ref": "#/definitions/SetActiveFeatureArgs"
        },
        "results.set-display-components": {
            "description": "Sets the selector, using CSS selector syntax, which queries for results components in the app layout XML, such as the Results List or Results Table components. The selector is used to determine which components will be activated when displaying results using `results.display`. All other components that do not match the selector are deactivated after running this command. Web only.",
            "enum": [
                "results.set-display-components"
            ]
        },
        "results.set-display-components:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/SetDisplayComponentArgs"
                },
                {
                    "type": "string"
                }
            ]
        },
        "results.set-list-card-size": {
            "description": "Sets the card size for a particular results list component, or globally for all results list components. Web only.",
            "enum": [
                "results.set-list-card-size"
            ]
        },
        "results.set-list-card-size:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/SetListCardSizeArgs"
                },
                {
                    "enum": [
                        "compact",
                        "standard"
                    ],
                    "type": "string"
                }
            ]
        },
        "results.set-list-view-mode": {
            "description": "Sets the view mode for a particular results list component, or globally for all results list components. Web only.",
            "enum": [
                "results.set-list-view-mode"
            ]
        },
        "results.set-list-view-mode:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/SetListViewModeArgs"
                },
                {
                    "enum": [
                        "grouped",
                        "ungrouped"
                    ],
                    "type": "string"
                }
            ]
        },
        "results.to-graphics": {
            "description": "Converts VertiGIS Studio Features to Esri graphics.",
            "enum": [
                "results.to-graphics"
            ]
        },
        "results.to-graphics:input": {
            "$ref": "#/definitions/Features"
        },
        "results.to-graphics:output": {
            "items": {
                "$ref": "#/definitions/esri.Graphic"
            },
            "type": "array"
        },
        "results.upload-data-from-files": {
            "description": "Convert the specified csv, xlsx or shapefile files to args that can be used to create Features. Web only.",
            "enum": [
                "results.upload-data-from-files"
            ]
        },
        "results.upload-data-from-files:input": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "File"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/FromCsvConversionArgs"
                },
                {
                    "$ref": "#/definitions/FromShapefileConversionArgs"
                },
                {
                    "$ref": "#/definitions/FromXLSXConversionArgs"
                }
            ]
        },
        "results.upload-data-from-files:output": {
            "items": {
                "$ref": "#/definitions/UploadDataArgs"
            },
            "type": "array"
        },
        "results.upload-data-to-features": {
            "description": "Convert the supplied upload data args to features.",
            "enum": [
                "results.upload-data-to-features"
            ]
        },
        "results.upload-data-to-features:input": {
            "items": {
                "$ref": "#/definitions/UploadDataArgs"
            },
            "type": "array"
        },
        "results.upload-data-to-features:output": {
            "items": {
                "$ref": "@vertigis.arcgis-extensions.data.FeatureStream.FeatureStream"
            },
            "type": "array"
        },
        "search.clear": {
            "description": "Clears the search input.",
            "enum": [
                "search.clear"
            ]
        },
        "sketching.activate-snapping": {
            "description": "Set the snapping default to 'on' for all subsequent operations. Web only.",
            "enum": [
                "sketching.activate-snapping"
            ]
        },
        "sketching.activate-topology": {
            "description": "Set the topology default to 'on' for all subsequent operations. Web only.",
            "enum": [
                "sketching.activate-topology"
            ]
        },
        "sketching.add-node-to-geometry": {
            "description": "Deprecated - Mobile users should rather use \"geometry.add-point\"; Web users should use \"sketching.add-point\" or \"sketching.insert-point\" instead.",
            "enum": [
                "sketching.add-node-to-geometry"
            ]
        },
        "sketching.add-node-to-geometry:input": {
            "$ref": "#/definitions/AddNodeToGeometryArgs"
        },
        "sketching.add-node-to-geometry:output": {
            "$ref": "#/definitions/esri.Geometry"
        },
        "sketching.add-point": {
            "description": "Adds a point to polygon, polyline, or multipoint using the selected index as the point to insert after.",
            "enum": [
                "sketching.add-point"
            ]
        },
        "sketching.add-point:input": {
            "$ref": "#/definitions/AddPointArgs"
        },
        "sketching.cancel": {
            "description": "Cancels the current geometry edit or capture operation. Web only.",
            "enum": [
                "sketching.cancel"
            ]
        },
        "sketching.capture-geometry": {
            "description": "Allows the user to create geometry by sketching on a map. Returns the geometry that was drawn, along with the map that it was drawn on.",
            "enum": [
                "sketching.capture-geometry"
            ]
        },
        "sketching.capture-geometry:input": {
            "$ref": "#/definitions/CaptureGeometryArgs"
        },
        "sketching.capture-geometry:output": {
            "$ref": "#/definitions/CaptureGeometryResult"
        },
        "sketching.deactivate-snapping": {
            "description": "Set the snapping default to 'off' for all subsequent operations. Web only.",
            "enum": [
                "sketching.deactivate-snapping"
            ]
        },
        "sketching.deactivate-topology": {
            "description": "Set the topology default to 'off' for all subsequent operations. Web only.",
            "enum": [
                "sketching.deactivate-topology"
            ]
        },
        "sketching.delete": {
            "description": "If a point is supplied while a sketching or editing operation is active, the vertex at that point will be deleted from the current geometry. If no point is supplied, any active points in the session will be deleted. If there are no active points in the session, the entire geometry will be deleted.",
            "enum": [
                "sketching.delete"
            ]
        },
        "sketching.delete:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/DeleteGeometryArgs"
                },
                {
                    "type": "null"
                }
            ]
        },
        "sketching.disable-free-scale-mode": {
            "description": "Disables free scaling while editing geometries. Web only.",
            "enum": [
                "sketching.disable-free-scale-mode"
            ]
        },
        "sketching.disable-precision-mode": {
            "description": "Disables more precise inputs while editing geometries. Web only.",
            "enum": [
                "sketching.disable-precision-mode"
            ]
        },
        "sketching.edit-active-symbol": {
            "description": "Allows the user to edit the symbology used by the graphics actively being edited. Web only.",
            "enum": [
                "sketching.edit-active-symbol"
            ]
        },
        "sketching.edit-active-symbol:output": {
            "$ref": "#/definitions/EditSymbolResult"
        },
        "sketching.edit-geometry": {
            "description": "Allows the user to edit an existing geometry by drawing on a map. Returns the geometry that was edited, or the supplied feature with the altered geometry applied, along with the map that it was drawn on.",
            "enum": [
                "sketching.edit-geometry"
            ]
        },
        "sketching.edit-geometry:input": {
            "$ref": "#/definitions/EditGeometryArgs"
        },
        "sketching.edit-geometry:output": {
            "$ref": "#/definitions/EditGeometryResult"
        },
        "sketching.enable-free-scale-mode": {
            "description": "Enables free scaling while editing geometries. Web only.",
            "enum": [
                "sketching.enable-free-scale-mode"
            ]
        },
        "sketching.enable-precision-mode": {
            "description": "Enables more precise inputs while editing geometries. Web only.",
            "enum": [
                "sketching.enable-precision-mode"
            ]
        },
        "sketching.get-active-node": {
            "description": "Deprecated - use 'sketching.get-active-points' instead. Web only.",
            "enum": [
                "sketching.get-active-node"
            ]
        },
        "sketching.get-active-node:input": {
            "$ref": "Maps"
        },
        "sketching.get-active-node:output": {
            "$ref": "#/definitions/GetActivePointsResult"
        },
        "sketching.get-active-points": {
            "description": "Returns the active point graphics of the active sketch or edit session on a map. Web only.",
            "enum": [
                "sketching.get-active-points"
            ]
        },
        "sketching.get-active-points:input": {
            "$ref": "Maps"
        },
        "sketching.get-active-points:output": {
            "$ref": "#/definitions/GetActivePointsResult"
        },
        "sketching.get-active-sketch": {
            "description": "Returns the active sketch graphic from a map. Web only.",
            "enum": [
                "sketching.get-active-sketch"
            ]
        },
        "sketching.get-active-sketch:output": {
            "$ref": "#/definitions/GetActiveSketchResult"
        },
        "sketching.get-adjacent-point": {
            "description": "Return the adjacent point graphic(s), relative to a given vertex that's a part of an active editing or sketching session. This operation is only supported for Polyline and Polygon geometries. Web only.",
            "enum": [
                "sketching.get-adjacent-point"
            ]
        },
        "sketching.get-adjacent-point:input": {
            "$ref": "#/definitions/GetAdjacentPointArgs"
        },
        "sketching.get-adjacent-point:output": {
            "$ref": "#/definitions/GetActiveSketchResult"
        },
        "sketching.insert-point": {
            "description": "Inserts a point into a polygon, polyline, or multipoint at the specified index. If the partIndex is null, then the last part is used. If the pointIndex is null, then the new point is inserted at the end.",
            "enum": [
                "sketching.insert-point"
            ]
        },
        "sketching.insert-point:input": {
            "$ref": "#/definitions/InsertPointArgs"
        },
        "sketching.move-geometry": {
            "description": "Allows the user to move an existing geometry by a specified amount. Returns the altered geometry or the supplied feature with altered geometry applied. Will also pass through any map or symbol associated with the command chain, but only the map is required for this operation. Web only.",
            "enum": [
                "sketching.move-geometry"
            ]
        },
        "sketching.move-geometry:input": {
            "$ref": "#/definitions/MoveGeometryArgs"
        },
        "sketching.move-geometry:output": {
            "$ref": "#/definitions/GeometryOperationBase"
        },
        "sketching.move-node": {
            "description": "Deprecated - use 'sketching.move-point' instead. Web only.",
            "enum": [
                "sketching.move-node"
            ]
        },
        "sketching.move-node:input": {
            "$ref": "#/definitions/MoveNodeArgs"
        },
        "sketching.move-point": {
            "description": "Moves a point within an active sketch to a new location. Web only.",
            "enum": [
                "sketching.move-point"
            ]
        },
        "sketching.move-point:input": {
            "$ref": "#/definitions/MovePointArgs"
        },
        "sketching.redo": {
            "description": "Redoes the last undone edit while editing a geometry.",
            "enum": [
                "sketching.redo"
            ]
        },
        "sketching.redo:input": {
            "$ref": "#/definitions/HasMaps"
        },
        "sketching.rotate-geometry": {
            "description": "Allows the user to rotate an existing geometry. Returns the altered geometry or the supplied feature with altered geometry applied. Will also pass through any map or symbol associated with the command chain, but they are not required for this operation. Web only.",
            "enum": [
                "sketching.rotate-geometry"
            ]
        },
        "sketching.rotate-geometry:input": {
            "$ref": "#/definitions/RotateGeometryArgs"
        },
        "sketching.rotate-geometry:output": {
            "$ref": "#/definitions/GeometryOperationBase"
        },
        "sketching.scale-geometry": {
            "description": "Allows the user to scale and mirror an existing geometry on either axis. Returns the altered geometry or the supplied feature with altered geometry applied. Will also pass through any map or symbol associated with the command chain, but they are not required for this operation. Web only.",
            "enum": [
                "sketching.scale-geometry"
            ]
        },
        "sketching.scale-geometry:input": {
            "$ref": "#/definitions/ScaleGeometryArgs"
        },
        "sketching.scale-geometry:output": {
            "$ref": "#/definitions/GeometryOperationBase"
        },
        "sketching.set-active-points": {
            "description": "Switches the active point of an active sketch. Web only.",
            "enum": [
                "sketching.set-active-points"
            ]
        },
        "sketching.set-active-points:input": {
            "$ref": "#/definitions/SetActivePointsArgs"
        },
        "sketching.set-geometry-mode": {
            "description": "Sets the geometry mode of the geometry editor.",
            "enum": [
                "sketching.set-geometry-mode"
            ]
        },
        "sketching.set-geometry-mode:input": {
            "$ref": "#/definitions/SetGeometryModeArgs"
        },
        "sketching.set-snapping-configuration": {
            "description": "Sets the global snapping configuration.",
            "enum": [
                "sketching.set-snapping-configuration"
            ]
        },
        "sketching.set-snapping-configuration:input": {
            "$ref": "#/definitions/SetSnappingConfigurationArgs"
        },
        "sketching.set-topology-configuration": {
            "description": "Sets the global snapping configuration. Web only.",
            "enum": [
                "sketching.set-topology-configuration"
            ]
        },
        "sketching.set-topology-configuration:input": {
            "$ref": "#/definitions/SetTopologyConfigurationArgs"
        },
        "sketching.stop": {
            "description": "Stops geometry capturing or editing on a given map. Returns the current geometry. If validateGeometry parameter is true and geometry is invalid, the operation will return null.",
            "enum": [
                "sketching.stop"
            ]
        },
        "sketching.stop:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/StopGeometryEditArgs"
                },
                {
                    "type": "null"
                }
            ]
        },
        "sketching.stop:output": {
            "$ref": "#/definitions/CaptureGeometryResult"
        },
        "sketching.switch-active-node": {
            "description": "Deprecated - use 'sketching.set-active-points' instead. Web only.",
            "enum": [
                "sketching.switch-active-node"
            ]
        },
        "sketching.switch-active-node:input": {
            "$ref": "#/definitions/SwitchActiveNodeArgs"
        },
        "sketching.undo": {
            "description": "Undoes the last edit while editing a geometry.",
            "enum": [
                "sketching.undo"
            ]
        },
        "sketching.undo:input": {
            "$ref": "#/definitions/HasMaps"
        },
        "studio-analytics.track-custom-event": {
            "description": "Sends a custom event to VertiGIS Studio Analytics. If the app is not configured to use Analytics, then nothing will happen.",
            "enum": [
                "studio-analytics.track-custom-event"
            ]
        },
        "studio-analytics.track-custom-event:input": {
            "$ref": "#/definitions/TrackCustomEventArgs"
        },
        "system.display-sharing-link": {
            "description": "Displays a sharing link to the user. Web only.",
            "enum": [
                "system.display-sharing-link"
            ]
        },
        "system.display-sharing-link:input": {
            "type": "string"
        },
        "system.download-file": {
            "description": "Initiates a file download of the specified Blob to the user. Web only.",
            "enum": [
                "system.download-file"
            ]
        },
        "system.download-file:input": {
            "anyOf": [
                {},
                {
                    "$ref": "#/definitions/DownloadArgs"
                },
                {
                    "type": "string"
                }
            ]
        },
        "system.get-sharing-link": {
            "description": "Creates a link to share the shallow state of the application, including map position and scale, layer visibility and current basemap. Web only.",
            "enum": [
                "system.get-sharing-link"
            ]
        },
        "system.get-sharing-link:output": {
            "type": "string"
        },
        "system.open-url": {
            "description": "Opens a URL, either in the system browser or whatever app is appropriate for the scheme of the URL. If {@link Features } are included as context, then the URL may contain substitution tokens in the format {FIELD_NAME} where FIELD_NAME is the name of a field in the first feature in the context. In this case, the {FIELD_NAME} is substituted with value of the FIELD_NAME field from the feature feature in the {@link Features }, e.g. https://www.google.com/search?q={NAME}, where the value of the NAME field in the first feature from the context is 'Jasper National Park' would produce the result https://www.google.com/search?q=Jasper National Park. Zero to many substitution tokens may be included. If maps are included as context, {@link LocationToken} can be used to access properties on the first map's view. In Web, if both layers and maps are included as context, then {@link LayerToken} can be used to access properties on the first layer.",
            "enum": [
                "system.open-url"
            ]
        },
        "system.open-url:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/WebOpenUrlArgs"
                },
                {
                    "$ref": "#/definitions/OpenUrlArgs"
                },
                {
                    "type": "string"
                }
            ]
        },
        "system.read-file": {
            "description": "Initiates a file read, using the native browser file input. Web only.",
            "enum": [
                "system.read-file"
            ]
        },
        "system.read-file:input": {
            "$ref": "#/definitions/ReadFileArgs"
        },
        "system.read-file:output": {
            "items": {
                "$ref": "File"
            },
            "type": "array"
        },
        "system.read-files": {
            "description": "A synonym for `system.read-file` that attaches the output to an args object for use in command chains. Web only.",
            "enum": [
                "system.read-files"
            ]
        },
        "system.read-files:input": {
            "$ref": "#/definitions/ReadFileArgs"
        },
        "system.read-files:output": {
            "$ref": "#/definitions/HasFiles"
        },
        "system.read-url": {
            "description": "Fetch a file from the specified URL. Web only.",
            "enum": [
                "system.read-url"
            ]
        },
        "system.read-url:input": {
            "type": "string"
        },
        "system.read-url:output": {
            "items": {
                "$ref": "File"
            },
            "type": "array"
        },
        "system.repeat-action": {
            "description": "Executes Actions repeatedly until manually terminated or until given number of repetitions are fulfilled. Web only.",
            "enum": [
                "system.repeat-action"
            ]
        },
        "system.repeat-action:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.support.Action.BoundAction"
                },
                {
                    "$ref": "#/definitions/@vertigis.arcgis-extensions.support.Action.CompositeAction",
                    "description": "A composite action that is made up of a sequence of one or more actions. The intent is that the application should execute these in the given order. If any of the actions produces an output, that should be used as the input arguments for all subsequent actions."
                },
                {
                    "$ref": "#/definitions/RepeatActionArgs"
                },
                {
                    "type": "string"
                }
            ]
        },
        "tasks.filter-results.by-geometry-type": {
            "description": "Returns FeatureSources that have a geometry type that matches the supplied type. Web only.",
            "enum": [
                "tasks.filter-results.by-geometry-type"
            ]
        },
        "tasks.filter-results.by-geometry-type:input": {
            "$ref": "#/definitions/FilterSourcesByGeometryTypeArgs"
        },
        "tasks.filter-results.by-geometry-type:output": {
            "$ref": "#/definitions/FilterSourcesByGeometryTypeResult"
        },
        "tasks.filter-results.first-visible": {
            "description": "Returns the first visible FeatureSource in the web map within the current scale range. Web only.",
            "enum": [
                "tasks.filter-results.first-visible"
            ]
        },
        "tasks.filter-results.first-visible:input": {
            "$ref": "#/definitions/FilterSourcesFirstVisibleArgs"
        },
        "tasks.filter-results.first-visible:output": {
            "$ref": "#/definitions/FilterSourcesFirstVisibleResult"
        },
        "tasks.identify": {
            "description": "Returns features that intersect a given geometry.",
            "enum": [
                "tasks.identify"
            ]
        },
        "tasks.identify:input": {
            "$ref": "#/definitions/IdentifyArgs"
        },
        "tasks.identify:output": {
            "$ref": "#/definitions/Features"
        },
        "tasks.query": {
            "description": "Returns features that match the supplied where clause. Web only.",
            "enum": [
                "tasks.query"
            ]
        },
        "tasks.query:input": {
            "$ref": "#/definitions/QueryArgs"
        },
        "tasks.query:output": {
            "$ref": "#/definitions/Features"
        },
        "tasks.search": {
            "description": "Returns features that match the given search text.",
            "enum": [
                "tasks.search"
            ]
        },
        "tasks.search:input": {
            "$ref": "#/definitions/SearchArgs"
        },
        "tasks.search:output": {
            "$ref": "#/definitions/Features"
        },
        "tasks.suggest": {
            "description": "Returns values for a specified field from features meeting where clause criteria. Web only.",
            "enum": [
                "tasks.suggest"
            ]
        },
        "tasks.suggest:input": {
            "$ref": "#/definitions/QueryArgs"
        },
        "tasks.suggest:output": {
            "$ref": "#/definitions/Features"
        },
        "tasks.supports-identify": {
            "description": "Returns a boolean depicting whether a FeatureSource supports identify. Web only.",
            "enum": [
                "tasks.supports-identify"
            ]
        },
        "tasks.supports-identify:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                },
                {
                    "$ref": "#/definitions/SupportsIdentifyArgs"
                }
            ]
        },
        "tasks.supports-identify:output": {
            "type": "boolean"
        },
        "tasks.supports-query": {
            "description": "Returns a boolean depicting whether a FeatureSource supports query. Web only.",
            "enum": [
                "tasks.supports-query"
            ]
        },
        "tasks.supports-query:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                },
                {
                    "$ref": "#/definitions/SupportsQueryArgs"
                }
            ]
        },
        "tasks.supports-query:output": {
            "type": "boolean"
        },
        "tasks.supports-search": {
            "description": "Returns a boolean depicting whether a FeatureSource supports search. Web only.",
            "enum": [
                "tasks.supports-search"
            ]
        },
        "tasks.supports-search:input": {
            "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
        },
        "tasks.supports-search:output": {
            "type": "boolean"
        },
        "tasks.supports-suggest": {
            "description": "Returns a boolean indicating whether a FeatureSource supports suggest. Web only.",
            "enum": [
                "tasks.supports-suggest"
            ]
        },
        "tasks.supports-suggest:input": {
            "anyOf": [
                {
                    "$ref": "@vertigis.arcgis-extensions.data.FeatureSource.FeatureSource"
                },
                {
                    "$ref": "#/definitions/SupportsQueryArgs"
                }
            ]
        },
        "tasks.supports-suggest:output": {
            "type": "boolean"
        },
        "ui.activate": {
            "description": "Activates a component with the given ID or model, causing it to become visible. For VertiGIS Studio Mobile, only ID is supported.",
            "enum": [
                "ui.activate"
            ]
        },
        "ui.activate:input": {
            "$ref": "#/definitions/ActivateArgs"
        },
        "ui.alert": {
            "description": "Shows an alert to the user.",
            "enum": [
                "ui.alert"
            ]
        },
        "ui.alert:input": {
            "$ref": "#/definitions/AlertCommandArgs"
        },
        "ui.confirm": {
            "description": "Gets user confirmation by way of a popup box.",
            "enum": [
                "ui.confirm"
            ]
        },
        "ui.confirm:input": {
            "$ref": "#/definitions/ConfirmOperationArgs"
        },
        "ui.confirm:output": {
            "type": "boolean"
        },
        "ui.deactivate": {
            "description": "Deactivates a component with the given ID, causing it to disappear. For VertiGIS Studio Mobile, only ID is supported.",
            "enum": [
                "ui.deactivate"
            ]
        },
        "ui.deactivate:input": {
            "$ref": "#/definitions/DeactivateArgs"
        },
        "ui.display-busy-state": {
            "description": "Displays a loading indicator and custom message to the user to indicate that the UI is busy.",
            "enum": [
                "ui.display-busy-state"
            ]
        },
        "ui.display-busy-state:input": {
            "$ref": "#/definitions/DisplayBusyStateArgs"
        },
        "ui.display-notification": {
            "description": "Shows a notification to the user.",
            "enum": [
                "ui.display-notification"
            ]
        },
        "ui.display-notification:input": {
            "$ref": "#/definitions/DisplayNotificationArgs"
        },
        "ui.focus": {
            "description": "Focuses on a component or DOM element. Web only.",
            "enum": [
                "ui.focus"
            ]
        },
        "ui.focus:input": {
            "$ref": "#/definitions/FocusArgs"
        },
        "ui.get-component-ids": {
            "description": "Get the IDs of components in the current layout that are backed by the given model. Most models are used by a single component, but in some cases multiple components can share a model. Web only.",
            "enum": [
                "ui.get-component-ids"
            ]
        },
        "ui.get-component-ids:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": "string"
                }
            ]
        },
        "ui.get-component-ids:output": {
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "ui.get-component-state": {
            "description": "Gets the state of a component. Web only.",
            "enum": [
                "ui.get-component-state"
            ]
        },
        "ui.get-component-state:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": "string"
                }
            ]
        },
        "ui.get-component-state:output": {
            "$ref": "#/definitions/State"
        },
        "ui.get-locale": {
            "description": "Gets the current locale code for the application. (example: \"en\", \"fr\" or \"de-AT\"). Web only.",
            "enum": [
                "ui.get-locale"
            ]
        },
        "ui.get-locale:output": {
            "type": "string"
        },
        "ui.get-theme": {
            "description": "Gets the active color theme of the viewer. Returns the theme's ID. Web only.",
            "enum": [
                "ui.get-theme"
            ]
        },
        "ui.get-theme:output": {
            "type": "string"
        },
        "ui.get-themes": {
            "description": "Gets all color themes available to the viewer. Returns the theme IDs. Web only.",
            "enum": [
                "ui.get-themes"
            ]
        },
        "ui.get-themes:output": {
            "items": {
                "type": "string"
            },
            "type": "array"
        },
        "ui.get-visual-state": {
            "description": "Gets the visual state of a component. Web only.",
            "enum": [
                "ui.get-visual-state"
            ]
        },
        "ui.get-visual-state:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": "string"
                }
            ]
        },
        "ui.get-visual-state:output": {
            "type": "string"
        },
        "ui.hide-busy-state": {
            "description": "Hides the busy state if currently shown. In Web, requires the ID of the caller that was used to show the busy state.",
            "enum": [
                "ui.hide-busy-state"
            ]
        },
        "ui.hide-busy-state:input": {
            "type": [
                "string",
                "null"
            ]
        },
        "ui.hide-notification": {
            "description": "Hides a notification previously shown to the user.",
            "enum": [
                "ui.hide-notification"
            ]
        },
        "ui.hide-notification:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/HideNotificationArgs"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ui.narrate": {
            "description": "Forces assistive technology (screen readers) to narrate a translatable message to the end user. Web only.",
            "enum": [
                "ui.narrate"
            ]
        },
        "ui.narrate:input": {
            "$ref": "#/definitions/NarrateArgs"
        },
        "ui.prompt": {
            "description": "Prompts the user to enter a value in a popup box. Web only.",
            "enum": [
                "ui.prompt"
            ]
        },
        "ui.prompt:input": {
            "$ref": "#/definitions/PromptOperationArgs"
        },
        "ui.prompt:output": {
            "type": "string"
        },
        "ui.set-density": {
            "description": "Sets the density level for the UI. Web only.",
            "enum": [
                "ui.set-density"
            ]
        },
        "ui.set-density:input": {
            "$ref": "#/definitions/UIDensity"
        },
        "ui.set-locale": {
            "description": "Sets the locale for the application and loads any locale-specific resources. Accepts a valid locale code (example: \"en\", \"fr\" or \"de-AT\"). Web only.",
            "enum": [
                "ui.set-locale"
            ]
        },
        "ui.set-locale:input": {
            "type": "string"
        },
        "ui.set-theme": {
            "description": "Sets the color theme of the viewer. The required argument is the new theme's ID.",
            "enum": [
                "ui.set-theme"
            ]
        },
        "ui.set-theme:input": {
            "type": "string"
        },
        "ui.set-visual-state": {
            "description": "Sets the visual state of a component. Web only.",
            "enum": [
                "ui.set-visual-state"
            ]
        },
        "ui.set-visual-state:input": {
            "$ref": "#/definitions/SetVisualStateArgs"
        },
        "viewer-spec.Action": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/definitions/viewer-spec.SimpleAction"
                    },
                    "type": "array"
                },
                {
                    "$ref": "#/definitions/viewer-spec.SimpleAction"
                }
            ]
        },
        "viewer-spec.SimpleAction": {
            "anyOf": [
                {
                    "$ref": "#/definitions/viewer-spec.SingleCommand"
                },
                {
                    "$ref": "#/definitions/viewer-spec.SingleOperation"
                }
            ]
        },
        "viewer-spec.SingleCommand": {
            "anyOf": [
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/app.load-project:input"
                        },
                        "name": {
                            "$ref": "#/definitions/app.load-project"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/auth.sign-in:input"
                        },
                        "name": {
                            "$ref": "#/definitions/auth.sign-in"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/auth.sign-out:input"
                        },
                        "name": {
                            "$ref": "#/definitions/auth.sign-out"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/basemap.set:input"
                        },
                        "name": {
                            "$ref": "#/definitions/basemap.set"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/charts.add-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/charts.add-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/charts.clear:input"
                        },
                        "name": {
                            "$ref": "#/definitions/charts.clear"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/charts.display:input"
                        },
                        "name": {
                            "$ref": "#/definitions/charts.display"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/charts.remove-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/charts.remove-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/charts.update-definition:input"
                        },
                        "name": {
                            "$ref": "#/definitions/charts.update-definition"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/drawing.set-default-symbol:input"
                        },
                        "name": {
                            "$ref": "#/definitions/drawing.set-default-symbol"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/drawing.set-symbol:input"
                        },
                        "name": {
                            "$ref": "#/definitions/drawing.set-symbol"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/drawing.set-sync:input"
                        },
                        "name": {
                            "$ref": "#/definitions/drawing.set-sync"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.add-attachment:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.add-attachment"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.add-feature:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.add-feature"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.cancel:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.cancel"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.complete:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.complete"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.delete-attachment:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.delete-attachment"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.delete-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.delete-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.display-add-feature:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.display-add-feature"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.display-add-related-feature:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.display-add-related-feature"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.display-update-feature:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.display-update-feature"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.update-feature:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.update-feature"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.update-session:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.update-session"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/filter-builder.display-filter:input"
                        },
                        "name": {
                            "$ref": "#/definitions/filter-builder.display-filter"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/filter-builder.set-filter:input"
                        },
                        "name": {
                            "$ref": "#/definitions/filter-builder.set-filter"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geolocation.auto-recenter:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geolocation.auto-recenter"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geometry.display-settings:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geometry.display-settings"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geometry.set-buffer-distance:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geometry.set-buffer-distance"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geometry.set-buffer-units:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geometry.set-buffer-units"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/highlights.add:input"
                        },
                        "name": {
                            "$ref": "#/definitions/highlights.add"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/highlights.add-focus:input"
                        },
                        "name": {
                            "$ref": "#/definitions/highlights.add-focus"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/highlights.clear:input"
                        },
                        "name": {
                            "$ref": "#/definitions/highlights.clear"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/highlights.clear-focus:input"
                        },
                        "name": {
                            "$ref": "#/definitions/highlights.clear-focus"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/highlights.pulse:input"
                        },
                        "name": {
                            "$ref": "#/definitions/highlights.pulse"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/highlights.remove:input"
                        },
                        "name": {
                            "$ref": "#/definitions/highlights.remove"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/highlights.remove-focus:input"
                        },
                        "name": {
                            "$ref": "#/definitions/highlights.remove-focus"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/kpi.add-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/kpi.add-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/kpi.clear:input"
                        },
                        "name": {
                            "$ref": "#/definitions/kpi.clear"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/kpi.display:input"
                        },
                        "name": {
                            "$ref": "#/definitions/kpi.display"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/kpi.remove-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/kpi.remove-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/kpi.update-definition:input"
                        },
                        "name": {
                            "$ref": "#/definitions/kpi.update-definition"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layer-comparison.add-leading-layers:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layer-comparison.add-leading-layers"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layer-comparison.add-trailing-layers:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layer-comparison.add-trailing-layers"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layer-comparison.clear-leading-layers:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layer-comparison.clear-leading-layers"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layer-comparison.clear-trailing-layers:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layer-comparison.clear-trailing-layers"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layer-comparison.remove-leading-layers:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layer-comparison.remove-leading-layers"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layer-comparison.remove-trailing-layers:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layer-comparison.remove-trailing-layers"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layer-comparison.set-direction:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layer-comparison.set-direction"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layer-comparison.set-mode:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layer-comparison.set-mode"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layers.ensure-can-set-symbol:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layers.ensure-can-set-symbol"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layers.hide-labels:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layers.hide-labels"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layers.set-definition-expression:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layers.set-definition-expression"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layers.set-label-classes:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layers.set-label-classes"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layers.set-popup-template:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layers.set-popup-template"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layers.set-symbol:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layers.set-symbol"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layers.set-task-settings:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layers.set-task-settings"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layers.set-title:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layers.set-title"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layers.set-visibility:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layers.set-visibility"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/layers.show-labels:input"
                        },
                        "name": {
                            "$ref": "#/definitions/layers.show-labels"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/licensing.validate-license:input"
                        },
                        "name": {
                            "$ref": "#/definitions/licensing.validate-license"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/location-marker.clear:input"
                        },
                        "name": {
                            "$ref": "#/definitions/location-marker.clear"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/location-marker.create:input"
                        },
                        "name": {
                            "$ref": "#/definitions/location-marker.create"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/location-marker.remove:input"
                        },
                        "name": {
                            "$ref": "#/definitions/location-marker.remove"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/location-marker.update:input"
                        },
                        "name": {
                            "$ref": "#/definitions/location-marker.update"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.add-layers:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.add-layers"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.add-markup:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.add-markup"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.apply-filter-effect:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.apply-filter-effect"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.apply-layer-preset:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.apply-layer-preset"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.clear-filter-effects:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.clear-filter-effects"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.clear-markup:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.clear-markup"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.create-note:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.create-note"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.edit-note:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.edit-note"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.go-to-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.go-to-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.go-to-geometry:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.go-to-geometry"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.go-to-initial-viewpoint:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.go-to-initial-viewpoint"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.go-to-layer-extent:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.go-to-layer-extent"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.go-to-next-viewpoint:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.go-to-next-viewpoint"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.go-to-previous-viewpoint:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.go-to-previous-viewpoint"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.go-to-scale:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.go-to-scale"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.go-to-viewpoint:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.go-to-viewpoint"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.hide-markup:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.hide-markup"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.pan-to-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.pan-to-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.pan-to-geometry:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.pan-to-geometry"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.remove-filter-effects:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.remove-filter-effects"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.remove-layers:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.remove-layers"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.rotate-by:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.rotate-by"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.rotate-to:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.rotate-to"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.set-view-mode:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.set-view-mode"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.show-markup:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.show-markup"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.update-layer:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.update-layer"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-in:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-in"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-out:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-out"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-to-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-to-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-to-geometry:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-to-geometry"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-to-initial-viewpoint:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-to-initial-viewpoint"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-to-layer-extent:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-to-layer-extent"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-to-layer-visible-scale:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-to-layer-visible-scale"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-to-next-viewpoint:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-to-next-viewpoint"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-to-previous-viewpoint:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-to-previous-viewpoint"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-to-scale:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-to-scale"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.zoom-to-viewpoint:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.zoom-to-viewpoint"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/measurement.display-settings:input"
                        },
                        "name": {
                            "$ref": "#/definitions/measurement.display-settings"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/measurement.set-area-units:input"
                        },
                        "name": {
                            "$ref": "#/definitions/measurement.set-area-units"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/measurement.set-default-symbol:input"
                        },
                        "name": {
                            "$ref": "#/definitions/measurement.set-default-symbol"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/measurement.set-length-units:input"
                        },
                        "name": {
                            "$ref": "#/definitions/measurement.set-length-units"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/panel.pop-in:input"
                        },
                        "name": {
                            "$ref": "#/definitions/panel.pop-in"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/panel.pop-out:input"
                        },
                        "name": {
                            "$ref": "#/definitions/panel.pop-out"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/printing.run:input"
                        },
                        "name": {
                            "$ref": "#/definitions/printing.run"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/project.delete-shared:input"
                        },
                        "name": {
                            "$ref": "#/definitions/project.delete-shared"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/project.ensure-can-save-shared:input"
                        },
                        "name": {
                            "$ref": "#/definitions/project.ensure-can-save-shared"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/project.load:input"
                        },
                        "name": {
                            "$ref": "#/definitions/project.load"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/project.save-shared:input"
                        },
                        "name": {
                            "$ref": "#/definitions/project.save-shared"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/project.show-settings:input"
                        },
                        "name": {
                            "$ref": "#/definitions/project.show-settings"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/project.show-share-link:input"
                        },
                        "name": {
                            "$ref": "#/definitions/project.show-share-link"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/query-builder.display-query:input"
                        },
                        "name": {
                            "$ref": "#/definitions/query-builder.display-query"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/query-builder.set-query:input"
                        },
                        "name": {
                            "$ref": "#/definitions/query-builder.set-query"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/region.set-measurement-system:input"
                        },
                        "name": {
                            "$ref": "#/definitions/region.set-measurement-system"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/reports.run:input"
                        },
                        "name": {
                            "$ref": "#/definitions/reports.run"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.activate-group:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.activate-group"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.add:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.add"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.clear:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.clear"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.display:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.display"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.display-details:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.display-details"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.display-new-details:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.display-new-details"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.display-summary:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.display-summary"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.intersect:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.intersect"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.remove:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.remove"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.replace:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.replace"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.set-active-feature:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.set-active-feature"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.set-display-components:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.set-display-components"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.set-list-card-size:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.set-list-card-size"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.set-list-view-mode:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.set-list-view-mode"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.add-point:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.add-point"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.delete:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.delete"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.insert-point:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.insert-point"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.move-node:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.move-node"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.move-point:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.move-point"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.redo:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.redo"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.set-active-points:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.set-active-points"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.set-geometry-mode:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.set-geometry-mode"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.set-snapping-configuration:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.set-snapping-configuration"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.set-topology-configuration:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.set-topology-configuration"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.switch-active-node:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.switch-active-node"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.undo:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.undo"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/studio-analytics.track-custom-event:input"
                        },
                        "name": {
                            "$ref": "#/definitions/studio-analytics.track-custom-event"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/system.display-sharing-link:input"
                        },
                        "name": {
                            "$ref": "#/definitions/system.display-sharing-link"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/system.download-file:input"
                        },
                        "name": {
                            "$ref": "#/definitions/system.download-file"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/system.open-url:input"
                        },
                        "name": {
                            "$ref": "#/definitions/system.open-url"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/system.repeat-action:input"
                        },
                        "name": {
                            "$ref": "#/definitions/system.repeat-action"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.activate:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.activate"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.alert:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.alert"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.deactivate:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.deactivate"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.display-busy-state:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.display-busy-state"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.display-notification:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.display-notification"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.focus:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.focus"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.hide-busy-state:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.hide-busy-state"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.hide-notification:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.hide-notification"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.narrate:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.narrate"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.set-density:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.set-density"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.set-locale:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.set-locale"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.set-theme:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.set-theme"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.set-visual-state:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.set-visual-state"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/viewer.load-layout:input"
                        },
                        "name": {
                            "$ref": "#/definitions/viewer.load-layout"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/viewer.log-debug:input"
                        },
                        "name": {
                            "$ref": "#/definitions/viewer.log-debug"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/viewer.post-message:input"
                        },
                        "name": {
                            "$ref": "#/definitions/viewer.post-message"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/viewer.set-debug-mode:input"
                        },
                        "name": {
                            "$ref": "#/definitions/viewer.set-debug-mode"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/workflow.run:input"
                        },
                        "name": {
                            "$ref": "#/definitions/workflow.run"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "$ref": "#/definitions/app.load-project"
                },
                {
                    "$ref": "#/definitions/auth.sign-in"
                },
                {
                    "$ref": "#/definitions/auth.sign-out"
                },
                {
                    "$ref": "#/definitions/basemap.set"
                },
                {
                    "$ref": "#/definitions/charts.add-features"
                },
                {
                    "$ref": "#/definitions/charts.clear"
                },
                {
                    "$ref": "#/definitions/charts.display"
                },
                {
                    "$ref": "#/definitions/charts.remove-features"
                },
                {
                    "$ref": "#/definitions/charts.update-definition"
                },
                {
                    "$ref": "#/definitions/drawing.set-default-symbol"
                },
                {
                    "$ref": "#/definitions/drawing.set-symbol"
                },
                {
                    "$ref": "#/definitions/drawing.set-sync"
                },
                {
                    "$ref": "#/definitions/edit.add-attachment"
                },
                {
                    "$ref": "#/definitions/edit.add-feature"
                },
                {
                    "$ref": "#/definitions/edit.cancel"
                },
                {
                    "$ref": "#/definitions/edit.complete"
                },
                {
                    "$ref": "#/definitions/edit.delete-attachment"
                },
                {
                    "$ref": "#/definitions/edit.delete-features"
                },
                {
                    "$ref": "#/definitions/edit.display-add-feature"
                },
                {
                    "$ref": "#/definitions/edit.display-add-related-feature"
                },
                {
                    "$ref": "#/definitions/edit.display-update-feature"
                },
                {
                    "$ref": "#/definitions/edit.update-feature"
                },
                {
                    "$ref": "#/definitions/edit.update-session"
                },
                {
                    "$ref": "#/definitions/filter-builder.display-filter"
                },
                {
                    "$ref": "#/definitions/filter-builder.set-filter"
                },
                {
                    "$ref": "#/definitions/geolocation.auto-recenter"
                },
                {
                    "$ref": "#/definitions/geolocation.display-location"
                },
                {
                    "$ref": "#/definitions/geolocation.turn-off-geolocation"
                },
                {
                    "$ref": "#/definitions/geometry.display-settings"
                },
                {
                    "$ref": "#/definitions/geometry.set-buffer-distance"
                },
                {
                    "$ref": "#/definitions/geometry.set-buffer-units"
                },
                {
                    "$ref": "#/definitions/highlights.add"
                },
                {
                    "$ref": "#/definitions/highlights.add-focus"
                },
                {
                    "$ref": "#/definitions/highlights.clear"
                },
                {
                    "$ref": "#/definitions/highlights.clear-focus"
                },
                {
                    "$ref": "#/definitions/highlights.pulse"
                },
                {
                    "$ref": "#/definitions/highlights.remove"
                },
                {
                    "$ref": "#/definitions/highlights.remove-focus"
                },
                {
                    "$ref": "#/definitions/kpi.add-features"
                },
                {
                    "$ref": "#/definitions/kpi.clear"
                },
                {
                    "$ref": "#/definitions/kpi.display"
                },
                {
                    "$ref": "#/definitions/kpi.remove-features"
                },
                {
                    "$ref": "#/definitions/kpi.update-definition"
                },
                {
                    "$ref": "#/definitions/layer-comparison.add-leading-layers"
                },
                {
                    "$ref": "#/definitions/layer-comparison.add-trailing-layers"
                },
                {
                    "$ref": "#/definitions/layer-comparison.clear-leading-layers"
                },
                {
                    "$ref": "#/definitions/layer-comparison.clear-trailing-layers"
                },
                {
                    "$ref": "#/definitions/layer-comparison.remove-leading-layers"
                },
                {
                    "$ref": "#/definitions/layer-comparison.remove-trailing-layers"
                },
                {
                    "$ref": "#/definitions/layer-comparison.set-direction"
                },
                {
                    "$ref": "#/definitions/layer-comparison.set-mode"
                },
                {
                    "$ref": "#/definitions/layers.ensure-can-set-symbol"
                },
                {
                    "$ref": "#/definitions/layers.hide-labels"
                },
                {
                    "$ref": "#/definitions/layers.set-definition-expression"
                },
                {
                    "$ref": "#/definitions/layers.set-label-classes"
                },
                {
                    "$ref": "#/definitions/layers.set-popup-template"
                },
                {
                    "$ref": "#/definitions/layers.set-symbol"
                },
                {
                    "$ref": "#/definitions/layers.set-task-settings"
                },
                {
                    "$ref": "#/definitions/layers.set-title"
                },
                {
                    "$ref": "#/definitions/layers.set-visibility"
                },
                {
                    "$ref": "#/definitions/layers.show-labels"
                },
                {
                    "$ref": "#/definitions/licensing.validate-license"
                },
                {
                    "$ref": "#/definitions/location-marker.clear"
                },
                {
                    "$ref": "#/definitions/location-marker.create"
                },
                {
                    "$ref": "#/definitions/location-marker.remove"
                },
                {
                    "$ref": "#/definitions/location-marker.update"
                },
                {
                    "$ref": "#/definitions/map.add-layers"
                },
                {
                    "$ref": "#/definitions/map.add-markup"
                },
                {
                    "$ref": "#/definitions/map.apply-filter-effect"
                },
                {
                    "$ref": "#/definitions/map.apply-layer-preset"
                },
                {
                    "$ref": "#/definitions/map.clear-filter-effects"
                },
                {
                    "$ref": "#/definitions/map.clear-markup"
                },
                {
                    "$ref": "#/definitions/map.create-note"
                },
                {
                    "$ref": "#/definitions/map.edit-note"
                },
                {
                    "$ref": "#/definitions/map.go-to-features"
                },
                {
                    "$ref": "#/definitions/map.go-to-geometry"
                },
                {
                    "$ref": "#/definitions/map.go-to-initial-viewpoint"
                },
                {
                    "$ref": "#/definitions/map.go-to-layer-extent"
                },
                {
                    "$ref": "#/definitions/map.go-to-next-viewpoint"
                },
                {
                    "$ref": "#/definitions/map.go-to-previous-viewpoint"
                },
                {
                    "$ref": "#/definitions/map.go-to-scale"
                },
                {
                    "$ref": "#/definitions/map.go-to-viewpoint"
                },
                {
                    "$ref": "#/definitions/map.hide-markup"
                },
                {
                    "$ref": "#/definitions/map.pan-to-features"
                },
                {
                    "$ref": "#/definitions/map.pan-to-geometry"
                },
                {
                    "$ref": "#/definitions/map.remove-filter-effects"
                },
                {
                    "$ref": "#/definitions/map.remove-layers"
                },
                {
                    "$ref": "#/definitions/map.rotate-by"
                },
                {
                    "$ref": "#/definitions/map.rotate-to"
                },
                {
                    "$ref": "#/definitions/map.set-view-mode"
                },
                {
                    "$ref": "#/definitions/map.show-markup"
                },
                {
                    "$ref": "#/definitions/map.update-layer"
                },
                {
                    "$ref": "#/definitions/map.zoom-in"
                },
                {
                    "$ref": "#/definitions/map.zoom-out"
                },
                {
                    "$ref": "#/definitions/map.zoom-to-features"
                },
                {
                    "$ref": "#/definitions/map.zoom-to-geometry"
                },
                {
                    "$ref": "#/definitions/map.zoom-to-initial-viewpoint"
                },
                {
                    "$ref": "#/definitions/map.zoom-to-layer-extent"
                },
                {
                    "$ref": "#/definitions/map.zoom-to-layer-visible-scale"
                },
                {
                    "$ref": "#/definitions/map.zoom-to-next-viewpoint"
                },
                {
                    "$ref": "#/definitions/map.zoom-to-previous-viewpoint"
                },
                {
                    "$ref": "#/definitions/map.zoom-to-scale"
                },
                {
                    "$ref": "#/definitions/map.zoom-to-viewpoint"
                },
                {
                    "$ref": "#/definitions/measurement.display-settings"
                },
                {
                    "$ref": "#/definitions/measurement.set-area-units"
                },
                {
                    "$ref": "#/definitions/measurement.set-default-symbol"
                },
                {
                    "$ref": "#/definitions/measurement.set-length-units"
                },
                {
                    "$ref": "#/definitions/panel.pop-in"
                },
                {
                    "$ref": "#/definitions/panel.pop-out"
                },
                {
                    "$ref": "#/definitions/printing.run"
                },
                {
                    "$ref": "#/definitions/project.delete-shared"
                },
                {
                    "$ref": "#/definitions/project.ensure-can-save-shared"
                },
                {
                    "$ref": "#/definitions/project.load"
                },
                {
                    "$ref": "#/definitions/project.save-shared"
                },
                {
                    "$ref": "#/definitions/project.show-settings"
                },
                {
                    "$ref": "#/definitions/project.show-share-link"
                },
                {
                    "$ref": "#/definitions/query-builder.display-query"
                },
                {
                    "$ref": "#/definitions/query-builder.set-query"
                },
                {
                    "$ref": "#/definitions/region.set-measurement-system"
                },
                {
                    "$ref": "#/definitions/reports.run"
                },
                {
                    "$ref": "#/definitions/results.activate-display-components"
                },
                {
                    "$ref": "#/definitions/results.activate-group"
                },
                {
                    "$ref": "#/definitions/results.add"
                },
                {
                    "$ref": "#/definitions/results.clear"
                },
                {
                    "$ref": "#/definitions/results.display"
                },
                {
                    "$ref": "#/definitions/results.display-details"
                },
                {
                    "$ref": "#/definitions/results.display-new-details"
                },
                {
                    "$ref": "#/definitions/results.display-summary"
                },
                {
                    "$ref": "#/definitions/results.intersect"
                },
                {
                    "$ref": "#/definitions/results.remove"
                },
                {
                    "$ref": "#/definitions/results.replace"
                },
                {
                    "$ref": "#/definitions/results.set-active-feature"
                },
                {
                    "$ref": "#/definitions/results.set-display-components"
                },
                {
                    "$ref": "#/definitions/results.set-list-card-size"
                },
                {
                    "$ref": "#/definitions/results.set-list-view-mode"
                },
                {
                    "$ref": "#/definitions/search.clear"
                },
                {
                    "$ref": "#/definitions/sketching.activate-snapping"
                },
                {
                    "$ref": "#/definitions/sketching.activate-topology"
                },
                {
                    "$ref": "#/definitions/sketching.add-point"
                },
                {
                    "$ref": "#/definitions/sketching.cancel"
                },
                {
                    "$ref": "#/definitions/sketching.deactivate-snapping"
                },
                {
                    "$ref": "#/definitions/sketching.deactivate-topology"
                },
                {
                    "$ref": "#/definitions/sketching.delete"
                },
                {
                    "$ref": "#/definitions/sketching.disable-free-scale-mode"
                },
                {
                    "$ref": "#/definitions/sketching.disable-precision-mode"
                },
                {
                    "$ref": "#/definitions/sketching.enable-free-scale-mode"
                },
                {
                    "$ref": "#/definitions/sketching.enable-precision-mode"
                },
                {
                    "$ref": "#/definitions/sketching.insert-point"
                },
                {
                    "$ref": "#/definitions/sketching.move-node"
                },
                {
                    "$ref": "#/definitions/sketching.move-point"
                },
                {
                    "$ref": "#/definitions/sketching.redo"
                },
                {
                    "$ref": "#/definitions/sketching.set-active-points"
                },
                {
                    "$ref": "#/definitions/sketching.set-geometry-mode"
                },
                {
                    "$ref": "#/definitions/sketching.set-snapping-configuration"
                },
                {
                    "$ref": "#/definitions/sketching.set-topology-configuration"
                },
                {
                    "$ref": "#/definitions/sketching.switch-active-node"
                },
                {
                    "$ref": "#/definitions/sketching.undo"
                },
                {
                    "$ref": "#/definitions/studio-analytics.track-custom-event"
                },
                {
                    "$ref": "#/definitions/system.display-sharing-link"
                },
                {
                    "$ref": "#/definitions/system.download-file"
                },
                {
                    "$ref": "#/definitions/system.open-url"
                },
                {
                    "$ref": "#/definitions/system.repeat-action"
                },
                {
                    "$ref": "#/definitions/ui.activate"
                },
                {
                    "$ref": "#/definitions/ui.alert"
                },
                {
                    "$ref": "#/definitions/ui.deactivate"
                },
                {
                    "$ref": "#/definitions/ui.display-busy-state"
                },
                {
                    "$ref": "#/definitions/ui.display-notification"
                },
                {
                    "$ref": "#/definitions/ui.focus"
                },
                {
                    "$ref": "#/definitions/ui.hide-busy-state"
                },
                {
                    "$ref": "#/definitions/ui.hide-notification"
                },
                {
                    "$ref": "#/definitions/ui.narrate"
                },
                {
                    "$ref": "#/definitions/ui.set-density"
                },
                {
                    "$ref": "#/definitions/ui.set-locale"
                },
                {
                    "$ref": "#/definitions/ui.set-theme"
                },
                {
                    "$ref": "#/definitions/ui.set-visual-state"
                },
                {
                    "$ref": "#/definitions/viewer.load-layout"
                },
                {
                    "$ref": "#/definitions/viewer.log-debug"
                },
                {
                    "$ref": "#/definitions/viewer.post-message"
                },
                {
                    "$ref": "#/definitions/viewer.set-debug-mode"
                },
                {
                    "$ref": "#/definitions/workflow.run"
                }
            ]
        },
        "viewer-spec.SingleOperation": {
            "anyOf": [
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/app.get-persistent-data:input"
                        },
                        "name": {
                            "$ref": "#/definitions/app.get-persistent-data"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/arcade.run:input"
                        },
                        "name": {
                            "$ref": "#/definitions/arcade.run"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/basemap.get-all:input"
                        },
                        "name": {
                            "$ref": "#/definitions/basemap.get-all"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/basemap.get-current:input"
                        },
                        "name": {
                            "$ref": "#/definitions/basemap.get-current"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/charts.get-definition:input"
                        },
                        "name": {
                            "$ref": "#/definitions/charts.get-definition"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/charts.get-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/charts.get-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/drawing.create-graphics:input"
                        },
                        "name": {
                            "$ref": "#/definitions/drawing.create-graphics"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/drawing.edit-symbol:input"
                        },
                        "name": {
                            "$ref": "#/definitions/drawing.edit-symbol"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/drawing.get-default-symbol:input"
                        },
                        "name": {
                            "$ref": "#/definitions/drawing.get-default-symbol"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/drawing.get-default-symbol3-d:input"
                        },
                        "name": {
                            "$ref": "#/definitions/drawing.get-default-symbol3-d"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/edit.create-feature:input"
                        },
                        "name": {
                            "$ref": "#/definitions/edit.create-feature"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/filter-builder.get-filter:input"
                        },
                        "name": {
                            "$ref": "#/definitions/filter-builder.get-filter"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geocode.batch-geocode:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geocode.batch-geocode"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geocode.count:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geocode.count"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geocode.geocode:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geocode.geocode"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geocode.reverse-geocode:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geocode.reverse-geocode"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geocode.suggest:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geocode.suggest"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geometry.add-pixel-tolerance:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geometry.add-pixel-tolerance"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geometry.buffer:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geometry.buffer"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/geometry.project:input"
                        },
                        "name": {
                            "$ref": "#/definitions/geometry.project"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/highlights.get:input"
                        },
                        "name": {
                            "$ref": "#/definitions/highlights.get"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/highlights.get-focused:input"
                        },
                        "name": {
                            "$ref": "#/definitions/highlights.get-focused"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/kpi.get-definition:input"
                        },
                        "name": {
                            "$ref": "#/definitions/kpi.get-definition"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/kpi.get-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/kpi.get-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/licensing.get-license-state:input"
                        },
                        "name": {
                            "$ref": "#/definitions/licensing.get-license-state"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.export-web-map-or-scene:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.export-web-map-or-scene"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.get-extent:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.get-extent"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.get-initial-viewpoint:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.get-initial-viewpoint"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.get-markup:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.get-markup"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.get-spatial-reference:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.get-spatial-reference"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.get-user-coordinates-input:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.get-user-coordinates-input"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/map.get-viewpoint:input"
                        },
                        "name": {
                            "$ref": "#/definitions/map.get-viewpoint"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/measurement.capture-geometry:input"
                        },
                        "name": {
                            "$ref": "#/definitions/measurement.capture-geometry"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/measurement.create-graphics:input"
                        },
                        "name": {
                            "$ref": "#/definitions/measurement.create-graphics"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/measurement.get-default-symbol:input"
                        },
                        "name": {
                            "$ref": "#/definitions/measurement.get-default-symbol"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/measurement.get-default-symbol3-d:input"
                        },
                        "name": {
                            "$ref": "#/definitions/measurement.get-default-symbol3-d"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/messaging.mix-in-args:input"
                        },
                        "name": {
                            "$ref": "#/definitions/messaging.mix-in-args"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/portal.choose-layers:input"
                        },
                        "name": {
                            "$ref": "#/definitions/portal.choose-layers"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/portal.create-or-update-item:input"
                        },
                        "name": {
                            "$ref": "#/definitions/portal.create-or-update-item"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/project.create:input"
                        },
                        "name": {
                            "$ref": "#/definitions/project.create"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/project.get-share-link:input"
                        },
                        "name": {
                            "$ref": "#/definitions/project.get-share-link"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/project.get-shared-content:input"
                        },
                        "name": {
                            "$ref": "#/definitions/project.get-shared-content"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/query-builder.get-query:input"
                        },
                        "name": {
                            "$ref": "#/definitions/query-builder.get-query"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.configure-upload-data:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.configure-upload-data"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.contains:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.contains"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.convert-to-csv:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.convert-to-csv"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.convert-to-layers:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.convert-to-layers"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.convert-to-shapefile:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.convert-to-shapefile"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.convert-to-xlsx:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.convert-to-xlsx"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.filter:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.filter"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.from-csv:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.from-csv"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.from-files:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.from-files"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.from-graphics:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.from-graphics"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.from-shapefile:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.from-shapefile"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.from-xlsx:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.from-xlsx"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.get-active-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.get-active-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.get-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.get-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.to-graphics:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.to-graphics"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.upload-data-from-files:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.upload-data-from-files"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/results.upload-data-to-features:input"
                        },
                        "name": {
                            "$ref": "#/definitions/results.upload-data-to-features"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.add-node-to-geometry:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.add-node-to-geometry"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.capture-geometry:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.capture-geometry"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.edit-geometry:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.edit-geometry"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.get-active-node:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.get-active-node"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.get-active-points:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.get-active-points"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.get-adjacent-point:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.get-adjacent-point"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.move-geometry:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.move-geometry"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.rotate-geometry:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.rotate-geometry"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.scale-geometry:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.scale-geometry"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/sketching.stop:input"
                        },
                        "name": {
                            "$ref": "#/definitions/sketching.stop"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/system.read-file:input"
                        },
                        "name": {
                            "$ref": "#/definitions/system.read-file"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/system.read-files:input"
                        },
                        "name": {
                            "$ref": "#/definitions/system.read-files"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/system.read-url:input"
                        },
                        "name": {
                            "$ref": "#/definitions/system.read-url"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/tasks.filter-results.by-geometry-type:input"
                        },
                        "name": {
                            "$ref": "#/definitions/tasks.filter-results.by-geometry-type"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/tasks.filter-results.first-visible:input"
                        },
                        "name": {
                            "$ref": "#/definitions/tasks.filter-results.first-visible"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/tasks.identify:input"
                        },
                        "name": {
                            "$ref": "#/definitions/tasks.identify"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/tasks.query:input"
                        },
                        "name": {
                            "$ref": "#/definitions/tasks.query"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/tasks.search:input"
                        },
                        "name": {
                            "$ref": "#/definitions/tasks.search"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/tasks.suggest:input"
                        },
                        "name": {
                            "$ref": "#/definitions/tasks.suggest"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/tasks.supports-identify:input"
                        },
                        "name": {
                            "$ref": "#/definitions/tasks.supports-identify"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/tasks.supports-query:input"
                        },
                        "name": {
                            "$ref": "#/definitions/tasks.supports-query"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/tasks.supports-search:input"
                        },
                        "name": {
                            "$ref": "#/definitions/tasks.supports-search"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/tasks.supports-suggest:input"
                        },
                        "name": {
                            "$ref": "#/definitions/tasks.supports-suggest"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.confirm:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.confirm"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.get-component-ids:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.get-component-ids"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.get-component-state:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.get-component-state"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.get-visual-state:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.get-visual-state"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/ui.prompt:input"
                        },
                        "name": {
                            "$ref": "#/definitions/ui.prompt"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/viewer.post-message-await-reply:input"
                        },
                        "name": {
                            "$ref": "#/definitions/viewer.post-message-await-reply"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "additionalProperties": false,
                    "properties": {
                        "arguments": {
                            "$ref": "#/definitions/workflow.evaluate:input"
                        },
                        "name": {
                            "$ref": "#/definitions/workflow.evaluate"
                        }
                    },
                    "required": [
                        "name",
                        "arguments"
                    ],
                    "type": "object"
                },
                {
                    "$ref": "#/definitions/app.create-project"
                },
                {
                    "$ref": "#/definitions/app.get-persistent-data"
                },
                {
                    "$ref": "#/definitions/app.get-version"
                },
                {
                    "$ref": "#/definitions/arcade.run"
                },
                {
                    "$ref": "#/definitions/auth.get-current-user"
                },
                {
                    "$ref": "#/definitions/auth.is-sign-in-available"
                },
                {
                    "$ref": "#/definitions/basemap.get-all"
                },
                {
                    "$ref": "#/definitions/basemap.get-current"
                },
                {
                    "$ref": "#/definitions/charts.get-definition"
                },
                {
                    "$ref": "#/definitions/charts.get-features"
                },
                {
                    "$ref": "#/definitions/drawing.create-graphics"
                },
                {
                    "$ref": "#/definitions/drawing.edit-symbol"
                },
                {
                    "$ref": "#/definitions/drawing.get-default-symbol"
                },
                {
                    "$ref": "#/definitions/drawing.get-default-symbol3-d"
                },
                {
                    "$ref": "#/definitions/edit.create-feature"
                },
                {
                    "$ref": "#/definitions/filter-builder.get-filter"
                },
                {
                    "$ref": "#/definitions/geocode.active-geocoders"
                },
                {
                    "$ref": "#/definitions/geocode.batch-geocode"
                },
                {
                    "$ref": "#/definitions/geocode.count"
                },
                {
                    "$ref": "#/definitions/geocode.geocode"
                },
                {
                    "$ref": "#/definitions/geocode.get-geocoders"
                },
                {
                    "$ref": "#/definitions/geocode.reverse-geocode"
                },
                {
                    "$ref": "#/definitions/geocode.suggest"
                },
                {
                    "$ref": "#/definitions/geolocation.get-current-state"
                },
                {
                    "$ref": "#/definitions/geolocation.get-location-permissions-enabled"
                },
                {
                    "$ref": "#/definitions/geolocation.get-position"
                },
                {
                    "$ref": "#/definitions/geometry.add-pixel-tolerance"
                },
                {
                    "$ref": "#/definitions/geometry.buffer"
                },
                {
                    "$ref": "#/definitions/geometry.get-buffer-distance"
                },
                {
                    "$ref": "#/definitions/geometry.get-buffer-units"
                },
                {
                    "$ref": "#/definitions/geometry.project"
                },
                {
                    "$ref": "#/definitions/highlights.get"
                },
                {
                    "$ref": "#/definitions/highlights.get-focused"
                },
                {
                    "$ref": "#/definitions/kpi.get-definition"
                },
                {
                    "$ref": "#/definitions/kpi.get-features"
                },
                {
                    "$ref": "#/definitions/licensing.get-license-state"
                },
                {
                    "$ref": "#/definitions/map.export-web-map-or-scene"
                },
                {
                    "$ref": "#/definitions/map.get-extent"
                },
                {
                    "$ref": "#/definitions/map.get-initial-viewpoint"
                },
                {
                    "$ref": "#/definitions/map.get-markup"
                },
                {
                    "$ref": "#/definitions/map.get-spatial-reference"
                },
                {
                    "$ref": "#/definitions/map.get-user-coordinates-input"
                },
                {
                    "$ref": "#/definitions/map.get-viewpoint"
                },
                {
                    "$ref": "#/definitions/measurement.capture-geometry"
                },
                {
                    "$ref": "#/definitions/measurement.create-graphics"
                },
                {
                    "$ref": "#/definitions/measurement.get-area-units"
                },
                {
                    "$ref": "#/definitions/measurement.get-default-symbol"
                },
                {
                    "$ref": "#/definitions/measurement.get-default-symbol3-d"
                },
                {
                    "$ref": "#/definitions/measurement.get-length-units"
                },
                {
                    "$ref": "#/definitions/messaging.mix-in-args"
                },
                {
                    "$ref": "#/definitions/portal.choose-layers"
                },
                {
                    "$ref": "#/definitions/portal.create-or-update-item"
                },
                {
                    "$ref": "#/definitions/project.create"
                },
                {
                    "$ref": "#/definitions/project.get-share-link"
                },
                {
                    "$ref": "#/definitions/project.get-shared"
                },
                {
                    "$ref": "#/definitions/project.get-shared-content"
                },
                {
                    "$ref": "#/definitions/query-builder.get-query"
                },
                {
                    "$ref": "#/definitions/results.configure-upload-data"
                },
                {
                    "$ref": "#/definitions/results.contains"
                },
                {
                    "$ref": "#/definitions/results.convert-to-csv"
                },
                {
                    "$ref": "#/definitions/results.convert-to-layers"
                },
                {
                    "$ref": "#/definitions/results.convert-to-shapefile"
                },
                {
                    "$ref": "#/definitions/results.convert-to-xlsx"
                },
                {
                    "$ref": "#/definitions/results.filter"
                },
                {
                    "$ref": "#/definitions/results.from-csv"
                },
                {
                    "$ref": "#/definitions/results.from-files"
                },
                {
                    "$ref": "#/definitions/results.from-graphics"
                },
                {
                    "$ref": "#/definitions/results.from-shapefile"
                },
                {
                    "$ref": "#/definitions/results.from-xlsx"
                },
                {
                    "$ref": "#/definitions/results.get-active-features"
                },
                {
                    "$ref": "#/definitions/results.get-features"
                },
                {
                    "$ref": "#/definitions/results.to-graphics"
                },
                {
                    "$ref": "#/definitions/results.upload-data-from-files"
                },
                {
                    "$ref": "#/definitions/results.upload-data-to-features"
                },
                {
                    "$ref": "#/definitions/sketching.add-node-to-geometry"
                },
                {
                    "$ref": "#/definitions/sketching.capture-geometry"
                },
                {
                    "$ref": "#/definitions/sketching.edit-active-symbol"
                },
                {
                    "$ref": "#/definitions/sketching.edit-geometry"
                },
                {
                    "$ref": "#/definitions/sketching.get-active-node"
                },
                {
                    "$ref": "#/definitions/sketching.get-active-points"
                },
                {
                    "$ref": "#/definitions/sketching.get-active-sketch"
                },
                {
                    "$ref": "#/definitions/sketching.get-adjacent-point"
                },
                {
                    "$ref": "#/definitions/sketching.move-geometry"
                },
                {
                    "$ref": "#/definitions/sketching.rotate-geometry"
                },
                {
                    "$ref": "#/definitions/sketching.scale-geometry"
                },
                {
                    "$ref": "#/definitions/sketching.stop"
                },
                {
                    "$ref": "#/definitions/system.get-sharing-link"
                },
                {
                    "$ref": "#/definitions/system.read-file"
                },
                {
                    "$ref": "#/definitions/system.read-files"
                },
                {
                    "$ref": "#/definitions/system.read-url"
                },
                {
                    "$ref": "#/definitions/tasks.filter-results.by-geometry-type"
                },
                {
                    "$ref": "#/definitions/tasks.filter-results.first-visible"
                },
                {
                    "$ref": "#/definitions/tasks.identify"
                },
                {
                    "$ref": "#/definitions/tasks.query"
                },
                {
                    "$ref": "#/definitions/tasks.search"
                },
                {
                    "$ref": "#/definitions/tasks.suggest"
                },
                {
                    "$ref": "#/definitions/tasks.supports-identify"
                },
                {
                    "$ref": "#/definitions/tasks.supports-query"
                },
                {
                    "$ref": "#/definitions/tasks.supports-search"
                },
                {
                    "$ref": "#/definitions/tasks.supports-suggest"
                },
                {
                    "$ref": "#/definitions/ui.confirm"
                },
                {
                    "$ref": "#/definitions/ui.get-component-ids"
                },
                {
                    "$ref": "#/definitions/ui.get-component-state"
                },
                {
                    "$ref": "#/definitions/ui.get-locale"
                },
                {
                    "$ref": "#/definitions/ui.get-theme"
                },
                {
                    "$ref": "#/definitions/ui.get-themes"
                },
                {
                    "$ref": "#/definitions/ui.get-visual-state"
                },
                {
                    "$ref": "#/definitions/ui.prompt"
                },
                {
                    "$ref": "#/definitions/viewer.get-all-layouts"
                },
                {
                    "$ref": "#/definitions/viewer.get-capabilities"
                },
                {
                    "$ref": "#/definitions/viewer.get-current-layout"
                },
                {
                    "$ref": "#/definitions/viewer.get-in-debug-mode"
                },
                {
                    "$ref": "#/definitions/viewer.get-version"
                },
                {
                    "$ref": "#/definitions/viewer.post-message-await-reply"
                },
                {
                    "$ref": "#/definitions/workflow.evaluate"
                }
            ]
        },
        "viewer.get-all-layouts": {
            "description": "Gets all Layout models from the application. Web only.",
            "enum": [
                "viewer.get-all-layouts"
            ]
        },
        "viewer.get-all-layouts:output": {
            "items": {
                "$ref": "#/definitions/Model"
            },
            "type": "array"
        },
        "viewer.get-capabilities": {
            "description": "Gets information about the current viewer instance. Web only.",
            "enum": [
                "viewer.get-capabilities"
            ]
        },
        "viewer.get-capabilities:output": {
            "$ref": "#/definitions/ViewerCapabilities"
        },
        "viewer.get-current-layout": {
            "description": "Gets the current Layout model from the application. Web only.",
            "enum": [
                "viewer.get-current-layout"
            ]
        },
        "viewer.get-current-layout:output": {
            "$ref": "#/definitions/Model"
        },
        "viewer.get-in-debug-mode": {
            "description": "Get whether the viewer is in debug mode. Web only.",
            "enum": [
                "viewer.get-in-debug-mode"
            ]
        },
        "viewer.get-in-debug-mode:output": {
            "type": "boolean"
        },
        "viewer.get-version": {
            "description": "Gets the version of the viewer. (i.e. the current version of web). Web only.",
            "enum": [
                "viewer.get-version"
            ]
        },
        "viewer.get-version:output": {
            "type": "string"
        },
        "viewer.load-layout": {
            "description": "Loads a new layout. Can be a layout URL or layout XML, or a Layout object. Web only.",
            "enum": [
                "viewer.load-layout"
            ]
        },
        "viewer.load-layout:input": {
            "anyOf": [
                {
                    "$ref": "#/definitions/Model"
                },
                {
                    "type": "string"
                }
            ]
        },
        "viewer.log-debug": {
            "description": "Writes the operation context object to the console or log viewer at the debug level.",
            "enum": [
                "viewer.log-debug"
            ]
        },
        "viewer.log-debug:input": {},
        "viewer.post-message": {
            "description": "Post a message to the parent frame of the viewer. Web only.",
            "enum": [
                "viewer.post-message"
            ]
        },
        "viewer.post-message-await-reply": {
            "description": "Post a message to the parent frame of the viewer and await the reply. Web only.",
            "enum": [
                "viewer.post-message-await-reply"
            ]
        },
        "viewer.post-message-await-reply:input": {},
        "viewer.post-message-await-reply:output": {},
        "viewer.post-message:input": {},
        "viewer.set-debug-mode": {
            "description": "Turn the debug mode of the viewer on or off. This can also be done using the debug=true URL parameter. Web only.",
            "enum": [
                "viewer.set-debug-mode"
            ]
        },
        "viewer.set-debug-mode:input": {
            "type": "boolean"
        },
        "workflow.evaluate": {
            "description": "Runs a workflow with the given arguments and returns the workflow's output as the result of the operation. The output in the workflow is set using the \"Set Workflow Output\" activity. See the \"workflow.run\" command if you want to run a workflow without any output values.",
            "enum": [
                "workflow.evaluate"
            ]
        },
        "workflow.evaluate:input": {
            "$ref": "#/definitions/EvaluateWorkflowArgs"
        },
        "workflow.evaluate:output": {},
        "workflow.run": {
            "description": "Runs a workflow with the given arguments. See the `workflow.evaluate` operation if you want to run a workflow and expect output values to be returned.",
            "enum": [
                "workflow.run"
            ]
        },
        "workflow.run:input": {
            "$ref": "#/definitions/RunWorkflowArgs"
        }
    }
}

