/// <reference types="../index.d.ts" />
import type { ArcgisAreaMeasurement2d } from "../components/arcgis-area-measurement-2d";
import type { ArcgisAreaMeasurement3d } from "../components/arcgis-area-measurement-3d";
import type { ArcgisAttachments } from "../components/arcgis-attachments";
import type { ArcgisBasemapGallery } from "../components/arcgis-basemap-gallery";
import type { ArcgisBasemapLayerList } from "../components/arcgis-basemap-layer-list";
import type { ArcgisBasemapToggle } from "../components/arcgis-basemap-toggle";
import type { ArcgisBookmarks } from "../components/arcgis-bookmarks";
import type { ArcgisBuildingExplorer } from "../components/arcgis-building-explorer";
import type { ArcgisCatalogLayerList } from "../components/arcgis-catalog-layer-list";
import type { ArcgisCompass } from "../components/arcgis-compass";
import type { ArcgisCoordinateConversion } from "../components/arcgis-coordinate-conversion";
import type { ArcgisDaylight } from "../components/arcgis-daylight";
import type { ArcgisDirectionalPad } from "../components/arcgis-directional-pad";
import type { ArcgisDirections } from "../components/arcgis-directions";
import type { ArcgisDirectLineMeasurement3d } from "../components/arcgis-direct-line-measurement-3d";
import type { DeprecatedArcgisDirectLineMeasurement3d } from "../components/arcgis-direct-line-measurement-3d";
import type { ArcgisDistanceMeasurement2d } from "../components/arcgis-distance-measurement-2d";
import type { ArcgisEditor } from "../components/arcgis-editor";
import type { ArcgisElevationProfile } from "../components/arcgis-elevation-profile";
import type { ArcgisElevationProfileNext } from "../components/arcgis-elevation-profile-next";
import type { ArcgisExpand } from "../components/arcgis-expand";
import type { ArcgisFeature } from "../components/arcgis-feature";
import type { ArcgisFeatureForm } from "../components/arcgis-feature-form";
import type { ArcgisFeatureTable } from "../components/arcgis-feature-table";
import type { ArcgisFeatureTemplates } from "../components/arcgis-feature-templates";
import type { ArcgisFeatures } from "../components/arcgis-features";
import type { ArcgisFloorFilter } from "../components/arcgis-floor-filter";
import type { ArcgisFullscreen } from "../components/arcgis-fullscreen";
import type { ArcgisGridControls } from "../components/arcgis-grid-controls";
import type { ArcgisHistogramRangeSlider } from "../components/arcgis-histogram-range-slider";
import type { ArcgisHome } from "../components/arcgis-home";
import type { ArcgisLayerList } from "../components/arcgis-layer-list";
import type { ArcgisLegend } from "../components/arcgis-legend";
import type { ArcgisLineOfSight } from "../components/arcgis-line-of-sight";
import type { ArcgisLinkChart } from "../components/arcgis-link-chart";
import type { ArcgisLinkChartLayoutSwitcher } from "../components/arcgis-link-chart-layout-switcher";
import type { ArcgisLocate } from "../components/arcgis-locate";
import type { ArcgisMap } from "../components/arcgis-map";
import type { ArcgisMeasurement } from "../components/arcgis-measurement";
import type { ArcgisNavigationToggle } from "../components/arcgis-navigation-toggle";
import type { ArcgisOrientedImageryViewer } from "../components/arcgis-oriented-imagery-viewer";
import type { ArcgisPlacement } from "../components/arcgis-placement";
import type { ArcgisPopup } from "../components/arcgis-popup";
import type { ArcgisPrint } from "../components/arcgis-print";
import type { ArcgisScaleBar } from "../components/arcgis-scale-bar";
import type { ArcgisScaleRangeSlider } from "../components/arcgis-scale-range-slider";
import type { ArcgisScene } from "../components/arcgis-scene";
import type { ArcgisSearch } from "../components/arcgis-search";
import type { ArcgisSearchResultRenderer } from "../components/arcgis-search-result-renderer";
import type { ArcgisShadowCast } from "../components/arcgis-shadow-cast";
import type { ArcgisSketch } from "../components/arcgis-sketch";
import type { ArcgisSlice } from "../components/arcgis-slice";
import type { ArcgisSwipe } from "../components/arcgis-swipe";
import type { ArcgisTableList } from "../components/arcgis-table-list";
import type { ArcgisTimeSlider } from "../components/arcgis-time-slider";
import type { ArcgisTimeZoneLabel } from "../components/arcgis-time-zone-label";
import type { ArcgisTrack } from "../components/arcgis-track";
import type { ArcgisUtilityNetworkAssociations } from "../components/arcgis-utility-network-associations";
import type { ArcgisUtilityNetworkTrace } from "../components/arcgis-utility-network-trace";
import type { ArcgisUtilityNetworkTraceAnalysis } from "../components/arcgis-utility-network-trace-analysis";
import type { ArcgisUtilityNetworkResultFeatureList } from "../components/arcgis-utility-network-result-feature-list";
import type { ArcgisUtilityNetworkTraceInputs } from "../components/arcgis-utility-network-trace-inputs";
import type { ArcgisUtilityNetworkTraceResults } from "../components/arcgis-utility-network-trace-results";
import type { ArcgisUtilityNetworkValidateTopology } from "../components/arcgis-utility-network-validate-topology";
import type { ArcgisValuePicker } from "../components/arcgis-value-picker";
import type { ArcgisVersionManagement } from "../components/arcgis-version-management";
import type { ArcgisVideo } from "../components/arcgis-video";
import type { ArcgisVideoPlayer } from "../components/arcgis-video-player";
import type { ArcgisWeather } from "../components/arcgis-weather";
import type { ArcgisZoom } from "../components/arcgis-zoom";
import type { HTMLProps } from 'react';
import type { EventHandler } from "@arcgis/lumina"; 

interface ReactArcgisAreaMeasurement2d extends Partial<Pick<ArcgisAreaMeasurement2d, 'autoDestroyDisabled' | 'icon' | 'label' | 'position' | 'referenceElement' | 'snappingOptions' | 'unit' | 'unitOptions' | 'view'>>, HTMLProps<HTMLArcgisAreaMeasurement2dElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisAreaMeasurement2dElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisAreaMeasurement2dElement["arcgisReady"]>;
}

interface ReactArcgisAreaMeasurement3d extends Partial<Pick<ArcgisAreaMeasurement3d, 'analysis' | 'autoDestroyDisabled' | 'icon' | 'label' | 'position' | 'referenceElement' | 'unit' | 'unitOptions' | 'view'>>, HTMLProps<HTMLArcgisAreaMeasurement3dElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisAreaMeasurement3dElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisAreaMeasurement3dElement["arcgisReady"]>;
}

interface ReactArcgisAttachments extends Partial<Pick<ArcgisAttachments, 'attachmentKeywords' | 'attachmentTypes' | 'autoDestroyDisabled' | 'capabilities' | 'displayType' | 'graphic' | 'hideAddButton' | 'hideAddSubmitButton' | 'hideCancelAddButton' | 'hideCancelUpdateButton' | 'hideDeleteButton' | 'hideErrorMessage' | 'hideProgressBar' | 'hideUpdateButton' | 'icon' | 'label' | 'position' | 'referenceElement'>>, HTMLProps<HTMLArcgisAttachmentsElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisAttachmentsElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisAttachmentsElement["arcgisReady"]>;
}

interface ReactArcgisBasemapGallery extends Partial<Pick<ArcgisBasemapGallery, 'activeBasemap' | 'autoDestroyDisabled' | 'disabled' | 'headingLevel' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'source' | 'view'>>, HTMLProps<HTMLArcgisBasemapGalleryElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisBasemapGalleryElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisBasemapGalleryElement["arcgisReady"]>;
}

interface ReactArcgisBasemapLayerList extends Partial<Pick<ArcgisBasemapLayerList, 'autoDestroyDisabled' | 'baseFilterPredicate' | 'baseFilterText' | 'baseListItemCreatedFunction' | 'basemapTitle' | 'catalogOptions' | 'closed' | 'collapsed' | 'dragEnabled' | 'editingTitle' | 'filterPlaceholder' | 'headingLevel' | 'hideBaseLayers' | 'hideFlow' | 'hideHeading' | 'hideReferenceLayers' | 'hideStatusIndicators' | 'icon' | 'label' | 'minFilterItems' | 'position' | 'referenceElement' | 'referenceFilterPredicate' | 'referenceFilterText' | 'referenceListItemCreatedFunction' | 'selectedItems' | 'selectionMode' | 'showCloseButton' | 'showCollapseButton' | 'showEditTitleButton' | 'showErrors' | 'showFilter' | 'showTemporaryLayerIndicators' | 'view' | 'visibilityAppearance'>>, HTMLProps<HTMLArcgisBasemapLayerListElement> {
  onarcgisClose?: EventHandler<HTMLArcgisBasemapLayerListElement["arcgisClose"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisBasemapLayerListElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisBasemapLayerListElement["arcgisReady"]>;
  onarcgisTriggerAction?: EventHandler<HTMLArcgisBasemapLayerListElement["arcgisTriggerAction"]>;
}

interface ReactArcgisBasemapToggle extends Partial<Pick<ArcgisBasemapToggle, 'autoDestroyDisabled' | 'icon' | 'label' | 'messageOverrides' | 'nextBasemap' | 'position' | 'referenceElement' | 'showTitle' | 'view'>>, HTMLProps<HTMLArcgisBasemapToggleElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisBasemapToggleElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisBasemapToggleElement["arcgisReady"]>;
}

interface ReactArcgisBookmarks extends Partial<Pick<ArcgisBookmarks, 'autoDestroyDisabled' | 'bookmarks' | 'closed' | 'defaultCreateOptions' | 'defaultEditOptions' | 'disabled' | 'dragEnabled' | 'filterPlaceholder' | 'filterText' | 'goToOverride' | 'headingLevel' | 'hideFlow' | 'hideThumbnail' | 'hideTime' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'showAddBookmarkButton' | 'showCloseButton' | 'showCollapseButton' | 'showEditBookmarkButton' | 'showFilter' | 'showHeading' | 'timeDisabled' | 'view'>>, HTMLProps<HTMLArcgisBookmarksElement> {
  onarcgisBookmarkEdit?: EventHandler<HTMLArcgisBookmarksElement["arcgisBookmarkEdit"]>;
  onarcgisBookmarkSelect?: EventHandler<HTMLArcgisBookmarksElement["arcgisBookmarkSelect"]>;
  onarcgisClose?: EventHandler<HTMLArcgisBookmarksElement["arcgisClose"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisBookmarksElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisBookmarksElement["arcgisReady"]>;
}

interface ReactArcgisBuildingExplorer extends Partial<Pick<ArcgisBuildingExplorer, 'autoDestroyDisabled' | 'headingLevel' | 'hideDisciplines' | 'hideLevels' | 'hidePhases' | 'icon' | 'label' | 'layers' | 'position' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisBuildingExplorerElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisBuildingExplorerElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisBuildingExplorerElement["arcgisReady"]>;
}

interface ReactArcgisCatalogLayerList extends Partial<Pick<ArcgisCatalogLayerList, 'autoDestroyDisabled' | 'catalogLayer' | 'closed' | 'collapsed' | 'filterPlaceholder' | 'filterPredicate' | 'filterText' | 'headingLevel' | 'hideFlow' | 'hideStatusIndicators' | 'icon' | 'label' | 'listItemCreatedFunction' | 'minFilterItems' | 'position' | 'referenceElement' | 'selectedItems' | 'selectionMode' | 'showCloseButton' | 'showCollapseButton' | 'showErrors' | 'showFilter' | 'showHeading' | 'showTemporaryLayerIndicators' | 'view' | 'visibilityAppearance'>>, HTMLProps<HTMLArcgisCatalogLayerListElement> {
  onarcgisClose?: EventHandler<HTMLArcgisCatalogLayerListElement["arcgisClose"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisCatalogLayerListElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisCatalogLayerListElement["arcgisReady"]>;
  onarcgisTriggerAction?: EventHandler<HTMLArcgisCatalogLayerListElement["arcgisTriggerAction"]>;
}

interface ReactArcgisCompass extends Partial<Pick<ArcgisCompass, 'autoDestroyDisabled' | 'goToOverride' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisCompassElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisCompassElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisCompassElement["arcgisReady"]>;
}

interface ReactArcgisCoordinateConversion extends Partial<Pick<ArcgisCoordinateConversion, 'autoDestroyDisabled' | 'conversions' | 'currentLocation' | 'expanded' | 'formats' | 'goToOverride' | 'headingLevel' | 'hideCaptureButton' | 'hideExpandButton' | 'hideInputButton' | 'hideSettingsButton' | 'icon' | 'label' | 'locationSymbol' | 'mode' | 'multipleConversionsDisabled' | 'orientation' | 'position' | 'referenceElement' | 'storageDisabled' | 'storageType' | 'view'>>, HTMLProps<HTMLArcgisCoordinateConversionElement> {
  onarcgisConversionChange?: EventHandler<HTMLArcgisCoordinateConversionElement["arcgisConversionChange"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisCoordinateConversionElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisCoordinateConversionElement["arcgisReady"]>;
}

interface ReactArcgisDaylight extends Partial<Pick<ArcgisDaylight, 'autoDestroyDisabled' | 'currentSeason' | 'dateOrSeason' | 'dayPlaying' | 'headingLevel' | 'hideDatePicker' | 'hideHeader' | 'hidePlayButtons' | 'hideShadowsToggle' | 'hideSunLightingToggle' | 'hideTimezone' | 'icon' | 'label' | 'playSpeedMultiplier' | 'position' | 'referenceElement' | 'timeSliderPosition' | 'timeSliderSteps' | 'utcOffset' | 'view' | 'yearPlaying'>>, ArcgisDaylightSetterTypes, HTMLProps<HTMLArcgisDaylightElement> {
  onarcgisReady?: EventHandler<HTMLArcgisDaylightElement["arcgisReady"]>;
  onarcgisUserDateTimeChange?: EventHandler<HTMLArcgisDaylightElement["arcgisUserDateTimeChange"]>;
}
type ArcgisDaylightSetterTypes = ArcgisDaylight["_setterTypes"]

interface ReactArcgisDirectionalPad extends Partial<Pick<ArcgisDirectionalPad, 'autoDestroyDisabled' | 'disabled' | 'hideDirectionalButtons' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'showRotationResetButton' | 'showRotationSlider' | 'view' | 'visualScale'>>, HTMLProps<HTMLArcgisDirectionalPadElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisDirectionalPadElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisDirectionalPadElement["arcgisReady"]>;
}

interface ReactArcgisDirections extends Partial<Pick<ArcgisDirections, 'apiKey' | 'autoDestroyDisabled' | 'goToOverride' | 'headingLevel' | 'hideLayerDetails' | 'hideSaveAsButton' | 'hideSaveButton' | 'icon' | 'label' | 'layer' | 'maxStops' | 'position' | 'referenceElement' | 'routeLayerItemId' | 'searchProperties' | 'unit' | 'useDefaultRouteLayer' | 'view'>>, HTMLProps<HTMLArcgisDirectionsElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisDirectionsElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisDirectionsElement["arcgisReady"]>;
}

interface ReactArcgisDirectLineMeasurement3d extends Partial<Pick<ArcgisDirectLineMeasurement3d, 'analysis' | 'autoDestroyDisabled' | 'icon' | 'label' | 'position' | 'referenceElement' | 'unit' | 'unitOptions' | 'view'>>, HTMLProps<HTMLArcgisDirectLineMeasurement3dElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisDirectLineMeasurement3dElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisDirectLineMeasurement3dElement["arcgisReady"]>;
}

interface ReactArcgisDirectlineMeasurement3d extends Partial<Pick<DeprecatedArcgisDirectLineMeasurement3d, 'analysis' | 'autoDestroyDisabled' | 'icon' | 'label' | 'position' | 'referenceElement' | 'unit' | 'unitOptions' | 'view'>>, HTMLProps<HTMLArcgisDirectlineMeasurement3dElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisDirectlineMeasurement3dElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisDirectlineMeasurement3dElement["arcgisReady"]>;
}

interface ReactArcgisDistanceMeasurement2d extends Partial<Pick<ArcgisDistanceMeasurement2d, 'autoDestroyDisabled' | 'icon' | 'label' | 'position' | 'referenceElement' | 'snappingOptions' | 'unit' | 'unitOptions' | 'view'>>, HTMLProps<HTMLArcgisDistanceMeasurement2dElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisDistanceMeasurement2dElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisDistanceMeasurement2dElement["arcgisReady"]>;
}

interface ReactArcgisEditor extends Partial<Pick<ArcgisEditor, 'autoDestroyDisabled' | 'headingLevel' | 'hideCreateFeaturesSection' | 'hideEditFeaturesSection' | 'hideFlow' | 'hideLabelsToggle' | 'hideMergeButton' | 'hideSettingsMenu' | 'hideSketch' | 'hideSnappingControlsElementsEnabledToggle' | 'hideSnappingControlsElementsFeatureEnabledToggle' | 'hideSnappingControlsElementsLayerList' | 'hideSnappingControlsElementsSelfEnabledToggle' | 'hideSplitButton' | 'hideTooltipsToggle' | 'hideUndoRedoButtons' | 'hideZoomToButton' | 'icon' | 'label' | 'labelOptions' | 'layerInfos' | 'position' | 'referenceElement' | 'showSnappingControlsElementsHeader' | 'snappingOptions' | 'supportingWidgetDefaults' | 'tooltipOptions' | 'view'>>, HTMLProps<HTMLArcgisEditorElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisEditorElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisEditorElement["arcgisReady"]>;
  onarcgisSketchCreate?: EventHandler<HTMLArcgisEditorElement["arcgisSketchCreate"]>;
  onarcgisSketchUpdate?: EventHandler<HTMLArcgisEditorElement["arcgisSketchUpdate"]>;
}

interface ReactArcgisElevationProfile extends Partial<Pick<ArcgisElevationProfile, 'autoDestroyDisabled' | 'hideChart' | 'hideClearButton' | 'hideLegend' | 'hideSelectButton' | 'hideSettingsButton' | 'hideSketchButton' | 'hideUniformChartScalingToggle' | 'hideUnitSelector' | 'highlightEnabled' | 'hoveredChartPosition' | 'icon' | 'input' | 'label' | 'position' | 'profiles' | 'referenceElement' | 'uniformChartScaling' | 'unit' | 'unitOptions' | 'view'>>, HTMLProps<HTMLArcgisElevationProfileElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisElevationProfileElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisElevationProfileElement["arcgisReady"]>;
}

interface ReactArcgisElevationProfileNext extends Partial<Pick<ArcgisElevationProfileNext, 'analysis' | 'autoDestroyDisabled' | 'elevationInfo' | 'geometry' | 'hideChart' | 'hideClearButton' | 'hideLegend' | 'hideSelectButton' | 'hideSettingsButton' | 'hideSketchButton' | 'hideUniformChartScalingToggle' | 'hideUnitSelector' | 'highlightEnabled' | 'hoveredPosition' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'profiles' | 'referenceElement' | 'state' | 'uniformChartScaling' | 'unitDistance' | 'unitElevation' | 'unitOptionsDistance' | 'unitOptionsElevation' | 'view'>>, HTMLProps<HTMLArcgisElevationProfileNextElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisElevationProfileNextElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisElevationProfileNextElement["arcgisReady"]>;
}

interface ReactArcgisExpand extends Partial<Pick<ArcgisExpand, 'autoCollapse' | 'autoDestroyDisabled' | 'closeOnEscDisabled' | 'collapseTooltip' | 'expanded' | 'expandIcon' | 'expandTooltip' | 'focusTrapDisabled' | 'focusTrapEnabled' | 'group' | 'iconNumber' | 'label' | 'messageOverrides' | 'mode' | 'placement' | 'position' | 'referenceElement' | 'view'>>, ArcgisExpandSetterTypes, HTMLProps<HTMLArcgisExpandElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisExpandElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisExpandElement["arcgisReady"]>;
}
type ArcgisExpandSetterTypes = ArcgisExpand["_setterTypes"]

interface ReactArcgisFeature extends Partial<Pick<ArcgisFeature, 'autoDestroyDisabled' | 'chartAnimationDisabled' | 'defaultPopupTemplateEnabled' | 'graphic' | 'headingLevel' | 'hideAttachmentsContent' | 'hideContent' | 'hideContentAttachments' | 'hideContentExpression' | 'hideContentFields' | 'hideContentMedia' | 'hideContentText' | 'hideCustomContent' | 'hideExpressionContent' | 'hideFieldsContent' | 'hideHeading' | 'hideLastEditedInfo' | 'hideLastEditInfo' | 'hideMediaContent' | 'hideTextContent' | 'hideTitle' | 'icon' | 'label' | 'location' | 'map' | 'messageOverrides' | 'position' | 'referenceElement' | 'showRelationshipContent' | 'showUtilityNetworkContent' | 'spatialReference' | 'timeZone' | 'view' | 'viewModel'>>, HTMLProps<HTMLArcgisFeatureElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisFeatureElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisFeatureElement["arcgisReady"]>;
}

interface ReactArcgisFeatureForm extends Partial<Pick<ArcgisFeatureForm, 'autoDestroyDisabled' | 'editType' | 'feature' | 'formTemplate' | 'groupDisplay' | 'headingLevel' | 'icon' | 'label' | 'layer' | 'position' | 'referenceElement' | 'timeZone'>>, HTMLProps<HTMLArcgisFeatureFormElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisFeatureFormElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisFeatureFormElement["arcgisReady"]>;
  onarcgisSubmit?: EventHandler<HTMLArcgisFeatureFormElement["arcgisSubmit"]>;
  onarcgisValueChange?: EventHandler<HTMLArcgisFeatureFormElement["arcgisValueChange"]>;
}

interface ReactArcgisFeatureTable extends Partial<Pick<ArcgisFeatureTable, 'actionColumnConfig' | 'attachmentsEnabled' | 'attributeTableTemplate' | 'autoDestroyDisabled' | 'autoRefreshDisabled' | 'columnPerformanceModeDisabled' | 'columnReorderingDisabled' | 'definitionExpression' | 'description' | 'editingEnabled' | 'filterBySelectionEnabled' | 'filterGeometry' | 'hiddenFields' | 'hideColumnDescriptions' | 'hideColumnMenuItemsSortAscending' | 'hideColumnMenuItemsSortDescending' | 'hideColumnMenus' | 'hideHeader' | 'hideLayerDropdownIcons' | 'hideMenu' | 'hideMenuItemsClearSelection' | 'hideMenuItemsDeleteSelection' | 'hideMenuItemsExportSelectionToCsv' | 'hideMenuItemsRefreshData' | 'hideMenuItemsSelectedRecordsShowAllToggle' | 'hideMenuItemsSelectedRecordsShowSelectedToggle' | 'hideMenuItemsToggleColumns' | 'hideMenuItemsZoomToSelection' | 'hideProgress' | 'hideSelectionColumn' | 'hideTooltips' | 'highlightDisabled' | 'highlightIds' | 'icon' | 'initialSize' | 'label' | 'layer' | 'layerItemId' | 'layers' | 'layerUrl' | 'maxSize' | 'menuConfig' | 'multipleSelectionDisabled' | 'multipleSortEnabled' | 'multipleSortPriority' | 'navigationScale' | 'noDataMessage' | 'objectIds' | 'outFields' | 'pageIndex' | 'pageSize' | 'paginationEnabled' | 'position' | 'referenceElement' | 'relatedRecordsEnabled' | 'relatedTable' | 'relatedTables' | 'returnGeometryEnabled' | 'returnMEnabled' | 'returnZEnabled' | 'rowHighlightIds' | 'showLayerDropdown' | 'syncTemplateOnChangesDisabled' | 'tableController' | 'tableDisabled' | 'tableParent' | 'tableTemplate' | 'timeExtent' | 'timeZone' | 'view'>>, HTMLProps<HTMLArcgisFeatureTableElement> {
  onarcgisCellClick?: EventHandler<HTMLArcgisFeatureTableElement["arcgisCellClick"]>;
  onarcgisCellKeydown?: EventHandler<HTMLArcgisFeatureTableElement["arcgisCellKeydown"]>;
  onarcgisCellPointerout?: EventHandler<HTMLArcgisFeatureTableElement["arcgisCellPointerout"]>;
  onarcgisCellPointerover?: EventHandler<HTMLArcgisFeatureTableElement["arcgisCellPointerover"]>;
  onarcgisColumnReorder?: EventHandler<HTMLArcgisFeatureTableElement["arcgisColumnReorder"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisFeatureTableElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisFeatureTableElement["arcgisReady"]>;
  onarcgisSelectionChange?: EventHandler<HTMLArcgisFeatureTableElement["arcgisSelectionChange"]>;
}

interface ReactArcgisFeatureTemplates extends Partial<Pick<ArcgisFeatureTemplates, 'autoDestroyDisabled' | 'enableListScroll' | 'filterFunction' | 'filterText' | 'groupBy' | 'headingLevel' | 'hideFilter' | 'icon' | 'label' | 'layers' | 'position' | 'referenceElement' | 'selectionMode'>>, HTMLProps<HTMLArcgisFeatureTemplatesElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisFeatureTemplatesElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisFeatureTemplatesElement["arcgisReady"]>;
  onarcgisSelect?: EventHandler<HTMLArcgisFeatureTemplatesElement["arcgisSelect"]>;
}

interface ReactArcgisFeatures extends Partial<Pick<ArcgisFeatures, 'actions' | 'autoDestroyDisabled' | 'closed' | 'collapsed' | 'content' | 'defaultPopupTemplateEnabled' | 'featureMenuOpen' | 'featureMenuTitle' | 'featureNavigationTop' | 'features' | 'featuresPerPage' | 'featuresTitle' | 'featureViewModelAbilities' | 'goToOverride' | 'headerActions' | 'heading' | 'headingLevel' | 'hideActionBar' | 'hideCloseButton' | 'hideFeatureListLayerTitle' | 'hideFeatureMenuHeading' | 'hideFeatureNavigation' | 'hideFlow' | 'hideHeading' | 'hideSpinner' | 'highlightDisabled' | 'icon' | 'includeDefaultActionsDisabled' | 'initialDisplayMode' | 'label' | 'map' | 'messageOverrides' | 'position' | 'promises' | 'referenceElement' | 'selectedFeatureIndex' | 'showCollapseButton' | 'spatialReference' | 'timeZone' | 'view' | 'viewModel' | 'visible'>>, HTMLProps<HTMLArcgisFeaturesElement> {
  onarcgisClose?: EventHandler<HTMLArcgisFeaturesElement["arcgisClose"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisFeaturesElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisFeaturesElement["arcgisReady"]>;
  onarcgisTriggerAction?: EventHandler<HTMLArcgisFeaturesElement["arcgisTriggerAction"]>;
}

interface ReactArcgisFloorFilter extends Partial<Pick<ArcgisFloorFilter, 'autoDestroyDisabled' | 'facility' | 'headingLevel' | 'icon' | 'label' | 'level' | 'longNames' | 'position' | 'referenceElement' | 'site' | 'view'>>, HTMLProps<HTMLArcgisFloorFilterElement> {
  onarcgisReady?: EventHandler<HTMLArcgisFloorFilterElement["arcgisReady"]>;
}

interface ReactArcgisFullscreen extends Partial<Pick<ArcgisFullscreen, 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'view'>>, ArcgisFullscreenSetterTypes, HTMLProps<HTMLArcgisFullscreenElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisFullscreenElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisFullscreenElement["arcgisReady"]>;
}
type ArcgisFullscreenSetterTypes = ArcgisFullscreen["_setterTypes"]

interface ReactArcgisGridControls extends Partial<Pick<ArcgisGridControls, 'autoDestroyDisabled' | 'customColor' | 'dynamicScaling' | 'gridColor' | 'hideColorSelection' | 'hideDynamicScaleToggle' | 'hideGridEnabledToggle' | 'hideGridSnapEnabledToggle' | 'hideLineIntervalInput' | 'hideNumericInputs' | 'hideOutOfScaleWarning' | 'hidePlacementButtons' | 'hideRotateWithMapToggle' | 'icon' | 'interactivePlacementState' | 'label' | 'majorLineInterval' | 'messageOverrides' | 'placementDisabled' | 'position' | 'referenceElement' | 'rotateWithMap' | 'rotation' | 'snappingEnabled' | 'snappingOptions' | 'spacing' | 'theme' | 'unit' | 'view'>>, HTMLProps<HTMLArcgisGridControlsElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisGridControlsElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisGridControlsElement["arcgisReady"]>;
}

interface ReactArcgisHistogramRangeSlider extends Partial<Pick<ArcgisHistogramRangeSlider, 'autoDestroyDisabled' | 'average' | 'barCreatedFunction' | 'bins' | 'dataLineCreatedFunction' | 'dataLines' | 'icon' | 'label' | 'labelFormatFunction' | 'max' | 'min' | 'position' | 'precision' | 'rangeType' | 'referenceElement' | 'standardDeviation' | 'standardDeviationCount' | 'values'>>, ArcgisHistogramRangeSliderSetterTypes, HTMLProps<HTMLArcgisHistogramRangeSliderElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisHistogramRangeSliderElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisHistogramRangeSliderElement["arcgisReady"]>;
}
type ArcgisHistogramRangeSliderSetterTypes = ArcgisHistogramRangeSlider["_setterTypes"]

interface ReactArcgisHome extends Partial<Pick<ArcgisHome, 'autoDestroyDisabled' | 'goToOverride' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'view' | 'viewpoint'>>, HTMLProps<HTMLArcgisHomeElement> {
  onarcgisGo?: EventHandler<HTMLArcgisHomeElement["arcgisGo"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisHomeElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisHomeElement["arcgisReady"]>;
}

interface ReactArcgisLayerList extends Partial<Pick<ArcgisLayerList, 'autoDestroyDisabled' | 'catalogOptions' | 'closed' | 'collapsed' | 'dragEnabled' | 'filterPlaceholder' | 'filterPredicate' | 'filterText' | 'headingLevel' | 'hideCatalogLayerList' | 'hideFlow' | 'hideStatusIndicators' | 'icon' | 'knowledgeGraphOptions' | 'label' | 'listItemCreatedFunction' | 'minDragEnabledItems' | 'minFilterItems' | 'position' | 'referenceElement' | 'selectedItems' | 'selectionMode' | 'showCloseButton' | 'showCollapseButton' | 'showErrors' | 'showFilter' | 'showHeading' | 'showTemporaryLayerIndicators' | 'view' | 'visibilityAppearance'>>, HTMLProps<HTMLArcgisLayerListElement> {
  onarcgisClose?: EventHandler<HTMLArcgisLayerListElement["arcgisClose"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisLayerListElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisLayerListElement["arcgisReady"]>;
  onarcgisTriggerAction?: EventHandler<HTMLArcgisLayerListElement["arcgisTriggerAction"]>;
}

interface ReactArcgisLegend extends Partial<Pick<ArcgisLegend, 'activeLayerInfos' | 'autoDestroyDisabled' | 'basemapLegendVisible' | 'cardStyleLayout' | 'headingLevel' | 'hideLayersNotInCurrentView' | 'icon' | 'ignoreLayerVisibility' | 'label' | 'layerInfos' | 'legendStyle' | 'messageOverrides' | 'position' | 'referenceElement' | 'respectLayerDefinitionExpression' | 'respectLayerVisibilityDisabled' | 'view'>>, HTMLProps<HTMLArcgisLegendElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisLegendElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisLegendElement["arcgisReady"]>;
}

interface ReactArcgisLineOfSight extends Partial<Pick<ArcgisLineOfSight, 'analysis' | 'autoDestroyDisabled' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisLineOfSightElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisLineOfSightElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisLineOfSightElement["arcgisReady"]>;
}

interface ReactArcgisLinkChart extends Partial<Pick<ArcgisLinkChart, 'analyses' | 'animationsDisabled' | 'aria' | 'autoDestroyDisabled' | 'background' | 'basemap' | 'basemapView' | 'constraints' | 'displayFilterDisabled' | 'extent' | 'fatalError' | 'graphics' | 'highlightOptions' | 'highlights' | 'itemId' | 'loadErrorSources' | 'map' | 'navigation' | 'padding' | 'popup' | 'popupDisabled' | 'resizeAlign' | 'rotation' | 'scale' | 'spatialReference' | 'theme' | 'timeExtent' | 'timeZone' | 'viewpoint' | 'zoom'>>, ArcgisLinkChartSetterTypes, HTMLProps<HTMLArcgisLinkChartElement> {
  onarcgisLoadError?: EventHandler<HTMLArcgisLinkChartElement["arcgisLoadError"]>;
  onarcgisViewAnalysisViewCreate?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewAnalysisViewCreate"]>;
  onarcgisViewAnalysisViewCreateError?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewAnalysisViewCreateError"]>;
  onarcgisViewAnalysisViewDestroy?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewAnalysisViewDestroy"]>;
  onarcgisViewChange?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewChange"]>;
  onarcgisViewClick?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewClick"]>;
  onarcgisViewDoubleClick?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewDoubleClick"]>;
  onarcgisViewDrag?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewDrag"]>;
  onarcgisViewHold?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewHold"]>;
  onarcgisViewImmediateClick?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewImmediateClick"]>;
  onarcgisViewImmediateDoubleClick?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewImmediateDoubleClick"]>;
  onarcgisViewKeyDown?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewKeyDown"]>;
  onarcgisViewKeyUp?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewKeyUp"]>;
  onarcgisViewLayerviewCreate?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewLayerviewCreate"]>;
  onarcgisViewLayerviewCreateError?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewLayerviewCreateError"]>;
  onarcgisViewLayerviewDestroy?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewLayerviewDestroy"]>;
  onarcgisViewMouseWheel?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewMouseWheel"]>;
  onarcgisViewPointerDown?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewPointerDown"]>;
  onarcgisViewPointerEnter?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewPointerEnter"]>;
  onarcgisViewPointerLeave?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewPointerLeave"]>;
  onarcgisViewPointerMove?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewPointerMove"]>;
  onarcgisViewPointerUp?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewPointerUp"]>;
  onarcgisViewReadyChange?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewReadyChange"]>;
  onarcgisViewReadyError?: EventHandler<HTMLArcgisLinkChartElement["arcgisViewReadyError"]>;
}
type ArcgisLinkChartSetterTypes = ArcgisLinkChart["_setterTypes"]

interface ReactArcgisLinkChartLayoutSwitcher extends Partial<Pick<ArcgisLinkChartLayoutSwitcher, 'appearance' | 'autoDestroyDisabled' | 'closeOnSelectDisabled' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'preventExtentUpdate' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisLinkChartLayoutSwitcherElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisLinkChartLayoutSwitcherElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisLinkChartLayoutSwitcherElement["arcgisReady"]>;
  onarcgisSwitchLayout?: EventHandler<HTMLArcgisLinkChartLayoutSwitcherElement["arcgisSwitchLayout"]>;
}

interface ReactArcgisLocate extends Partial<Pick<ArcgisLocate, 'autoDestroyDisabled' | 'geolocationOptions' | 'goToLocationDisabled' | 'goToOverride' | 'graphic' | 'icon' | 'label' | 'messageOverrides' | 'popupDisabled' | 'position' | 'referenceElement' | 'scale' | 'state' | 'view'>>, HTMLProps<HTMLArcgisLocateElement> {
  onarcgisError?: EventHandler<HTMLArcgisLocateElement["arcgisError"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisLocateElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisLocateElement["arcgisReady"]>;
  onarcgisSuccess?: EventHandler<HTMLArcgisLocateElement["arcgisSuccess"]>;
}

interface ReactArcgisMap extends Partial<Pick<ArcgisMap, 'analyses' | 'animationsDisabled' | 'aria' | 'autoDestroyDisabled' | 'background' | 'basemap' | 'basemapView' | 'constraints' | 'displayFilterDisabled' | 'extent' | 'fatalError' | 'floors' | 'graphics' | 'highlightOptions' | 'highlights' | 'ipsInfo' | 'itemId' | 'loadErrorSources' | 'map' | 'navigation' | 'padding' | 'popup' | 'popupDisabled' | 'resizeAlign' | 'rotation' | 'scale' | 'spatialReference' | 'spatialReferenceLocked' | 'theme' | 'timeExtent' | 'timeZone' | 'viewpoint' | 'zoom'>>, ArcgisMapSetterTypes, HTMLProps<HTMLArcgisMapElement> {
  onarcgisLoadError?: EventHandler<HTMLArcgisMapElement["arcgisLoadError"]>;
  onarcgisViewAnalysisViewCreate?: EventHandler<HTMLArcgisMapElement["arcgisViewAnalysisViewCreate"]>;
  onarcgisViewAnalysisViewCreateError?: EventHandler<HTMLArcgisMapElement["arcgisViewAnalysisViewCreateError"]>;
  onarcgisViewAnalysisViewDestroy?: EventHandler<HTMLArcgisMapElement["arcgisViewAnalysisViewDestroy"]>;
  onarcgisViewChange?: EventHandler<HTMLArcgisMapElement["arcgisViewChange"]>;
  onarcgisViewClick?: EventHandler<HTMLArcgisMapElement["arcgisViewClick"]>;
  onarcgisViewDoubleClick?: EventHandler<HTMLArcgisMapElement["arcgisViewDoubleClick"]>;
  onarcgisViewDrag?: EventHandler<HTMLArcgisMapElement["arcgisViewDrag"]>;
  onarcgisViewHold?: EventHandler<HTMLArcgisMapElement["arcgisViewHold"]>;
  onarcgisViewImmediateClick?: EventHandler<HTMLArcgisMapElement["arcgisViewImmediateClick"]>;
  onarcgisViewImmediateDoubleClick?: EventHandler<HTMLArcgisMapElement["arcgisViewImmediateDoubleClick"]>;
  onarcgisViewKeyDown?: EventHandler<HTMLArcgisMapElement["arcgisViewKeyDown"]>;
  onarcgisViewKeyUp?: EventHandler<HTMLArcgisMapElement["arcgisViewKeyUp"]>;
  onarcgisViewLayerviewCreate?: EventHandler<HTMLArcgisMapElement["arcgisViewLayerviewCreate"]>;
  onarcgisViewLayerviewCreateError?: EventHandler<HTMLArcgisMapElement["arcgisViewLayerviewCreateError"]>;
  onarcgisViewLayerviewDestroy?: EventHandler<HTMLArcgisMapElement["arcgisViewLayerviewDestroy"]>;
  onarcgisViewMouseWheel?: EventHandler<HTMLArcgisMapElement["arcgisViewMouseWheel"]>;
  onarcgisViewPointerDown?: EventHandler<HTMLArcgisMapElement["arcgisViewPointerDown"]>;
  onarcgisViewPointerEnter?: EventHandler<HTMLArcgisMapElement["arcgisViewPointerEnter"]>;
  onarcgisViewPointerLeave?: EventHandler<HTMLArcgisMapElement["arcgisViewPointerLeave"]>;
  onarcgisViewPointerMove?: EventHandler<HTMLArcgisMapElement["arcgisViewPointerMove"]>;
  onarcgisViewPointerUp?: EventHandler<HTMLArcgisMapElement["arcgisViewPointerUp"]>;
  onarcgisViewReadyChange?: EventHandler<HTMLArcgisMapElement["arcgisViewReadyChange"]>;
  onarcgisViewReadyError?: EventHandler<HTMLArcgisMapElement["arcgisViewReadyError"]>;
}
type ArcgisMapSetterTypes = ArcgisMap["_setterTypes"]

interface ReactArcgisMeasurement extends Partial<Pick<ArcgisMeasurement, 'activeTool' | 'areaUnit' | 'autoDestroyDisabled' | 'icon' | 'label' | 'linearUnit' | 'position' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisMeasurementElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisMeasurementElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisMeasurementElement["arcgisReady"]>;
}

interface ReactArcgisNavigationToggle extends Partial<Pick<ArcgisNavigationToggle, 'autoDestroyDisabled' | 'icon' | 'label' | 'layout' | 'messageOverrides' | 'navigationMode' | 'position' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisNavigationToggleElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisNavigationToggleElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisNavigationToggleElement["arcgisReady"]>;
}

interface ReactArcgisOrientedImageryViewer extends Partial<Pick<ArcgisOrientedImageryViewer, 'autoDestroyDisabled' | 'currentCoverageVisible' | 'dataCaptureEnabled' | 'disabled' | 'galleryOpened' | 'icon' | 'imageEnhancementToolActive' | 'imageOverlaysOpened' | 'isAdditionalCoverageVisible' | 'isAdditionalPointSourcesVisible' | 'label' | 'layer' | 'mapImageConversionToolState' | 'navigationToolActive' | 'orientedImageryLayerItemId' | 'position' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisOrientedImageryViewerElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisOrientedImageryViewerElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisOrientedImageryViewerElement["arcgisReady"]>;
}

interface ReactArcgisPlacement extends Partial<Pick<ArcgisPlacement, 'position' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisPlacementElement> {
  onarcgisReady?: EventHandler<HTMLArcgisPlacementElement["arcgisReady"]>;
}

interface ReactArcgisPopup extends Partial<Pick<ArcgisPopup, 'actions' | 'alignment' | 'autoCloseEnabled' | 'autoDestroyDisabled' | 'content' | 'defaultPopupTemplateEnabled' | 'dockEnabled' | 'dockOptions' | 'featureMenuOpen' | 'features' | 'goToOverride' | 'heading' | 'headingLevel' | 'hideActionBar' | 'hideCloseButton' | 'hideCollapseButton' | 'hideFeatureListLayerTitle' | 'hideFeatureMenuHeading' | 'hideFeatureNavigation' | 'hideHeading' | 'hideSpinner' | 'highlightDisabled' | 'includeDefaultActionsDisabled' | 'initialDisplayMode' | 'label' | 'location' | 'messageOverrides' | 'promises' | 'referenceElement' | 'selectedFeatureIndex' | 'view' | 'visible'>>, HTMLProps<HTMLArcgisPopupElement> {
  onarcgisClose?: EventHandler<HTMLArcgisPopupElement["arcgisClose"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisPopupElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisPopupElement["arcgisReady"]>;
  onarcgisTriggerAction?: EventHandler<HTMLArcgisPopupElement["arcgisTriggerAction"]>;
}

interface ReactArcgisPrint extends Partial<Pick<ArcgisPrint, 'allowedFormats' | 'allowedFormatsForSaving' | 'allowedLayouts' | 'autoDestroyDisabled' | 'browseTemplateButtonOnClick' | 'excludeDefaultTemplates' | 'excludeOrganizationTemplates' | 'exportedLinks' | 'extraParameters' | 'headingLevel' | 'hideHeader' | 'icon' | 'label' | 'messageOverrides' | 'outSpatialReference' | 'portal' | 'position' | 'printServiceUrl' | 'referenceElement' | 'saveAsButtonCallback' | 'showPrintAreaEnabled' | 'templateCustomTextElements' | 'templateOptions' | 'view'>>, HTMLProps<HTMLArcgisPrintElement> {
  onarcgisComplete?: EventHandler<HTMLArcgisPrintElement["arcgisComplete"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisPrintElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisPrintElement["arcgisReady"]>;
  onarcgisSubmit?: EventHandler<HTMLArcgisPrintElement["arcgisSubmit"]>;
}

interface ReactArcgisScaleBar extends Partial<Pick<ArcgisScaleBar, 'autoDestroyDisabled' | 'barStyle' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'unit' | 'view'>>, HTMLProps<HTMLArcgisScaleBarElement> {
  onarcgisReady?: EventHandler<HTMLArcgisScaleBarElement["arcgisReady"]>;
}

interface ReactArcgisScaleRangeSlider extends Partial<Pick<ArcgisScaleRangeSlider, 'autoDestroyDisabled' | 'disabled' | 'hidePreview' | 'hideScaleMenusMaxScaleMenu' | 'hideScaleMenusMinScaleMenu' | 'icon' | 'label' | 'layer' | 'maxScale' | 'maxScaleLimit' | 'minScale' | 'minScaleLimit' | 'mode' | 'position' | 'referenceElement' | 'region' | 'showWorldValue' | 'view'>>, HTMLProps<HTMLArcgisScaleRangeSliderElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisScaleRangeSliderElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisScaleRangeSliderElement["arcgisReady"]>;
}

interface ReactArcgisScene extends Partial<Pick<ArcgisScene, 'alphaCompositingEnabled' | 'analyses' | 'aria' | 'autoDestroyDisabled' | 'basemap' | 'basemapView' | 'camera' | 'cameraFov' | 'cameraHeading' | 'cameraPosition' | 'cameraTilt' | 'clippingArea' | 'constraints' | 'displayFilterDisabled' | 'environment' | 'extent' | 'fatalError' | 'floors' | 'focusAreas' | 'graphics' | 'highlightOptions' | 'highlights' | 'itemId' | 'loadErrorSources' | 'map' | 'navigation' | 'padding' | 'popup' | 'popupDisabled' | 'qualityProfile' | 'scale' | 'spatialReference' | 'theme' | 'timeExtent' | 'viewingMode' | 'viewpoint' | 'zoom'>>, ArcgisSceneSetterTypes, HTMLProps<HTMLArcgisSceneElement> {
  onarcgisLoadError?: EventHandler<HTMLArcgisSceneElement["arcgisLoadError"]>;
  onarcgisViewAnalysisViewCreate?: EventHandler<HTMLArcgisSceneElement["arcgisViewAnalysisViewCreate"]>;
  onarcgisViewAnalysisViewCreateError?: EventHandler<HTMLArcgisSceneElement["arcgisViewAnalysisViewCreateError"]>;
  onarcgisViewAnalysisViewDestroy?: EventHandler<HTMLArcgisSceneElement["arcgisViewAnalysisViewDestroy"]>;
  onarcgisViewChange?: EventHandler<HTMLArcgisSceneElement["arcgisViewChange"]>;
  onarcgisViewClick?: EventHandler<HTMLArcgisSceneElement["arcgisViewClick"]>;
  onarcgisViewDoubleClick?: EventHandler<HTMLArcgisSceneElement["arcgisViewDoubleClick"]>;
  onarcgisViewDrag?: EventHandler<HTMLArcgisSceneElement["arcgisViewDrag"]>;
  onarcgisViewHold?: EventHandler<HTMLArcgisSceneElement["arcgisViewHold"]>;
  onarcgisViewImmediateClick?: EventHandler<HTMLArcgisSceneElement["arcgisViewImmediateClick"]>;
  onarcgisViewImmediateDoubleClick?: EventHandler<HTMLArcgisSceneElement["arcgisViewImmediateDoubleClick"]>;
  onarcgisViewKeyDown?: EventHandler<HTMLArcgisSceneElement["arcgisViewKeyDown"]>;
  onarcgisViewKeyUp?: EventHandler<HTMLArcgisSceneElement["arcgisViewKeyUp"]>;
  onarcgisViewLayerviewCreate?: EventHandler<HTMLArcgisSceneElement["arcgisViewLayerviewCreate"]>;
  onarcgisViewLayerviewCreateError?: EventHandler<HTMLArcgisSceneElement["arcgisViewLayerviewCreateError"]>;
  onarcgisViewLayerviewDestroy?: EventHandler<HTMLArcgisSceneElement["arcgisViewLayerviewDestroy"]>;
  onarcgisViewMouseWheel?: EventHandler<HTMLArcgisSceneElement["arcgisViewMouseWheel"]>;
  onarcgisViewPointerDown?: EventHandler<HTMLArcgisSceneElement["arcgisViewPointerDown"]>;
  onarcgisViewPointerEnter?: EventHandler<HTMLArcgisSceneElement["arcgisViewPointerEnter"]>;
  onarcgisViewPointerLeave?: EventHandler<HTMLArcgisSceneElement["arcgisViewPointerLeave"]>;
  onarcgisViewPointerMove?: EventHandler<HTMLArcgisSceneElement["arcgisViewPointerMove"]>;
  onarcgisViewPointerUp?: EventHandler<HTMLArcgisSceneElement["arcgisViewPointerUp"]>;
  onarcgisViewReadyChange?: EventHandler<HTMLArcgisSceneElement["arcgisViewReadyChange"]>;
  onarcgisViewReadyError?: EventHandler<HTMLArcgisSceneElement["arcgisViewReadyError"]>;
}
type ArcgisSceneSetterTypes = ArcgisScene["_setterTypes"]

interface ReactArcgisSearch extends Partial<Pick<ArcgisSearch, 'activeMenu' | 'activeSourceIndex' | 'allPlaceholder' | 'autoDestroyDisabled' | 'autoNavigateDisabled' | 'autoSelectDisabled' | 'disabled' | 'goToOverride' | 'icon' | 'includeDefaultSourcesDisabled' | 'label' | 'locationDisabled' | 'maxResults' | 'maxSuggestions' | 'messageOverrides' | 'minSuggestCharacters' | 'popupDisabled' | 'popupTemplate' | 'portal' | 'position' | 'referenceElement' | 'resultGraphicDisabled' | 'searchAllDisabled' | 'searchTerm' | 'sources' | 'suggestionsDisabled' | 'view'>>, HTMLProps<HTMLArcgisSearchElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisSearchElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisSearchElement["arcgisReady"]>;
  onarcgisSearchClear?: EventHandler<HTMLArcgisSearchElement["arcgisSearchClear"]>;
  onarcgisSearchComplete?: EventHandler<HTMLArcgisSearchElement["arcgisSearchComplete"]>;
  onarcgisSearchStart?: EventHandler<HTMLArcgisSearchElement["arcgisSearchStart"]>;
  onarcgisSelectResult?: EventHandler<HTMLArcgisSearchElement["arcgisSelectResult"]>;
  onarcgisSuggestComplete?: EventHandler<HTMLArcgisSearchElement["arcgisSuggestComplete"]>;
  onarcgisSuggestStart?: EventHandler<HTMLArcgisSearchElement["arcgisSuggestStart"]>;
}

interface ReactArcgisSearchResultRenderer extends Partial<Pick<ArcgisSearchResultRenderer, 'autoDestroyDisabled' | 'messages' | 'viewModel'>>, HTMLProps<HTMLArcgisSearchResultRendererElement> {
  onarcgisReady?: EventHandler<HTMLArcgisSearchResultRendererElement["arcgisReady"]>;
}

interface ReactArcgisShadowCast extends Partial<Pick<ArcgisShadowCast, 'autoDestroyDisabled' | 'discreteOptions' | 'durationOptions' | 'endTimeOfDay' | 'headingLevel' | 'hideColorPicker' | 'hideDatePicker' | 'hideThresholdContext' | 'hideThresholdContextColor' | 'hideThresholdContextTimeInterval' | 'hideThresholdContextToggle' | 'hideTimeRangeSlider' | 'hideTimezone' | 'hideTooltip' | 'hideVisualizationOptions' | 'icon' | 'label' | 'position' | 'referenceElement' | 'startTimeOfDay' | 'thresholdOptions' | 'utcOffset' | 'view' | 'visualizationType'>>, ArcgisShadowCastSetterTypes, HTMLProps<HTMLArcgisShadowCastElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisShadowCastElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisShadowCastElement["arcgisReady"]>;
}
type ArcgisShadowCastSetterTypes = ArcgisShadowCast["_setterTypes"]

interface ReactArcgisSketch extends Partial<Pick<ArcgisSketch, 'autoDestroyDisabled' | 'availableCreateTools' | 'creationMode' | 'defaultCreateOptions' | 'defaultGraphicsLayerDisabled' | 'defaultUpdateOptions' | 'hideCreateToolsCircle' | 'hideCreateToolsMultipoint' | 'hideCreateToolsPoint' | 'hideCreateToolsPolygon' | 'hideCreateToolsPolyline' | 'hideCreateToolsRectangle' | 'hideDeleteButton' | 'hideDuplicateButton' | 'hideLabelsToggle' | 'hideSelectionCountLabel' | 'hideSelectionToolsLassoSelection' | 'hideSelectionToolsRectangleSelection' | 'hideSettingsMenu' | 'hideSnappingControls' | 'hideSnappingControlsElementsEnabledToggle' | 'hideSnappingControlsElementsFeatureEnabledToggle' | 'hideSnappingControlsElementsLayerList' | 'hideSnappingControlsElementsSelfEnabledToggle' | 'hideTooltipsToggle' | 'hideUndoRedoMenu' | 'icon' | 'label' | 'labelOptions' | 'layer' | 'layout' | 'pointSymbol' | 'polygonSymbol' | 'polylineSymbol' | 'position' | 'referenceElement' | 'scale' | 'showCreateToolsFreehandPolygon' | 'showCreateToolsFreehandPolyline' | 'showSnappingControlsElementsHeader' | 'snappingOptions' | 'toolbarKind' | 'tooltipOptions' | 'view'>>, HTMLProps<HTMLArcgisSketchElement> {
  onarcgisCreate?: EventHandler<HTMLArcgisSketchElement["arcgisCreate"]>;
  onarcgisDelete?: EventHandler<HTMLArcgisSketchElement["arcgisDelete"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisSketchElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisSketchElement["arcgisReady"]>;
  onarcgisRedo?: EventHandler<HTMLArcgisSketchElement["arcgisRedo"]>;
  onarcgisUndo?: EventHandler<HTMLArcgisSketchElement["arcgisUndo"]>;
  onarcgisUpdate?: EventHandler<HTMLArcgisSketchElement["arcgisUpdate"]>;
}

interface ReactArcgisSlice extends Partial<Pick<ArcgisSlice, 'analysis' | 'autoDestroyDisabled' | 'excludedLayers' | 'excludeGroundSurface' | 'headingLevel' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'shape' | 'tiltEnabled' | 'view'>>, HTMLProps<HTMLArcgisSliceElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisSliceElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisSliceElement["arcgisReady"]>;
}

interface ReactArcgisSwipe extends Partial<Pick<ArcgisSwipe, 'autoDestroyDisabled' | 'direction' | 'disabled' | 'hideDivider' | 'hideHandle' | 'icon' | 'label' | 'leadingLayers' | 'messageOverrides' | 'position' | 'referenceElement' | 'swipePosition' | 'trailingLayers' | 'view'>>, HTMLProps<HTMLArcgisSwipeElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisSwipeElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisSwipeElement["arcgisReady"]>;
  onarcgisSwipeChange?: EventHandler<HTMLArcgisSwipeElement["arcgisSwipeChange"]>;
  onarcgisSwipeInput?: EventHandler<HTMLArcgisSwipeElement["arcgisSwipeInput"]>;
}

interface ReactArcgisTableList extends Partial<Pick<ArcgisTableList, 'autoDestroyDisabled' | 'closed' | 'collapsed' | 'dragEnabled' | 'filterPlaceholder' | 'filterPredicate' | 'filterText' | 'hideFlow' | 'hideStatusIndicators' | 'icon' | 'label' | 'listItemCreatedFunction' | 'map' | 'minDragEnabledItems' | 'minFilterItems' | 'position' | 'referenceElement' | 'selectedItems' | 'selectionMode' | 'showCloseButton' | 'showCollapseButton' | 'showErrors' | 'showFilter' | 'showHeading' | 'showTemporaryTableIndicators' | 'view'>>, HTMLProps<HTMLArcgisTableListElement> {
  onarcgisClose?: EventHandler<HTMLArcgisTableListElement["arcgisClose"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisTableListElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisTableListElement["arcgisReady"]>;
  onarcgisTriggerAction?: EventHandler<HTMLArcgisTableListElement["arcgisTriggerAction"]>;
}

interface ReactArcgisTimeSlider extends Partial<Pick<ArcgisTimeSlider, 'actions' | 'autoDestroyDisabled' | 'disabled' | 'fullTimeExtent' | 'icon' | 'label' | 'layout' | 'loop' | 'mode' | 'playRate' | 'position' | 'referenceElement' | 'stops' | 'tickConfigs' | 'timeExtent' | 'timeVisible' | 'timeZone' | 'view'>>, HTMLProps<HTMLArcgisTimeSliderElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisTimeSliderElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisTimeSliderElement["arcgisReady"]>;
  onarcgisTriggerAction?: EventHandler<HTMLArcgisTimeSliderElement["arcgisTriggerAction"]>;
}

interface ReactArcgisTimeZoneLabel extends Partial<Pick<ArcgisTimeZoneLabel, 'disabled' | 'expanded' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'view'>>, ArcgisTimeZoneLabelSetterTypes, HTMLProps<HTMLArcgisTimeZoneLabelElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisTimeZoneLabelElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisTimeZoneLabelElement["arcgisReady"]>;
}
type ArcgisTimeZoneLabelSetterTypes = ArcgisTimeZoneLabel["_setterTypes"]

interface ReactArcgisTrack extends Partial<Pick<ArcgisTrack, 'autoDestroyDisabled' | 'error' | 'geolocationOptions' | 'goToLocationDisabled' | 'goToOverride' | 'graphic' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'positionFilterFunction' | 'referenceElement' | 'rotationDisabled' | 'scale' | 'view'>>, HTMLProps<HTMLArcgisTrackElement> {
  onarcgisComplete?: EventHandler<HTMLArcgisTrackElement["arcgisComplete"]>;
  onarcgisError?: EventHandler<HTMLArcgisTrackElement["arcgisError"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisTrackElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisTrackElement["arcgisReady"]>;
}

interface ReactArcgisUtilityNetworkAssociations extends Partial<Pick<ArcgisUtilityNetworkAssociations, 'autoDestroyDisabled' | 'autoRefreshAssociationsDisabled' | 'connectivityAssociationsLineSymbol' | 'hideConnectivityAssociationsSettingsColorPicker' | 'hideConnectivityAssociationsSettingsStylePicker' | 'hideConnectivityAssociationsSettingsWidthInput' | 'hideStructuralAttachmentAssociationsSettingsColorPicker' | 'hideStructuralAttachmentAssociationsSettingsStylePicker' | 'hideStructuralAttachmentAssociationsSettingsWidthInput' | 'icon' | 'includeConnectivityAssociationsDisabled' | 'includeStructuralAttachmentAssociationsDisabled' | 'label' | 'maxAllowableAssociations' | 'maxAllowableAssociationsSliderMax' | 'maxAllowableAssociationsSliderMin' | 'maxAllowableAssociationsSliderStep' | 'position' | 'referenceElement' | 'showArrowsConnectivity' | 'showArrowsStructuralAttachment' | 'showAssociationsEnabled' | 'showConnectivityAssociationsSettingsArrowsToggle' | 'showConnectivityAssociationsSettingsCapSelect' | 'showMaxAllowableAssociationsSlider' | 'showStructuralAttachmentAssociationsSettingsArrowsToggle' | 'showStructuralAttachmentAssociationsSettingsCapSelect' | 'structuralAttachmentAssociationsLineSymbol' | 'utilityNetwork' | 'view' | 'visibleElementsConnectivityAssociationsSettingsArrowsToggle' | 'visibleElementsConnectivityAssociationsSettingsCapSelect' | 'visibleElementsConnectivityAssociationsSettingsColorPicker' | 'visibleElementsConnectivityAssociationsSettingsStylePicker' | 'visibleElementsConnectivityAssociationsSettingsWidthInput' | 'visibleElementsMaxAllowableAssociationsSlider' | 'visibleElementsStructuralAttachmentAssociationsSettingsArrowsToggle' | 'visibleElementsStructuralAttachmentAssociationsSettingsCapSelect' | 'visibleElementsStructuralAttachmentAssociationsSettingsColorPicker' | 'visibleElementsStructuralAttachmentAssociationsSettingsStylePicker' | 'visibleElementsStructuralAttachmentAssociationsSettingsWidthInput'>>, HTMLProps<HTMLArcgisUtilityNetworkAssociationsElement> {
  onarcgisReady?: EventHandler<HTMLArcgisUtilityNetworkAssociationsElement["arcgisReady"]>;
}

interface ReactArcgisUtilityNetworkTrace extends Partial<Pick<ArcgisUtilityNetworkTrace, 'autoDestroyDisabled' | 'defaultGraphicColor' | 'disabled' | 'enableResultArea' | 'flags' | 'icon' | 'inputSettings' | 'label' | 'position' | 'referenceElement' | 'resultAreaProperties' | 'selectedTraces' | 'selectOnCompleteDisabled' | 'showGraphicsOnCompleteDisabled' | 'showSelectionAttributesDisabled' | 'view'>>, HTMLProps<HTMLArcgisUtilityNetworkTraceElement> {
  onarcgisAddFlag?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisAddFlag"]>;
  onarcgisAddFlagComplete?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisAddFlagComplete"]>;
  onarcgisAddFlagError?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisAddFlagError"]>;
  onarcgisAddResultArea?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisAddResultArea"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisReady"]>;
  onarcgisRemoveResultArea?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisRemoveResultArea"]>;
}

interface ReactArcgisUtilityNetworkTraceAnalysis extends Partial<Pick<ArcgisUtilityNetworkTraceAnalysis, 'allowEditingDisabled' | 'autoDestroyDisabled' | 'closable' | 'icon' | 'label' | 'messageOverrides' | 'mode' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisUtilityNetworkTraceAnalysisElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisUtilityNetworkTraceAnalysisElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisUtilityNetworkTraceAnalysisElement["arcgisReady"]>;
}

interface ReactArcgisUtilityNetworkResultFeatureList extends Required<Pick<ArcgisUtilityNetworkResultFeatureList, 'elements' | 'layers' | 'utilityNetwork'>>, Partial<Pick<ArcgisUtilityNetworkResultFeatureList, 'messageOverrides'>>, HTMLProps<HTMLArcgisUtilityNetworkResultFeatureListElement> {
  onarcgisSelectedLayerChange?: EventHandler<HTMLArcgisUtilityNetworkResultFeatureListElement["arcgisSelectedLayerChange"]>;
}

interface ReactArcgisUtilityNetworkTraceInputs extends Required<Pick<ArcgisUtilityNetworkTraceInputs, 'view'>>, Partial<Pick<ArcgisUtilityNetworkTraceInputs, 'referenceElement' | 'selectedTraceConfiguration' | 'selectedUtilityNetwork'>>, HTMLProps<HTMLArcgisUtilityNetworkTraceInputsElement> {
  onarcgisTraceInputsChange?: EventHandler<HTMLArcgisUtilityNetworkTraceInputsElement["arcgisTraceInputsChange"]>;
  onarcgisUtilityNetworkChange?: EventHandler<HTMLArcgisUtilityNetworkTraceInputsElement["arcgisUtilityNetworkChange"]>;
}

interface ReactArcgisUtilityNetworkTraceResults extends Partial<Pick<ArcgisUtilityNetworkTraceResults, 'layers' | 'messageOverrides' | 'traceConfigTitle' | 'traceResult' | 'utilityNetwork'>>, HTMLProps<HTMLArcgisUtilityNetworkTraceResultsElement> {
  onarcgisSelectedResultTypeChange?: EventHandler<HTMLArcgisUtilityNetworkTraceResultsElement["arcgisSelectedResultTypeChange"]>;
}

interface ReactArcgisUtilityNetworkValidateTopology extends Partial<Pick<ArcgisUtilityNetworkValidateTopology, 'autoDestroyDisabled' | 'extentToValidate' | 'icon' | 'label' | 'position' | 'referenceElement' | 'utilityNetwork' | 'view'>>, HTMLProps<HTMLArcgisUtilityNetworkValidateTopologyElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisUtilityNetworkValidateTopologyElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisUtilityNetworkValidateTopologyElement["arcgisReady"]>;
}

interface ReactArcgisValuePicker extends Partial<Pick<ArcgisValuePicker, 'autoDestroyDisabled' | 'canNext' | 'canPlay' | 'canPrevious' | 'caption' | 'component' | 'hideNextButton' | 'hidePlayButton' | 'hidePreviousButton' | 'icon' | 'label' | 'layout' | 'loop' | 'playRate' | 'position' | 'referenceElement' | 'values'>>, HTMLProps<HTMLArcgisValuePickerElement> {
  onarcgisAnimate?: EventHandler<HTMLArcgisValuePickerElement["arcgisAnimate"]>;
  onarcgisNext?: EventHandler<HTMLArcgisValuePickerElement["arcgisNext"]>;
  onarcgisPause?: EventHandler<HTMLArcgisValuePickerElement["arcgisPause"]>;
  onarcgisPlay?: EventHandler<HTMLArcgisValuePickerElement["arcgisPlay"]>;
  onarcgisPrevious?: EventHandler<HTMLArcgisValuePickerElement["arcgisPrevious"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisValuePickerElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisValuePickerElement["arcgisReady"]>;
}

interface ReactArcgisVersionManagement extends Partial<Pick<ArcgisVersionManagement, 'allowEditingDisabled' | 'autoDestroyDisabled' | 'closable' | 'icon' | 'initialVersionInfos' | 'label' | 'messageOverrides' | 'mode' | 'pageSize' | 'position' | 'referenceElement' | 'versioningStates' | 'view'>>, HTMLProps<HTMLArcgisVersionManagementElement> {
  onarcgisReady?: EventHandler<HTMLArcgisVersionManagementElement["arcgisReady"]>;
  onarcgisVersioningStateChanged?: EventHandler<HTMLArcgisVersionManagementElement["arcgisVersioningStateChanged"]>;
}

interface ReactArcgisVideo extends Partial<Pick<ArcgisVideo, 'aria' | 'autoDestroyDisabled' | 'layer' | 'map'>>, HTMLProps<HTMLArcgisVideoElement> {
  onarcgisViewReadyChange?: EventHandler<HTMLArcgisVideoElement["arcgisViewReadyChange"]>;
}

interface ReactArcgisVideoPlayer extends Partial<Pick<ArcgisVideoPlayer, 'autoDestroyDisabled' | 'followingMode' | 'hideHeader' | 'icon' | 'label' | 'layer' | 'messageOverrides' | 'position' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisVideoPlayerElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisVideoPlayerElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisVideoPlayerElement["arcgisReady"]>;
  onarcgisVideoReady?: EventHandler<HTMLArcgisVideoPlayerElement["arcgisVideoReady"]>;
}

interface ReactArcgisWeather extends Partial<Pick<ArcgisWeather, 'autoDestroyDisabled' | 'headingLevel' | 'hideHeader' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement' | 'view'>>, HTMLProps<HTMLArcgisWeatherElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisWeatherElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisWeatherElement["arcgisReady"]>;
}

interface ReactArcgisZoom extends Partial<Pick<ArcgisZoom, 'autoDestroyDisabled' | 'icon' | 'label' | 'layout' | 'messageOverrides' | 'position' | 'referenceElement' | 'state' | 'view'>>, HTMLProps<HTMLArcgisZoomElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisZoomElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisZoomElement["arcgisReady"]>;
}

declare module "react" {
  namespace JSX {
    interface IntrinsicElements {
      "arcgis-area-measurement-2d": ReactArcgisAreaMeasurement2d;
      "arcgis-area-measurement-3d": ReactArcgisAreaMeasurement3d;
      "arcgis-attachments": ReactArcgisAttachments;
      "arcgis-basemap-gallery": ReactArcgisBasemapGallery;
      "arcgis-basemap-layer-list": ReactArcgisBasemapLayerList;
      "arcgis-basemap-toggle": ReactArcgisBasemapToggle;
      "arcgis-bookmarks": ReactArcgisBookmarks;
      "arcgis-building-explorer": ReactArcgisBuildingExplorer;
      "arcgis-catalog-layer-list": ReactArcgisCatalogLayerList;
      "arcgis-compass": ReactArcgisCompass;
      "arcgis-coordinate-conversion": ReactArcgisCoordinateConversion;
      "arcgis-daylight": ReactArcgisDaylight;
      "arcgis-directional-pad": ReactArcgisDirectionalPad;
      "arcgis-directions": ReactArcgisDirections;
      "arcgis-direct-line-measurement-3d": ReactArcgisDirectLineMeasurement3d;
      "arcgis-directline-measurement-3d": ReactArcgisDirectlineMeasurement3d;
      "arcgis-distance-measurement-2d": ReactArcgisDistanceMeasurement2d;
      "arcgis-editor": ReactArcgisEditor;
      "arcgis-elevation-profile": ReactArcgisElevationProfile;
      "arcgis-elevation-profile-next": ReactArcgisElevationProfileNext;
      "arcgis-expand": ReactArcgisExpand;
      "arcgis-feature": ReactArcgisFeature;
      "arcgis-feature-form": ReactArcgisFeatureForm;
      "arcgis-feature-table": ReactArcgisFeatureTable;
      "arcgis-feature-templates": ReactArcgisFeatureTemplates;
      "arcgis-features": ReactArcgisFeatures;
      "arcgis-floor-filter": ReactArcgisFloorFilter;
      "arcgis-fullscreen": ReactArcgisFullscreen;
      "arcgis-grid-controls": ReactArcgisGridControls;
      "arcgis-histogram-range-slider": ReactArcgisHistogramRangeSlider;
      "arcgis-home": ReactArcgisHome;
      "arcgis-layer-list": ReactArcgisLayerList;
      "arcgis-legend": ReactArcgisLegend;
      "arcgis-line-of-sight": ReactArcgisLineOfSight;
      "arcgis-link-chart": ReactArcgisLinkChart;
      "arcgis-link-chart-layout-switcher": ReactArcgisLinkChartLayoutSwitcher;
      "arcgis-locate": ReactArcgisLocate;
      "arcgis-map": ReactArcgisMap;
      "arcgis-measurement": ReactArcgisMeasurement;
      "arcgis-navigation-toggle": ReactArcgisNavigationToggle;
      "arcgis-oriented-imagery-viewer": ReactArcgisOrientedImageryViewer;
      "arcgis-placement": ReactArcgisPlacement;
      "arcgis-popup": ReactArcgisPopup;
      "arcgis-print": ReactArcgisPrint;
      "arcgis-scale-bar": ReactArcgisScaleBar;
      "arcgis-scale-range-slider": ReactArcgisScaleRangeSlider;
      "arcgis-scene": ReactArcgisScene;
      "arcgis-search": ReactArcgisSearch;
      "arcgis-search-result-renderer": ReactArcgisSearchResultRenderer;
      "arcgis-shadow-cast": ReactArcgisShadowCast;
      "arcgis-sketch": ReactArcgisSketch;
      "arcgis-slice": ReactArcgisSlice;
      "arcgis-swipe": ReactArcgisSwipe;
      "arcgis-table-list": ReactArcgisTableList;
      "arcgis-time-slider": ReactArcgisTimeSlider;
      "arcgis-time-zone-label": ReactArcgisTimeZoneLabel;
      "arcgis-track": ReactArcgisTrack;
      "arcgis-utility-network-associations": ReactArcgisUtilityNetworkAssociations;
      "arcgis-utility-network-trace": ReactArcgisUtilityNetworkTrace;
      "arcgis-utility-network-trace-analysis": ReactArcgisUtilityNetworkTraceAnalysis;
      "arcgis-utility-network-result-feature-list": ReactArcgisUtilityNetworkResultFeatureList;
      "arcgis-utility-network-trace-inputs": ReactArcgisUtilityNetworkTraceInputs;
      "arcgis-utility-network-trace-results": ReactArcgisUtilityNetworkTraceResults;
      "arcgis-utility-network-validate-topology": ReactArcgisUtilityNetworkValidateTopology;
      "arcgis-value-picker": ReactArcgisValuePicker;
      "arcgis-version-management": ReactArcgisVersionManagement;
      "arcgis-video": ReactArcgisVideo;
      "arcgis-video-player": ReactArcgisVideoPlayer;
      "arcgis-weather": ReactArcgisWeather;
      "arcgis-zoom": ReactArcgisZoom;
    }
  }
}
declare module "react/jsx-runtime" {
  namespace JSX {
    interface IntrinsicElements {
      "arcgis-area-measurement-2d": ReactArcgisAreaMeasurement2d;
      "arcgis-area-measurement-3d": ReactArcgisAreaMeasurement3d;
      "arcgis-attachments": ReactArcgisAttachments;
      "arcgis-basemap-gallery": ReactArcgisBasemapGallery;
      "arcgis-basemap-layer-list": ReactArcgisBasemapLayerList;
      "arcgis-basemap-toggle": ReactArcgisBasemapToggle;
      "arcgis-bookmarks": ReactArcgisBookmarks;
      "arcgis-building-explorer": ReactArcgisBuildingExplorer;
      "arcgis-catalog-layer-list": ReactArcgisCatalogLayerList;
      "arcgis-compass": ReactArcgisCompass;
      "arcgis-coordinate-conversion": ReactArcgisCoordinateConversion;
      "arcgis-daylight": ReactArcgisDaylight;
      "arcgis-directional-pad": ReactArcgisDirectionalPad;
      "arcgis-directions": ReactArcgisDirections;
      "arcgis-direct-line-measurement-3d": ReactArcgisDirectLineMeasurement3d;
      "arcgis-directline-measurement-3d": ReactArcgisDirectlineMeasurement3d;
      "arcgis-distance-measurement-2d": ReactArcgisDistanceMeasurement2d;
      "arcgis-editor": ReactArcgisEditor;
      "arcgis-elevation-profile": ReactArcgisElevationProfile;
      "arcgis-elevation-profile-next": ReactArcgisElevationProfileNext;
      "arcgis-expand": ReactArcgisExpand;
      "arcgis-feature": ReactArcgisFeature;
      "arcgis-feature-form": ReactArcgisFeatureForm;
      "arcgis-feature-table": ReactArcgisFeatureTable;
      "arcgis-feature-templates": ReactArcgisFeatureTemplates;
      "arcgis-features": ReactArcgisFeatures;
      "arcgis-floor-filter": ReactArcgisFloorFilter;
      "arcgis-fullscreen": ReactArcgisFullscreen;
      "arcgis-grid-controls": ReactArcgisGridControls;
      "arcgis-histogram-range-slider": ReactArcgisHistogramRangeSlider;
      "arcgis-home": ReactArcgisHome;
      "arcgis-layer-list": ReactArcgisLayerList;
      "arcgis-legend": ReactArcgisLegend;
      "arcgis-line-of-sight": ReactArcgisLineOfSight;
      "arcgis-link-chart": ReactArcgisLinkChart;
      "arcgis-link-chart-layout-switcher": ReactArcgisLinkChartLayoutSwitcher;
      "arcgis-locate": ReactArcgisLocate;
      "arcgis-map": ReactArcgisMap;
      "arcgis-measurement": ReactArcgisMeasurement;
      "arcgis-navigation-toggle": ReactArcgisNavigationToggle;
      "arcgis-oriented-imagery-viewer": ReactArcgisOrientedImageryViewer;
      "arcgis-placement": ReactArcgisPlacement;
      "arcgis-popup": ReactArcgisPopup;
      "arcgis-print": ReactArcgisPrint;
      "arcgis-scale-bar": ReactArcgisScaleBar;
      "arcgis-scale-range-slider": ReactArcgisScaleRangeSlider;
      "arcgis-scene": ReactArcgisScene;
      "arcgis-search": ReactArcgisSearch;
      "arcgis-search-result-renderer": ReactArcgisSearchResultRenderer;
      "arcgis-shadow-cast": ReactArcgisShadowCast;
      "arcgis-sketch": ReactArcgisSketch;
      "arcgis-slice": ReactArcgisSlice;
      "arcgis-swipe": ReactArcgisSwipe;
      "arcgis-table-list": ReactArcgisTableList;
      "arcgis-time-slider": ReactArcgisTimeSlider;
      "arcgis-time-zone-label": ReactArcgisTimeZoneLabel;
      "arcgis-track": ReactArcgisTrack;
      "arcgis-utility-network-associations": ReactArcgisUtilityNetworkAssociations;
      "arcgis-utility-network-trace": ReactArcgisUtilityNetworkTrace;
      "arcgis-utility-network-trace-analysis": ReactArcgisUtilityNetworkTraceAnalysis;
      "arcgis-utility-network-result-feature-list": ReactArcgisUtilityNetworkResultFeatureList;
      "arcgis-utility-network-trace-inputs": ReactArcgisUtilityNetworkTraceInputs;
      "arcgis-utility-network-trace-results": ReactArcgisUtilityNetworkTraceResults;
      "arcgis-utility-network-validate-topology": ReactArcgisUtilityNetworkValidateTopology;
      "arcgis-value-picker": ReactArcgisValuePicker;
      "arcgis-version-management": ReactArcgisVersionManagement;
      "arcgis-video": ReactArcgisVideo;
      "arcgis-video-player": ReactArcgisVideoPlayer;
      "arcgis-weather": ReactArcgisWeather;
      "arcgis-zoom": ReactArcgisZoom;
    }
  }
}
declare module "react/jsx-dev-runtime" {
  namespace JSX {
    interface IntrinsicElements {
      "arcgis-area-measurement-2d": ReactArcgisAreaMeasurement2d;
      "arcgis-area-measurement-3d": ReactArcgisAreaMeasurement3d;
      "arcgis-attachments": ReactArcgisAttachments;
      "arcgis-basemap-gallery": ReactArcgisBasemapGallery;
      "arcgis-basemap-layer-list": ReactArcgisBasemapLayerList;
      "arcgis-basemap-toggle": ReactArcgisBasemapToggle;
      "arcgis-bookmarks": ReactArcgisBookmarks;
      "arcgis-building-explorer": ReactArcgisBuildingExplorer;
      "arcgis-catalog-layer-list": ReactArcgisCatalogLayerList;
      "arcgis-compass": ReactArcgisCompass;
      "arcgis-coordinate-conversion": ReactArcgisCoordinateConversion;
      "arcgis-daylight": ReactArcgisDaylight;
      "arcgis-directional-pad": ReactArcgisDirectionalPad;
      "arcgis-directions": ReactArcgisDirections;
      "arcgis-direct-line-measurement-3d": ReactArcgisDirectLineMeasurement3d;
      "arcgis-directline-measurement-3d": ReactArcgisDirectlineMeasurement3d;
      "arcgis-distance-measurement-2d": ReactArcgisDistanceMeasurement2d;
      "arcgis-editor": ReactArcgisEditor;
      "arcgis-elevation-profile": ReactArcgisElevationProfile;
      "arcgis-elevation-profile-next": ReactArcgisElevationProfileNext;
      "arcgis-expand": ReactArcgisExpand;
      "arcgis-feature": ReactArcgisFeature;
      "arcgis-feature-form": ReactArcgisFeatureForm;
      "arcgis-feature-table": ReactArcgisFeatureTable;
      "arcgis-feature-templates": ReactArcgisFeatureTemplates;
      "arcgis-features": ReactArcgisFeatures;
      "arcgis-floor-filter": ReactArcgisFloorFilter;
      "arcgis-fullscreen": ReactArcgisFullscreen;
      "arcgis-grid-controls": ReactArcgisGridControls;
      "arcgis-histogram-range-slider": ReactArcgisHistogramRangeSlider;
      "arcgis-home": ReactArcgisHome;
      "arcgis-layer-list": ReactArcgisLayerList;
      "arcgis-legend": ReactArcgisLegend;
      "arcgis-line-of-sight": ReactArcgisLineOfSight;
      "arcgis-link-chart": ReactArcgisLinkChart;
      "arcgis-link-chart-layout-switcher": ReactArcgisLinkChartLayoutSwitcher;
      "arcgis-locate": ReactArcgisLocate;
      "arcgis-map": ReactArcgisMap;
      "arcgis-measurement": ReactArcgisMeasurement;
      "arcgis-navigation-toggle": ReactArcgisNavigationToggle;
      "arcgis-oriented-imagery-viewer": ReactArcgisOrientedImageryViewer;
      "arcgis-placement": ReactArcgisPlacement;
      "arcgis-popup": ReactArcgisPopup;
      "arcgis-print": ReactArcgisPrint;
      "arcgis-scale-bar": ReactArcgisScaleBar;
      "arcgis-scale-range-slider": ReactArcgisScaleRangeSlider;
      "arcgis-scene": ReactArcgisScene;
      "arcgis-search": ReactArcgisSearch;
      "arcgis-search-result-renderer": ReactArcgisSearchResultRenderer;
      "arcgis-shadow-cast": ReactArcgisShadowCast;
      "arcgis-sketch": ReactArcgisSketch;
      "arcgis-slice": ReactArcgisSlice;
      "arcgis-swipe": ReactArcgisSwipe;
      "arcgis-table-list": ReactArcgisTableList;
      "arcgis-time-slider": ReactArcgisTimeSlider;
      "arcgis-time-zone-label": ReactArcgisTimeZoneLabel;
      "arcgis-track": ReactArcgisTrack;
      "arcgis-utility-network-associations": ReactArcgisUtilityNetworkAssociations;
      "arcgis-utility-network-trace": ReactArcgisUtilityNetworkTrace;
      "arcgis-utility-network-trace-analysis": ReactArcgisUtilityNetworkTraceAnalysis;
      "arcgis-utility-network-result-feature-list": ReactArcgisUtilityNetworkResultFeatureList;
      "arcgis-utility-network-trace-inputs": ReactArcgisUtilityNetworkTraceInputs;
      "arcgis-utility-network-trace-results": ReactArcgisUtilityNetworkTraceResults;
      "arcgis-utility-network-validate-topology": ReactArcgisUtilityNetworkValidateTopology;
      "arcgis-value-picker": ReactArcgisValuePicker;
      "arcgis-version-management": ReactArcgisVersionManagement;
      "arcgis-video": ReactArcgisVideo;
      "arcgis-video-player": ReactArcgisVideoPlayer;
      "arcgis-weather": ReactArcgisWeather;
      "arcgis-zoom": ReactArcgisZoom;
    }
  }
}