/// <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-directline-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 { 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 { ArcgisHistogram } from "../components/arcgis-histogram";
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 { 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 { ArcgisShadowCast } from "../components/arcgis-shadow-cast";
import type { ArcgisSketch } from "../components/arcgis-sketch";
import type { ArcgisSlice } from "../components/arcgis-slice";
import type { ArcgisSlider } from "../components/arcgis-slider";
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 { 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 { 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 { ArcgisWeather } from "../components/arcgis-weather";
import type { ArcgisZoom } from "../components/arcgis-zoom";
import { JSX as PreactJsx } from "preact";
import type { EventHandler } from "@arcgis/lumina";

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

interface PreactArcgisAreaMeasurement3d extends Partial<Pick<ArcgisAreaMeasurement3d, 'autoDestroyDisabled' | 'icon' | 'label' | 'position' | 'referenceElement' | 'unit' | 'unitOptions'>>, PreactJsx.HTMLAttributes<HTMLArcgisAreaMeasurement3dElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisAreaMeasurement3dElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisAreaMeasurement3dElement["arcgisReady"]>;
}

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

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

interface PreactArcgisBasemapLayerList extends Partial<Pick<ArcgisBasemapLayerList, 'autoDestroyDisabled' | 'baseFilterPredicate' | 'baseFilterText' | 'baseListItemCreatedFunction' | 'basemapTitle' | 'catalogOptions' | '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' | 'visibilityAppearance'>>, PreactJsx.HTMLAttributes<HTMLArcgisBasemapLayerListElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisBasemapLayerListElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisBasemapLayerListElement["arcgisReady"]>;
  onarcgisTriggerAction?: EventHandler<HTMLArcgisBasemapLayerListElement["arcgisTriggerAction"]>;
}

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

interface PreactArcgisBookmarks extends Partial<Pick<ArcgisBookmarks, 'autoDestroyDisabled' | 'bookmarks' | 'defaultCreateOptions' | 'defaultEditOptions' | 'disabled' | 'dragEnabled' | 'filterPlaceholder' | 'filterText' | 'hideFlow' | 'hideThumbnail' | 'hideTime' | 'icon' | 'label' | 'position' | 'referenceElement' | 'showAddBookmarkButton' | 'showCloseButton' | 'showCollapseButton' | 'showEditBookmarkButton' | 'showFilter' | 'showHeading'>>, PreactJsx.HTMLAttributes<HTMLArcgisBookmarksElement> {
  onarcgisEdit?: EventHandler<HTMLArcgisBookmarksElement["arcgisEdit"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisBookmarksElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisBookmarksElement["arcgisReady"]>;
  onarcgisSelect?: EventHandler<HTMLArcgisBookmarksElement["arcgisSelect"]>;
}

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

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

interface PreactArcgisCompass extends Partial<Pick<ArcgisCompass, 'autoDestroyDisabled' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement'>>, PreactJsx.HTMLAttributes<HTMLArcgisCompassElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisCompassElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisCompassElement["arcgisReady"]>;
}

interface PreactArcgisCoordinateConversion extends Partial<Pick<ArcgisCoordinateConversion, 'autoDestroyDisabled' | 'conversions' | 'formats' | 'headingLevel' | 'hideCaptureButton' | 'hideEditButton' | 'hideExpandButton' | 'hideSettingsButton' | 'icon' | 'label' | 'locationSymbol' | 'mode' | 'multipleConversionsDisabled' | 'orientation' | 'position' | 'referenceElement' | 'storageDisabled' | 'storageType'>>, PreactJsx.HTMLAttributes<HTMLArcgisCoordinateConversionElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisCoordinateConversionElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisCoordinateConversionElement["arcgisReady"]>;
}

interface PreactArcgisDaylight extends Partial<Pick<ArcgisDaylight, 'autoDestroyDisabled' | 'currentSeason' | 'dateOrSeason' | 'dayPlaying' | 'headingLevel' | 'hideDatePicker' | 'hideHeader' | 'hidePlayButtons' | 'hideShadowsToggle' | 'hideSunLightingToggle' | 'hideTimezone' | 'icon' | 'label' | 'playSpeedMultiplier' | 'position' | 'referenceElement' | 'timeSliderSteps' | 'yearPlaying'>>, PreactJsx.HTMLAttributes<HTMLArcgisDaylightElement> {
  onarcgisReady?: EventHandler<HTMLArcgisDaylightElement["arcgisReady"]>;
}

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

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

interface PreactArcgisDirectlineMeasurement3d extends Partial<Pick<ArcgisDirectLineMeasurement3d, 'autoDestroyDisabled' | 'icon' | 'label' | 'position' | 'referenceElement' | 'unit' | 'unitOptions'>>, PreactJsx.HTMLAttributes<HTMLArcgisDirectlineMeasurement3dElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisDirectlineMeasurement3dElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisDirectlineMeasurement3dElement["arcgisReady"]>;
}

interface PreactArcgisDistanceMeasurement2d extends Partial<Pick<ArcgisDistanceMeasurement2d, 'autoDestroyDisabled' | 'icon' | 'label' | 'position' | 'referenceElement' | 'unit' | 'unitOptions'>>, PreactJsx.HTMLAttributes<HTMLArcgisDistanceMeasurement2dElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisDistanceMeasurement2dElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisDistanceMeasurement2dElement["arcgisReady"]>;
}

interface PreactArcgisEditor extends Partial<Pick<ArcgisEditor, 'autoDestroyDisabled' | 'headingLevel' | 'hideCreateFeaturesSection' | 'hideEditFeaturesSection' | 'hideLabelsToggle' | 'hideSnappingControlsElementsEnabledToggle' | 'hideSnappingControlsElementsFeatureEnabledToggle' | 'hideSnappingControlsElementsLayerList' | 'hideSnappingControlsElementsSelfEnabledToggle' | 'hideTooltipsToggle' | 'icon' | 'label' | 'labelOptions' | 'layerInfos' | 'position' | 'referenceElement' | 'showSnappingControlsElementsHeader' | 'snappingOptions' | 'supportingWidgetDefaults' | 'tooltipOptions'>>, PreactJsx.HTMLAttributes<HTMLArcgisEditorElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisEditorElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisEditorElement["arcgisReady"]>;
}

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

interface PreactArcgisExpand extends Partial<Pick<ArcgisExpand, 'autoCollapse' | 'autoDestroyDisabled' | 'closeOnEsc' | 'collapseIcon' | 'collapseTooltip' | 'expanded' | 'expandIcon' | 'expandTooltip' | 'focusTrapEnabled' | 'group' | 'icon' | 'iconNumber' | 'label' | 'mode' | 'placement' | 'position' | 'referenceElement'>>, PreactJsx.HTMLAttributes<HTMLArcgisExpandElement> {
  onarcgisReady?: EventHandler<HTMLArcgisExpandElement["arcgisReady"]>;
}

interface PreactArcgisFeature extends Partial<Pick<ArcgisFeature, 'autoDestroyDisabled' | 'defaultPopupTemplateEnabled' | 'graphic' | 'headingLevel' | 'hideContentAttachments' | 'hideContentExpression' | 'hideContentFields' | 'hideContentMedia' | 'hideContentText' | 'hideLastEditInfo' | 'hideTitle' | 'icon' | 'label' | 'location' | 'map' | 'position' | 'referenceElement' | 'spatialReference'>>, PreactJsx.HTMLAttributes<HTMLArcgisFeatureElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisFeatureElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisFeatureElement["arcgisReady"]>;
}

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

interface PreactArcgisFeatureTable extends Partial<Pick<ArcgisFeatureTable, 'actionColumnConfig' | 'attachmentsEnabled' | 'attributeTableTemplate' | 'autoDestroyDisabled' | 'autoRefreshDisabled' | 'columnReorderingDisabled' | 'description' | 'editingEnabled' | 'filterBySelectionEnabled' | 'filterGeometry' | 'hiddenFields' | 'hideColumnDescriptions' | 'hideColumnMenuItemsSortAscending' | 'hideColumnMenuItemsSortDescending' | 'hideColumnMenus' | 'hideHeader' | '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' | 'objectIds' | 'outFields' | 'pageIndex' | 'pageSize' | 'paginationEnabled' | 'position' | 'referenceElement' | 'relatedRecordsEnabled' | 'relatedTable' | 'relatedTables' | 'returnGeometryEnabled' | 'returnMEnabled' | 'returnZEnabled' | 'rowHighlightIds' | 'showLayerDropdown' | 'tableController' | 'tableDisabled' | 'tableParent' | 'tableTemplate' | 'timeExtent' | 'timeZone'>>, PreactJsx.HTMLAttributes<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 PreactArcgisFeatureTemplates extends Partial<Pick<ArcgisFeatureTemplates, 'autoDestroyDisabled' | 'enableListScroll' | 'filterFunction' | 'filterText' | 'groupBy' | 'headingLevel' | 'hideFilter' | 'icon' | 'label' | 'layers' | 'position' | 'referenceElement' | 'selectionMode'>>, PreactJsx.HTMLAttributes<HTMLArcgisFeatureTemplatesElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisFeatureTemplatesElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisFeatureTemplatesElement["arcgisReady"]>;
  onarcgisSelect?: EventHandler<HTMLArcgisFeatureTemplatesElement["arcgisSelect"]>;
}

interface PreactArcgisFeatures extends Partial<Pick<ArcgisFeatures, 'actions' | 'autoDestroyDisabled' | 'collapsed' | 'content' | 'featureNavigationTop' | 'features' | 'featuresPerPage' | 'featuresTitle' | 'featureViewModelAbilities' | 'goToOverride' | 'headerActions' | 'headingLevel' | 'hideActionBar' | 'hideCloseButton' | 'hideFeatureMenuHeading' | 'hideFeatureNavigation' | 'hideFlow' | 'hideHeading' | 'hideSpinner' | 'icon' | 'includeDefaultActions' | 'initialDisplayMode' | 'label' | 'map' | 'position' | 'promises' | 'referenceElement' | 'selectedFeatureIndex' | 'showCollapseButton' | 'spatialReference' | 'timeZone'>>, PreactJsx.HTMLAttributes<HTMLArcgisFeaturesElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisFeaturesElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisFeaturesElement["arcgisReady"]>;
  onarcgisTriggerAction?: EventHandler<HTMLArcgisFeaturesElement["arcgisTriggerAction"]>;
}

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

interface PreactArcgisFullscreen extends Partial<Pick<ArcgisFullscreen, 'autoDestroyDisabled' | 'element' | 'icon' | 'label' | 'messageOverrides' | 'position' | 'referenceElement'>>, PreactJsx.HTMLAttributes<HTMLArcgisFullscreenElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisFullscreenElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisFullscreenElement["arcgisReady"]>;
}

interface PreactArcgisHistogram extends Partial<Pick<ArcgisHistogram, 'autoDestroyDisabled' | 'average' | 'barCreatedFunction' | 'bins' | 'dataLineCreatedFunction' | 'dataLines' | 'icon' | 'label' | 'labelFormatFunction' | 'layout' | 'max' | 'min' | 'position' | 'referenceElement'>>, PreactJsx.HTMLAttributes<HTMLArcgisHistogramElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisHistogramElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisHistogramElement["arcgisReady"]>;
}

interface PreactArcgisHistogramRangeSlider extends Partial<Pick<ArcgisHistogramRangeSlider, 'autoDestroyDisabled' | 'average' | 'barCreatedFunction' | 'bins' | 'dataLineCreatedFunction' | 'dataLines' | 'excludedBarColor' | 'icon' | 'includedBarColor' | 'label' | 'labelFormatFunction' | 'max' | 'min' | 'position' | 'precision' | 'rangeType' | 'referenceElement' | 'standardDeviation' | 'standardDeviationCount' | 'values'>>, PreactJsx.HTMLAttributes<HTMLArcgisHistogramRangeSliderElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisHistogramRangeSliderElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisHistogramRangeSliderElement["arcgisReady"]>;
}

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

interface PreactArcgisLayerList extends Partial<Pick<ArcgisLayerList, 'autoDestroyDisabled' | 'catalogOptions' | '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' | 'visibilityAppearance'>>, PreactJsx.HTMLAttributes<HTMLArcgisLayerListElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisLayerListElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisLayerListElement["arcgisReady"]>;
  onarcgisTriggerAction?: EventHandler<HTMLArcgisLayerListElement["arcgisTriggerAction"]>;
}

interface PreactArcgisLegend extends Partial<Pick<ArcgisLegend, 'activeLayerInfos' | 'autoDestroyDisabled' | 'basemapLegendVisible' | 'headingLevel' | 'hideLayersNotInCurrentView' | 'icon' | 'label' | 'layerInfos' | 'legendStyle' | 'position' | 'referenceElement' | 'respectLayerDefinitionExpression' | 'respectLayerVisibilityDisabled'>>, PreactJsx.HTMLAttributes<HTMLArcgisLegendElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisLegendElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisLegendElement["arcgisReady"]>;
}

interface PreactArcgisLineOfSight extends Partial<Pick<ArcgisLineOfSight, 'autoDestroyDisabled' | 'icon' | 'label' | 'position' | 'referenceElement'>>, PreactJsx.HTMLAttributes<HTMLArcgisLineOfSightElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisLineOfSightElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisLineOfSightElement["arcgisReady"]>;
}

interface PreactArcgisLinkChart extends Partial<Pick<ArcgisLinkChart, 'autoDestroyDisabled' | 'background' | 'basemap' | 'basemapView' | 'constraints' | 'displayFilterDisabled' | 'extent' | 'fatalError' | 'graphics' | 'highlights' | 'itemId' | 'map' | 'navigation' | 'padding' | 'popup' | 'popupDisabled' | 'resizeAlign' | 'rotation' | 'scale' | 'spatialReference' | 'theme' | 'timeExtent' | 'timeZone' | 'viewpoint' | 'zoom'>>, ArcgisLinkChartSetterTypes, PreactJsx.HTMLAttributes<HTMLArcgisLinkChartElement> {
  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"]>;
}
type ArcgisLinkChartSetterTypes = ArcgisLinkChart["_setterTypes"]

interface PreactArcgisLinkChartLayoutSwitcher extends Partial<Pick<ArcgisLinkChartLayoutSwitcher, 'autoDestroyDisabled' | 'icon' | 'label' | 'position' | 'preventExtentUpdate' | 'referenceElement'>>, PreactJsx.HTMLAttributes<HTMLArcgisLinkChartLayoutSwitcherElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisLinkChartLayoutSwitcherElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisLinkChartLayoutSwitcherElement["arcgisReady"]>;
  onarcgisSwitchLayout?: EventHandler<HTMLArcgisLinkChartLayoutSwitcherElement["arcgisSwitchLayout"]>;
}

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

interface PreactArcgisMap extends Partial<Pick<ArcgisMap, 'autoDestroyDisabled' | 'background' | 'basemap' | 'basemapView' | 'constraints' | 'displayFilterDisabled' | 'extent' | 'fatalError' | 'floors' | 'graphics' | 'ground' | 'highlightOptions' | 'highlights' | 'ipsInfo' | 'itemId' | 'map' | 'navigation' | 'padding' | 'popup' | 'popupDisabled' | 'resizeAlign' | 'rotation' | 'scale' | 'spatialReference' | 'theme' | 'timeExtent' | 'timeZone' | 'viewpoint' | 'zoom'>>, ArcgisMapSetterTypes, PreactJsx.HTMLAttributes<HTMLArcgisMapElement> {
  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"]>;
}
type ArcgisMapSetterTypes = ArcgisMap["_setterTypes"]

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

interface PreactArcgisNavigationToggle extends Partial<Pick<ArcgisNavigationToggle, 'autoDestroyDisabled' | 'icon' | 'label' | 'layout' | 'navigationMode' | 'position' | 'referenceElement' | 'state'>>, PreactJsx.HTMLAttributes<HTMLArcgisNavigationToggleElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisNavigationToggleElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisNavigationToggleElement["arcgisReady"]>;
}

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

interface PreactArcgisPlacement extends Partial<Pick<ArcgisPlacement, 'position' | 'referenceElement'>>, PreactJsx.HTMLAttributes<HTMLArcgisPlacementElement> {
  onarcgisReady?: EventHandler<HTMLArcgisPlacementElement["arcgisReady"]>;
}

interface PreactArcgisPrint extends Partial<Pick<ArcgisPrint, 'allowedFormats' | 'allowedLayouts' | 'autoDestroyDisabled' | 'exportedLinks' | 'extraParameters' | 'headingLevel' | 'icon' | 'includeDefaultTemplatesDisabled' | 'label' | 'portal' | 'position' | 'printServiceUrl' | 'referenceElement' | 'showPrintAreaEnabled' | 'templateCustomTextElements' | 'templateOptions'>>, PreactJsx.HTMLAttributes<HTMLArcgisPrintElement> {
  onarcgisComplete?: EventHandler<HTMLArcgisPrintElement["arcgisComplete"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisPrintElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisPrintElement["arcgisReady"]>;
  onarcgisSubmit?: EventHandler<HTMLArcgisPrintElement["arcgisSubmit"]>;
}

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

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

interface PreactArcgisScene extends Partial<Pick<ArcgisScene, 'alphaCompositingEnabled' | 'analyses' | 'autoDestroyDisabled' | 'basemap' | 'basemapView' | 'camera' | 'cameraFov' | 'cameraHeading' | 'cameraPosition' | 'cameraTilt' | 'clippingArea' | 'constraints' | 'displayFilterDisabled' | 'environment' | 'extent' | 'fatalError' | 'floors' | 'graphics' | 'ground' | 'highlightOptions' | 'highlights' | 'itemId' | 'map' | 'navigation' | 'padding' | 'popup' | 'popupDisabled' | 'qualityProfile' | 'scale' | 'spatialReference' | 'theme' | 'timeExtent' | 'viewingMode' | 'viewpoint' | 'zoom'>>, ArcgisSceneSetterTypes, PreactJsx.HTMLAttributes<HTMLArcgisSceneElement> {
  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"]>;
}
type ArcgisSceneSetterTypes = ArcgisScene["_setterTypes"]

interface PreactArcgisSearch extends Partial<Pick<ArcgisSearch, 'activeMenu' | 'activeSourceIndex' | 'allPlaceholder' | 'autoDestroyDisabled' | 'autoSelectDisabled' | 'disabled' | 'icon' | 'includeDefaultSourcesDisabled' | 'label' | 'locationDisabled' | 'maxResults' | 'maxSuggestions' | 'minSuggestCharacters' | 'popupDisabled' | 'popupTemplate' | 'portal' | 'position' | 'referenceElement' | 'resultGraphicDisabled' | 'searchAllDisabled' | 'searchTerm' | 'sources' | 'suggestionsDisabled'>>, PreactJsx.HTMLAttributes<HTMLArcgisSearchElement> {
  onarcgisBlur?: EventHandler<HTMLArcgisSearchElement["arcgisBlur"]>;
  onarcgisClear?: EventHandler<HTMLArcgisSearchElement["arcgisClear"]>;
  onarcgisComplete?: EventHandler<HTMLArcgisSearchElement["arcgisComplete"]>;
  onarcgisFocus?: EventHandler<HTMLArcgisSearchElement["arcgisFocus"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisSearchElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisSearchElement["arcgisReady"]>;
  onarcgisSelectResult?: EventHandler<HTMLArcgisSearchElement["arcgisSelectResult"]>;
  onarcgisStart?: EventHandler<HTMLArcgisSearchElement["arcgisStart"]>;
  onarcgisSuggestComplete?: EventHandler<HTMLArcgisSearchElement["arcgisSuggestComplete"]>;
  onarcgisSuggestStart?: EventHandler<HTMLArcgisSearchElement["arcgisSuggestStart"]>;
}

interface PreactArcgisShadowCast extends Partial<Pick<ArcgisShadowCast, 'autoDestroyDisabled' | 'discreteOptions' | 'durationOptions' | 'endTimeOfDay' | 'headingLevel' | 'hideColorPicker' | 'hideDatePicker' | 'hideTimeRangeSlider' | 'hideTimezone' | 'hideTooltip' | 'hideVisualizationOptions' | 'icon' | 'label' | 'position' | 'referenceElement' | 'startTimeOfDay' | 'thresholdOptions' | 'utcOffset' | 'visualizationType'>>, PreactJsx.HTMLAttributes<HTMLArcgisShadowCastElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisShadowCastElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisShadowCastElement["arcgisReady"]>;
}

interface PreactArcgisSketch extends Partial<Pick<ArcgisSketch, 'autoDestroyDisabled' | 'availableCreateTools' | 'creationMode' | 'defaultCreateOptions' | 'defaultGraphicsLayerDisabled' | 'defaultUpdateOptions' | 'hideCreateToolsCircle' | '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' | 'showSnappingControlsElementsHeader' | 'snappingOptions' | 'toolbarKind' | 'tooltipOptions'>>, PreactJsx.HTMLAttributes<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 PreactArcgisSlice extends Partial<Pick<ArcgisSlice, 'autoDestroyDisabled' | 'excludedLayers' | 'excludeGroundSurface' | 'headingLevel' | 'icon' | 'label' | 'position' | 'referenceElement' | 'shape' | 'tiltEnabled'>>, PreactJsx.HTMLAttributes<HTMLArcgisSliceElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisSliceElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisSliceElement["arcgisReady"]>;
}

interface PreactArcgisSlider extends Partial<Pick<ArcgisSlider, 'autoDestroyDisabled' | 'draggableSegmentsEnabled' | 'effectiveMax' | 'effectiveMin' | 'icon' | 'label' | 'labelInputsEnabled' | 'layout' | 'max' | 'min' | 'position' | 'precision' | 'rangeLabelInputsEnabled' | 'referenceElement' | 'snapOnClickEnabled' | 'steps' | 'syncedSegmentsEnabled' | 'thumbsConstrained' | 'tickConfigs' | 'values'>>, PreactJsx.HTMLAttributes<HTMLArcgisSliderElement> {
  onarcgisMaxChange?: EventHandler<HTMLArcgisSliderElement["arcgisMaxChange"]>;
  onarcgisMaxClick?: EventHandler<HTMLArcgisSliderElement["arcgisMaxClick"]>;
  onarcgisMinChange?: EventHandler<HTMLArcgisSliderElement["arcgisMinChange"]>;
  onarcgisMinClick?: EventHandler<HTMLArcgisSliderElement["arcgisMinClick"]>;
  onarcgisPropertyChange?: EventHandler<HTMLArcgisSliderElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisSliderElement["arcgisReady"]>;
  onarcgisSegmentClick?: EventHandler<HTMLArcgisSliderElement["arcgisSegmentClick"]>;
  onarcgisSegmentDrag?: EventHandler<HTMLArcgisSliderElement["arcgisSegmentDrag"]>;
  onarcgisThumbChange?: EventHandler<HTMLArcgisSliderElement["arcgisThumbChange"]>;
  onarcgisThumbClick?: EventHandler<HTMLArcgisSliderElement["arcgisThumbClick"]>;
  onarcgisThumbDrag?: EventHandler<HTMLArcgisSliderElement["arcgisThumbDrag"]>;
  onarcgisTickClick?: EventHandler<HTMLArcgisSliderElement["arcgisTickClick"]>;
  onarcgisTrackClick?: EventHandler<HTMLArcgisSliderElement["arcgisTrackClick"]>;
}

interface PreactArcgisSwipe extends Partial<Pick<ArcgisSwipe, 'autoDestroyDisabled' | 'direction' | 'disabled' | 'hideDivider' | 'hideHandle' | 'icon' | 'label' | 'leadingLayers' | 'messageOverrides' | 'position' | 'referenceElement' | 'swipePosition' | 'trailingLayers'>>, PreactJsx.HTMLAttributes<HTMLArcgisSwipeElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisSwipeElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisSwipeElement["arcgisReady"]>;
}

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

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

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

interface PreactArcgisUtilityNetworkAssociations 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' | 'visibleElementsConnectivityAssociationsSettingsArrowsToggle' | 'visibleElementsConnectivityAssociationsSettingsCapSelect' | 'visibleElementsConnectivityAssociationsSettingsColorPicker' | 'visibleElementsConnectivityAssociationsSettingsStylePicker' | 'visibleElementsConnectivityAssociationsSettingsWidthInput' | 'visibleElementsMaxAllowableAssociationsSlider' | 'visibleElementsStructuralAttachmentAssociationsSettingsArrowsToggle' | 'visibleElementsStructuralAttachmentAssociationsSettingsCapSelect' | 'visibleElementsStructuralAttachmentAssociationsSettingsColorPicker' | 'visibleElementsStructuralAttachmentAssociationsSettingsStylePicker' | 'visibleElementsStructuralAttachmentAssociationsSettingsWidthInput'>>, PreactJsx.HTMLAttributes<HTMLArcgisUtilityNetworkAssociationsElement> {
  onarcgisReady?: EventHandler<HTMLArcgisUtilityNetworkAssociationsElement["arcgisReady"]>;
}

interface PreactArcgisUtilityNetworkTrace extends Partial<Pick<ArcgisUtilityNetworkTrace, 'defaultGraphicColor' | 'disabled' | 'enableResultArea' | 'flags' | 'gdbVersion' | 'inputSettings' | 'position' | 'referenceElement' | 'resultAreaProperties' | 'selectedTraces' | 'selectOnCompleteDisabled' | 'showGraphicsOnCompleteDisabled' | 'showSelectionAttributesDisabled'>>, PreactJsx.HTMLAttributes<HTMLArcgisUtilityNetworkTraceElement> {
  onarcgisAddFlag?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisAddFlag"]>;
  onarcgisAddFlagComplete?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisAddFlagComplete"]>;
  onarcgisAddFlagError?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisAddFlagError"]>;
  onarcgisAddResultArea?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisAddResultArea"]>;
  onarcgisReady?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisReady"]>;
  onarcgisRemoveResultArea?: EventHandler<HTMLArcgisUtilityNetworkTraceElement["arcgisRemoveResultArea"]>;
}

interface PreactArcgisUtilityNetworkValidateTopology extends Partial<Pick<ArcgisUtilityNetworkValidateTopology, 'extentToValidate' | 'position' | 'referenceElement' | 'utilityNetwork'>>, PreactJsx.HTMLAttributes<HTMLArcgisUtilityNetworkValidateTopologyElement> {
  onarcgisReady?: EventHandler<HTMLArcgisUtilityNetworkValidateTopologyElement["arcgisReady"]>;
}

interface PreactArcgisValuePicker extends Partial<Pick<ArcgisValuePicker, 'autoDestroyDisabled' | 'canNext' | 'canPlay' | 'canPrevious' | 'caption' | 'component' | 'hideNextButton' | 'hidePlayButton' | 'hidePreviousButton' | 'icon' | 'label' | 'layout' | 'loop' | 'playRate' | 'position' | 'referenceElement' | 'values'>>, PreactJsx.HTMLAttributes<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 PreactArcgisVersionManagement extends Partial<Pick<ArcgisVersionManagement, 'allowEditingDisabled' | 'autoDestroyDisabled' | 'closable' | 'icon' | 'initialVersionInfos' | 'label' | 'messageOverrides' | 'mode' | 'pageSize' | 'position' | 'referenceElement' | 'versioningStates' | 'view'>>, PreactJsx.HTMLAttributes<HTMLArcgisVersionManagementElement> {
  onarcgisReady?: EventHandler<HTMLArcgisVersionManagementElement["arcgisReady"]>;
  onarcgisVersioningStateChanged?: EventHandler<HTMLArcgisVersionManagementElement["arcgisVersioningStateChanged"]>;
}

interface PreactArcgisWeather extends Partial<Pick<ArcgisWeather, 'autoDestroyDisabled' | 'headingLevel' | 'hideHeader' | 'icon' | 'label' | 'position' | 'referenceElement'>>, PreactJsx.HTMLAttributes<HTMLArcgisWeatherElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisWeatherElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisWeatherElement["arcgisReady"]>;
}

interface PreactArcgisZoom extends Partial<Pick<ArcgisZoom, 'autoDestroyDisabled' | 'icon' | 'label' | 'layout' | 'messageOverrides' | 'position' | 'referenceElement'>>, PreactJsx.HTMLAttributes<HTMLArcgisZoomElement> {
  onarcgisPropertyChange?: EventHandler<HTMLArcgisZoomElement["arcgisPropertyChange"]>;
  onarcgisReady?: EventHandler<HTMLArcgisZoomElement["arcgisReady"]>;
}

declare module 'preact' {
  namespace createElement.JSX {
    interface IntrinsicElements extends PreactJsx.IntrinsicElements {
      "arcgis-area-measurement-2d": PreactArcgisAreaMeasurement2d;
      "arcgis-area-measurement-3d": PreactArcgisAreaMeasurement3d;
      "arcgis-attachments": PreactArcgisAttachments;
      "arcgis-basemap-gallery": PreactArcgisBasemapGallery;
      "arcgis-basemap-layer-list": PreactArcgisBasemapLayerList;
      "arcgis-basemap-toggle": PreactArcgisBasemapToggle;
      "arcgis-bookmarks": PreactArcgisBookmarks;
      "arcgis-building-explorer": PreactArcgisBuildingExplorer;
      "arcgis-catalog-layer-list": PreactArcgisCatalogLayerList;
      "arcgis-compass": PreactArcgisCompass;
      "arcgis-coordinate-conversion": PreactArcgisCoordinateConversion;
      "arcgis-daylight": PreactArcgisDaylight;
      "arcgis-directional-pad": PreactArcgisDirectionalPad;
      "arcgis-directions": PreactArcgisDirections;
      "arcgis-directline-measurement-3d": PreactArcgisDirectlineMeasurement3d;
      "arcgis-distance-measurement-2d": PreactArcgisDistanceMeasurement2d;
      "arcgis-editor": PreactArcgisEditor;
      "arcgis-elevation-profile": PreactArcgisElevationProfile;
      "arcgis-expand": PreactArcgisExpand;
      "arcgis-feature": PreactArcgisFeature;
      "arcgis-feature-form": PreactArcgisFeatureForm;
      "arcgis-feature-table": PreactArcgisFeatureTable;
      "arcgis-feature-templates": PreactArcgisFeatureTemplates;
      "arcgis-features": PreactArcgisFeatures;
      "arcgis-floor-filter": PreactArcgisFloorFilter;
      "arcgis-fullscreen": PreactArcgisFullscreen;
      "arcgis-histogram": PreactArcgisHistogram;
      "arcgis-histogram-range-slider": PreactArcgisHistogramRangeSlider;
      "arcgis-home": PreactArcgisHome;
      "arcgis-layer-list": PreactArcgisLayerList;
      "arcgis-legend": PreactArcgisLegend;
      "arcgis-line-of-sight": PreactArcgisLineOfSight;
      "arcgis-link-chart": PreactArcgisLinkChart;
      "arcgis-link-chart-layout-switcher": PreactArcgisLinkChartLayoutSwitcher;
      "arcgis-locate": PreactArcgisLocate;
      "arcgis-map": PreactArcgisMap;
      "arcgis-measurement": PreactArcgisMeasurement;
      "arcgis-navigation-toggle": PreactArcgisNavigationToggle;
      "arcgis-oriented-imagery-viewer": PreactArcgisOrientedImageryViewer;
      "arcgis-placement": PreactArcgisPlacement;
      "arcgis-print": PreactArcgisPrint;
      "arcgis-scale-bar": PreactArcgisScaleBar;
      "arcgis-scale-range-slider": PreactArcgisScaleRangeSlider;
      "arcgis-scene": PreactArcgisScene;
      "arcgis-search": PreactArcgisSearch;
      "arcgis-shadow-cast": PreactArcgisShadowCast;
      "arcgis-sketch": PreactArcgisSketch;
      "arcgis-slice": PreactArcgisSlice;
      "arcgis-slider": PreactArcgisSlider;
      "arcgis-swipe": PreactArcgisSwipe;
      "arcgis-table-list": PreactArcgisTableList;
      "arcgis-time-slider": PreactArcgisTimeSlider;
      "arcgis-track": PreactArcgisTrack;
      "arcgis-utility-network-associations": PreactArcgisUtilityNetworkAssociations;
      "arcgis-utility-network-trace": PreactArcgisUtilityNetworkTrace;
      "arcgis-utility-network-validate-topology": PreactArcgisUtilityNetworkValidateTopology;
      "arcgis-value-picker": PreactArcgisValuePicker;
      "arcgis-version-management": PreactArcgisVersionManagement;
      "arcgis-weather": PreactArcgisWeather;
      "arcgis-zoom": PreactArcgisZoom;
    }
  }
  namespace h.JSX {
    interface IntrinsicElements extends PreactJsx.IntrinsicElements {
      "arcgis-area-measurement-2d": PreactArcgisAreaMeasurement2d;
      "arcgis-area-measurement-3d": PreactArcgisAreaMeasurement3d;
      "arcgis-attachments": PreactArcgisAttachments;
      "arcgis-basemap-gallery": PreactArcgisBasemapGallery;
      "arcgis-basemap-layer-list": PreactArcgisBasemapLayerList;
      "arcgis-basemap-toggle": PreactArcgisBasemapToggle;
      "arcgis-bookmarks": PreactArcgisBookmarks;
      "arcgis-building-explorer": PreactArcgisBuildingExplorer;
      "arcgis-catalog-layer-list": PreactArcgisCatalogLayerList;
      "arcgis-compass": PreactArcgisCompass;
      "arcgis-coordinate-conversion": PreactArcgisCoordinateConversion;
      "arcgis-daylight": PreactArcgisDaylight;
      "arcgis-directional-pad": PreactArcgisDirectionalPad;
      "arcgis-directions": PreactArcgisDirections;
      "arcgis-directline-measurement-3d": PreactArcgisDirectlineMeasurement3d;
      "arcgis-distance-measurement-2d": PreactArcgisDistanceMeasurement2d;
      "arcgis-editor": PreactArcgisEditor;
      "arcgis-elevation-profile": PreactArcgisElevationProfile;
      "arcgis-expand": PreactArcgisExpand;
      "arcgis-feature": PreactArcgisFeature;
      "arcgis-feature-form": PreactArcgisFeatureForm;
      "arcgis-feature-table": PreactArcgisFeatureTable;
      "arcgis-feature-templates": PreactArcgisFeatureTemplates;
      "arcgis-features": PreactArcgisFeatures;
      "arcgis-floor-filter": PreactArcgisFloorFilter;
      "arcgis-fullscreen": PreactArcgisFullscreen;
      "arcgis-histogram": PreactArcgisHistogram;
      "arcgis-histogram-range-slider": PreactArcgisHistogramRangeSlider;
      "arcgis-home": PreactArcgisHome;
      "arcgis-layer-list": PreactArcgisLayerList;
      "arcgis-legend": PreactArcgisLegend;
      "arcgis-line-of-sight": PreactArcgisLineOfSight;
      "arcgis-link-chart": PreactArcgisLinkChart;
      "arcgis-link-chart-layout-switcher": PreactArcgisLinkChartLayoutSwitcher;
      "arcgis-locate": PreactArcgisLocate;
      "arcgis-map": PreactArcgisMap;
      "arcgis-measurement": PreactArcgisMeasurement;
      "arcgis-navigation-toggle": PreactArcgisNavigationToggle;
      "arcgis-oriented-imagery-viewer": PreactArcgisOrientedImageryViewer;
      "arcgis-placement": PreactArcgisPlacement;
      "arcgis-print": PreactArcgisPrint;
      "arcgis-scale-bar": PreactArcgisScaleBar;
      "arcgis-scale-range-slider": PreactArcgisScaleRangeSlider;
      "arcgis-scene": PreactArcgisScene;
      "arcgis-search": PreactArcgisSearch;
      "arcgis-shadow-cast": PreactArcgisShadowCast;
      "arcgis-sketch": PreactArcgisSketch;
      "arcgis-slice": PreactArcgisSlice;
      "arcgis-slider": PreactArcgisSlider;
      "arcgis-swipe": PreactArcgisSwipe;
      "arcgis-table-list": PreactArcgisTableList;
      "arcgis-time-slider": PreactArcgisTimeSlider;
      "arcgis-track": PreactArcgisTrack;
      "arcgis-utility-network-associations": PreactArcgisUtilityNetworkAssociations;
      "arcgis-utility-network-trace": PreactArcgisUtilityNetworkTrace;
      "arcgis-utility-network-validate-topology": PreactArcgisUtilityNetworkValidateTopology;
      "arcgis-value-picker": PreactArcgisValuePicker;
      "arcgis-version-management": PreactArcgisVersionManagement;
      "arcgis-weather": PreactArcgisWeather;
      "arcgis-zoom": PreactArcgisZoom;
    }
  }
}