UNPKG

@arcgis/map-components

Version:
1,431 lines • 124 kB
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 { 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 { 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 { 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 { 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 { 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";

export { getAssetPath, setAssetPath } from './runtime';
/**
 * @deprecated Use `setAssetPath` instead
 */
export declare const setArcgisAssetPath: (path: URL | string) => void;
/**
 * @deprecated Use `getAssetPath` instead
 */
export declare const getArcgisAssetPath: (suffix: string) => string;


export interface ArcgisAreaMeasurement2dCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisAreaMeasurement2dElement;
  currentTarget: HTMLArcgisAreaMeasurement2dElement;
}
export interface ArcgisAreaMeasurement3dCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisAreaMeasurement3dElement;
  currentTarget: HTMLArcgisAreaMeasurement3dElement;
}
export interface ArcgisAttachmentsCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisAttachmentsElement;
  currentTarget: HTMLArcgisAttachmentsElement;
}
export interface ArcgisBasemapGalleryCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisBasemapGalleryElement;
  currentTarget: HTMLArcgisBasemapGalleryElement;
}
export interface ArcgisBasemapLayerListCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisBasemapLayerListElement;
  currentTarget: HTMLArcgisBasemapLayerListElement;
}
export interface ArcgisBasemapToggleCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisBasemapToggleElement;
  currentTarget: HTMLArcgisBasemapToggleElement;
}
export interface ArcgisBookmarksCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisBookmarksElement;
  currentTarget: HTMLArcgisBookmarksElement;
}
export interface ArcgisBuildingExplorerCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisBuildingExplorerElement;
  currentTarget: HTMLArcgisBuildingExplorerElement;
}
export interface ArcgisCatalogLayerListCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisCatalogLayerListElement;
  currentTarget: HTMLArcgisCatalogLayerListElement;
}
export interface ArcgisCompassCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisCompassElement;
  currentTarget: HTMLArcgisCompassElement;
}
export interface ArcgisCoordinateConversionCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisCoordinateConversionElement;
  currentTarget: HTMLArcgisCoordinateConversionElement;
}
export interface ArcgisDaylightCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisDaylightElement;
  currentTarget: HTMLArcgisDaylightElement;
}
export interface ArcgisDirectionalPadCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisDirectionalPadElement;
  currentTarget: HTMLArcgisDirectionalPadElement;
}
export interface ArcgisDirectionsCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisDirectionsElement;
  currentTarget: HTMLArcgisDirectionsElement;
}
export interface ArcgisDirectLineMeasurement3dCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisDirectLineMeasurement3dElement;
  currentTarget: HTMLArcgisDirectLineMeasurement3dElement;
}
export interface ArcgisDirectlineMeasurement3dCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisDirectlineMeasurement3dElement;
  currentTarget: HTMLArcgisDirectlineMeasurement3dElement;
}
export interface ArcgisDistanceMeasurement2dCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisDistanceMeasurement2dElement;
  currentTarget: HTMLArcgisDistanceMeasurement2dElement;
}
export interface ArcgisEditorCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisEditorElement;
  currentTarget: HTMLArcgisEditorElement;
}
export interface ArcgisElevationProfileCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisElevationProfileElement;
  currentTarget: HTMLArcgisElevationProfileElement;
}
export interface ArcgisExpandCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisExpandElement;
  currentTarget: HTMLArcgisExpandElement;
}
export interface ArcgisFeatureCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisFeatureElement;
  currentTarget: HTMLArcgisFeatureElement;
}
export interface ArcgisFeatureFormCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisFeatureFormElement;
  currentTarget: HTMLArcgisFeatureFormElement;
}
export interface ArcgisFeatureTableCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisFeatureTableElement;
  currentTarget: HTMLArcgisFeatureTableElement;
}
export interface ArcgisFeatureTemplatesCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisFeatureTemplatesElement;
  currentTarget: HTMLArcgisFeatureTemplatesElement;
}
export interface ArcgisFeaturesCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisFeaturesElement;
  currentTarget: HTMLArcgisFeaturesElement;
}
export interface ArcgisFloorFilterCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisFloorFilterElement;
  currentTarget: HTMLArcgisFloorFilterElement;
}
export interface ArcgisFullscreenCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisFullscreenElement;
  currentTarget: HTMLArcgisFullscreenElement;
}
export interface ArcgisGridControlsCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisGridControlsElement;
  currentTarget: HTMLArcgisGridControlsElement;
}
export interface ArcgisHistogramRangeSliderCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisHistogramRangeSliderElement;
  currentTarget: HTMLArcgisHistogramRangeSliderElement;
}
export interface ArcgisHomeCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisHomeElement;
  currentTarget: HTMLArcgisHomeElement;
}
export interface ArcgisLayerListCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisLayerListElement;
  currentTarget: HTMLArcgisLayerListElement;
}
export interface ArcgisLegendCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisLegendElement;
  currentTarget: HTMLArcgisLegendElement;
}
export interface ArcgisLineOfSightCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisLineOfSightElement;
  currentTarget: HTMLArcgisLineOfSightElement;
}
export interface ArcgisLinkChartCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisLinkChartElement;
  currentTarget: HTMLArcgisLinkChartElement;
}
export interface ArcgisLinkChartLayoutSwitcherCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisLinkChartLayoutSwitcherElement;
  currentTarget: HTMLArcgisLinkChartLayoutSwitcherElement;
}
export interface ArcgisLocateCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisLocateElement;
  currentTarget: HTMLArcgisLocateElement;
}
export interface ArcgisMapCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisMapElement;
  currentTarget: HTMLArcgisMapElement;
}
export interface ArcgisMeasurementCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisMeasurementElement;
  currentTarget: HTMLArcgisMeasurementElement;
}
export interface ArcgisNavigationToggleCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisNavigationToggleElement;
  currentTarget: HTMLArcgisNavigationToggleElement;
}
export interface ArcgisOrientedImageryViewerCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisOrientedImageryViewerElement;
  currentTarget: HTMLArcgisOrientedImageryViewerElement;
}
export interface ArcgisPlacementCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisPlacementElement;
  currentTarget: HTMLArcgisPlacementElement;
}
export interface ArcgisPrintCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisPrintElement;
  currentTarget: HTMLArcgisPrintElement;
}
export interface ArcgisScaleBarCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisScaleBarElement;
  currentTarget: HTMLArcgisScaleBarElement;
}
export interface ArcgisScaleRangeSliderCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisScaleRangeSliderElement;
  currentTarget: HTMLArcgisScaleRangeSliderElement;
}
export interface ArcgisSceneCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisSceneElement;
  currentTarget: HTMLArcgisSceneElement;
}
export interface ArcgisSearchCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisSearchElement;
  currentTarget: HTMLArcgisSearchElement;
}
export interface ArcgisSearchResultRendererCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisSearchResultRendererElement;
  currentTarget: HTMLArcgisSearchResultRendererElement;
}
export interface ArcgisShadowCastCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisShadowCastElement;
  currentTarget: HTMLArcgisShadowCastElement;
}
export interface ArcgisSketchCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisSketchElement;
  currentTarget: HTMLArcgisSketchElement;
}
export interface ArcgisSliceCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisSliceElement;
  currentTarget: HTMLArcgisSliceElement;
}
export interface ArcgisSliderCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisSliderElement;
  currentTarget: HTMLArcgisSliderElement;
}
export interface ArcgisSwipeCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisSwipeElement;
  currentTarget: HTMLArcgisSwipeElement;
}
export interface ArcgisTableListCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisTableListElement;
  currentTarget: HTMLArcgisTableListElement;
}
export interface ArcgisTimeSliderCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisTimeSliderElement;
  currentTarget: HTMLArcgisTimeSliderElement;
}
export interface ArcgisTimeZoneLabelCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisTimeZoneLabelElement;
  currentTarget: HTMLArcgisTimeZoneLabelElement;
}
export interface ArcgisTrackCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisTrackElement;
  currentTarget: HTMLArcgisTrackElement;
}
export interface ArcgisUtilityNetworkAssociationsCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisUtilityNetworkAssociationsElement;
  currentTarget: HTMLArcgisUtilityNetworkAssociationsElement;
}
export interface ArcgisUtilityNetworkTraceCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisUtilityNetworkTraceElement;
  currentTarget: HTMLArcgisUtilityNetworkTraceElement;
}
export interface ArcgisUtilityNetworkValidateTopologyCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisUtilityNetworkValidateTopologyElement;
  currentTarget: HTMLArcgisUtilityNetworkValidateTopologyElement;
}
export interface ArcgisValuePickerCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisValuePickerElement;
  currentTarget: HTMLArcgisValuePickerElement;
}
export interface ArcgisVersionManagementCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisVersionManagementElement;
  currentTarget: HTMLArcgisVersionManagementElement;
}
export interface ArcgisVideoCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisVideoElement;
  currentTarget: HTMLArcgisVideoElement;
}
export interface ArcgisVideoPlayerCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisVideoPlayerElement;
  currentTarget: HTMLArcgisVideoPlayerElement;
}
export interface ArcgisWeatherCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisWeatherElement;
  currentTarget: HTMLArcgisWeatherElement;
}
export interface ArcgisZoomCustomEvent<T> extends CustomEvent<T> {
  detail: T;
  target: HTMLArcgisZoomElement;
  currentTarget: HTMLArcgisZoomElement;
}

export { ToEvents, TargetedEvent } from "@arcgis/lumina";

declare global {
  interface HTMLElementTagNameMap {
    "arcgis-area-measurement-2d": HTMLArcgisAreaMeasurement2dElement;
    "arcgis-area-measurement-3d": HTMLArcgisAreaMeasurement3dElement;
    "arcgis-attachments": HTMLArcgisAttachmentsElement;
    "arcgis-basemap-gallery": HTMLArcgisBasemapGalleryElement;
    "arcgis-basemap-layer-list": HTMLArcgisBasemapLayerListElement;
    "arcgis-basemap-toggle": HTMLArcgisBasemapToggleElement;
    "arcgis-bookmarks": HTMLArcgisBookmarksElement;
    "arcgis-building-explorer": HTMLArcgisBuildingExplorerElement;
    "arcgis-catalog-layer-list": HTMLArcgisCatalogLayerListElement;
    "arcgis-compass": HTMLArcgisCompassElement;
    "arcgis-coordinate-conversion": HTMLArcgisCoordinateConversionElement;
    "arcgis-daylight": HTMLArcgisDaylightElement;
    "arcgis-directional-pad": HTMLArcgisDirectionalPadElement;
    "arcgis-directions": HTMLArcgisDirectionsElement;
    "arcgis-direct-line-measurement-3d": HTMLArcgisDirectLineMeasurement3dElement;
    "arcgis-directline-measurement-3d": HTMLArcgisDirectlineMeasurement3dElement;
    "arcgis-distance-measurement-2d": HTMLArcgisDistanceMeasurement2dElement;
    "arcgis-editor": HTMLArcgisEditorElement;
    "arcgis-elevation-profile": HTMLArcgisElevationProfileElement;
    "arcgis-expand": HTMLArcgisExpandElement;
    "arcgis-feature": HTMLArcgisFeatureElement;
    "arcgis-feature-form": HTMLArcgisFeatureFormElement;
    "arcgis-feature-table": HTMLArcgisFeatureTableElement;
    "arcgis-feature-templates": HTMLArcgisFeatureTemplatesElement;
    "arcgis-features": HTMLArcgisFeaturesElement;
    "arcgis-floor-filter": HTMLArcgisFloorFilterElement;
    "arcgis-fullscreen": HTMLArcgisFullscreenElement;
    "arcgis-grid-controls": HTMLArcgisGridControlsElement;
    "arcgis-histogram-range-slider": HTMLArcgisHistogramRangeSliderElement;
    "arcgis-home": HTMLArcgisHomeElement;
    "arcgis-layer-list": HTMLArcgisLayerListElement;
    "arcgis-legend": HTMLArcgisLegendElement;
    "arcgis-line-of-sight": HTMLArcgisLineOfSightElement;
    "arcgis-link-chart": HTMLArcgisLinkChartElement;
    "arcgis-link-chart-layout-switcher": HTMLArcgisLinkChartLayoutSwitcherElement;
    "arcgis-locate": HTMLArcgisLocateElement;
    "arcgis-map": HTMLArcgisMapElement;
    "arcgis-measurement": HTMLArcgisMeasurementElement;
    "arcgis-navigation-toggle": HTMLArcgisNavigationToggleElement;
    "arcgis-oriented-imagery-viewer": HTMLArcgisOrientedImageryViewerElement;
    "arcgis-placement": HTMLArcgisPlacementElement;
    "arcgis-print": HTMLArcgisPrintElement;
    "arcgis-scale-bar": HTMLArcgisScaleBarElement;
    "arcgis-scale-range-slider": HTMLArcgisScaleRangeSliderElement;
    "arcgis-scene": HTMLArcgisSceneElement;
    "arcgis-search": HTMLArcgisSearchElement;
    "arcgis-search-result-renderer": HTMLArcgisSearchResultRendererElement;
    "arcgis-shadow-cast": HTMLArcgisShadowCastElement;
    "arcgis-sketch": HTMLArcgisSketchElement;
    "arcgis-slice": HTMLArcgisSliceElement;
    "arcgis-slider": HTMLArcgisSliderElement;
    "arcgis-swipe": HTMLArcgisSwipeElement;
    "arcgis-table-list": HTMLArcgisTableListElement;
    "arcgis-time-slider": HTMLArcgisTimeSliderElement;
    "arcgis-time-zone-label": HTMLArcgisTimeZoneLabelElement;
    "arcgis-track": HTMLArcgisTrackElement;
    "arcgis-utility-network-associations": HTMLArcgisUtilityNetworkAssociationsElement;
    "arcgis-utility-network-trace": HTMLArcgisUtilityNetworkTraceElement;
    "arcgis-utility-network-validate-topology": HTMLArcgisUtilityNetworkValidateTopologyElement;
    "arcgis-value-picker": HTMLArcgisValuePickerElement;
    "arcgis-version-management": HTMLArcgisVersionManagementElement;
    "arcgis-video": HTMLArcgisVideoElement;
    "arcgis-video-player": HTMLArcgisVideoPlayerElement;
    "arcgis-weather": HTMLArcgisWeatherElement;
    "arcgis-zoom": HTMLArcgisZoomElement;
  }

  interface HTMLArcgisAreaMeasurement2dElementEventMap {
    "arcgisPropertyChange": ArcgisAreaMeasurement2d["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisAreaMeasurement2d["arcgisReady"]["detail"];
  }

  interface HTMLArcgisAreaMeasurement2dElement extends ArcgisAreaMeasurement2d {
    addEventListener<K extends keyof HTMLArcgisAreaMeasurement2dElementEventMap>(type: K, listener: (this: HTMLArcgisAreaMeasurement2dElement, ev: ArcgisAreaMeasurement2dCustomEvent<HTMLArcgisAreaMeasurement2dElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisAreaMeasurement2dElementEventMap>(type: K, listener: (this: HTMLArcgisAreaMeasurement2dElement, ev: ArcgisAreaMeasurement2dCustomEvent<HTMLArcgisAreaMeasurement2dElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisAreaMeasurement3dElementEventMap {
    "arcgisPropertyChange": ArcgisAreaMeasurement3d["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisAreaMeasurement3d["arcgisReady"]["detail"];
  }

  interface HTMLArcgisAreaMeasurement3dElement extends ArcgisAreaMeasurement3d {
    addEventListener<K extends keyof HTMLArcgisAreaMeasurement3dElementEventMap>(type: K, listener: (this: HTMLArcgisAreaMeasurement3dElement, ev: ArcgisAreaMeasurement3dCustomEvent<HTMLArcgisAreaMeasurement3dElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisAreaMeasurement3dElementEventMap>(type: K, listener: (this: HTMLArcgisAreaMeasurement3dElement, ev: ArcgisAreaMeasurement3dCustomEvent<HTMLArcgisAreaMeasurement3dElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisAttachmentsElementEventMap {
    "arcgisPropertyChange": ArcgisAttachments["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisAttachments["arcgisReady"]["detail"];
  }

  interface HTMLArcgisAttachmentsElement extends ArcgisAttachments {
    addEventListener<K extends keyof HTMLArcgisAttachmentsElementEventMap>(type: K, listener: (this: HTMLArcgisAttachmentsElement, ev: ArcgisAttachmentsCustomEvent<HTMLArcgisAttachmentsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisAttachmentsElementEventMap>(type: K, listener: (this: HTMLArcgisAttachmentsElement, ev: ArcgisAttachmentsCustomEvent<HTMLArcgisAttachmentsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisBasemapGalleryElementEventMap {
    "arcgisPropertyChange": ArcgisBasemapGallery["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisBasemapGallery["arcgisReady"]["detail"];
  }

  interface HTMLArcgisBasemapGalleryElement extends ArcgisBasemapGallery {
    addEventListener<K extends keyof HTMLArcgisBasemapGalleryElementEventMap>(type: K, listener: (this: HTMLArcgisBasemapGalleryElement, ev: ArcgisBasemapGalleryCustomEvent<HTMLArcgisBasemapGalleryElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisBasemapGalleryElementEventMap>(type: K, listener: (this: HTMLArcgisBasemapGalleryElement, ev: ArcgisBasemapGalleryCustomEvent<HTMLArcgisBasemapGalleryElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisBasemapLayerListElementEventMap {
    "arcgisClose": ArcgisBasemapLayerList["arcgisClose"]["detail"];
    "arcgisPropertyChange": ArcgisBasemapLayerList["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisBasemapLayerList["arcgisReady"]["detail"];
    "arcgisTriggerAction": ArcgisBasemapLayerList["arcgisTriggerAction"]["detail"];
  }

  interface HTMLArcgisBasemapLayerListElement extends ArcgisBasemapLayerList {
    addEventListener<K extends keyof HTMLArcgisBasemapLayerListElementEventMap>(type: K, listener: (this: HTMLArcgisBasemapLayerListElement, ev: ArcgisBasemapLayerListCustomEvent<HTMLArcgisBasemapLayerListElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisBasemapLayerListElementEventMap>(type: K, listener: (this: HTMLArcgisBasemapLayerListElement, ev: ArcgisBasemapLayerListCustomEvent<HTMLArcgisBasemapLayerListElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisBasemapToggleElementEventMap {
    "arcgisPropertyChange": ArcgisBasemapToggle["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisBasemapToggle["arcgisReady"]["detail"];
  }

  interface HTMLArcgisBasemapToggleElement extends ArcgisBasemapToggle {
    addEventListener<K extends keyof HTMLArcgisBasemapToggleElementEventMap>(type: K, listener: (this: HTMLArcgisBasemapToggleElement, ev: ArcgisBasemapToggleCustomEvent<HTMLArcgisBasemapToggleElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisBasemapToggleElementEventMap>(type: K, listener: (this: HTMLArcgisBasemapToggleElement, ev: ArcgisBasemapToggleCustomEvent<HTMLArcgisBasemapToggleElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisBookmarksElementEventMap {
    "arcgisClose": ArcgisBookmarks["arcgisClose"]["detail"];
    "arcgisEdit": ArcgisBookmarks["arcgisEdit"]["detail"];
    "arcgisPropertyChange": ArcgisBookmarks["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisBookmarks["arcgisReady"]["detail"];
    "arcgisSelect": ArcgisBookmarks["arcgisSelect"]["detail"];
  }

  interface HTMLArcgisBookmarksElement extends ArcgisBookmarks {
    addEventListener<K extends keyof HTMLArcgisBookmarksElementEventMap>(type: K, listener: (this: HTMLArcgisBookmarksElement, ev: ArcgisBookmarksCustomEvent<HTMLArcgisBookmarksElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisBookmarksElementEventMap>(type: K, listener: (this: HTMLArcgisBookmarksElement, ev: ArcgisBookmarksCustomEvent<HTMLArcgisBookmarksElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisBuildingExplorerElementEventMap {
    "arcgisPropertyChange": ArcgisBuildingExplorer["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisBuildingExplorer["arcgisReady"]["detail"];
  }

  interface HTMLArcgisBuildingExplorerElement extends ArcgisBuildingExplorer {
    addEventListener<K extends keyof HTMLArcgisBuildingExplorerElementEventMap>(type: K, listener: (this: HTMLArcgisBuildingExplorerElement, ev: ArcgisBuildingExplorerCustomEvent<HTMLArcgisBuildingExplorerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisBuildingExplorerElementEventMap>(type: K, listener: (this: HTMLArcgisBuildingExplorerElement, ev: ArcgisBuildingExplorerCustomEvent<HTMLArcgisBuildingExplorerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisCatalogLayerListElementEventMap {
    "arcgisClose": ArcgisCatalogLayerList["arcgisClose"]["detail"];
    "arcgisPropertyChange": ArcgisCatalogLayerList["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisCatalogLayerList["arcgisReady"]["detail"];
    "arcgisTriggerAction": ArcgisCatalogLayerList["arcgisTriggerAction"]["detail"];
  }

  interface HTMLArcgisCatalogLayerListElement extends ArcgisCatalogLayerList {
    addEventListener<K extends keyof HTMLArcgisCatalogLayerListElementEventMap>(type: K, listener: (this: HTMLArcgisCatalogLayerListElement, ev: ArcgisCatalogLayerListCustomEvent<HTMLArcgisCatalogLayerListElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisCatalogLayerListElementEventMap>(type: K, listener: (this: HTMLArcgisCatalogLayerListElement, ev: ArcgisCatalogLayerListCustomEvent<HTMLArcgisCatalogLayerListElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisCompassElementEventMap {
    "arcgisPropertyChange": ArcgisCompass["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisCompass["arcgisReady"]["detail"];
  }

  interface HTMLArcgisCompassElement extends ArcgisCompass {
    addEventListener<K extends keyof HTMLArcgisCompassElementEventMap>(type: K, listener: (this: HTMLArcgisCompassElement, ev: ArcgisCompassCustomEvent<HTMLArcgisCompassElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisCompassElementEventMap>(type: K, listener: (this: HTMLArcgisCompassElement, ev: ArcgisCompassCustomEvent<HTMLArcgisCompassElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisCoordinateConversionElementEventMap {
    "arcgisPropertyChange": ArcgisCoordinateConversion["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisCoordinateConversion["arcgisReady"]["detail"];
  }

  interface HTMLArcgisCoordinateConversionElement extends ArcgisCoordinateConversion {
    addEventListener<K extends keyof HTMLArcgisCoordinateConversionElementEventMap>(type: K, listener: (this: HTMLArcgisCoordinateConversionElement, ev: ArcgisCoordinateConversionCustomEvent<HTMLArcgisCoordinateConversionElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisCoordinateConversionElementEventMap>(type: K, listener: (this: HTMLArcgisCoordinateConversionElement, ev: ArcgisCoordinateConversionCustomEvent<HTMLArcgisCoordinateConversionElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisDaylightElementEventMap {
    "arcgisReady": ArcgisDaylight["arcgisReady"]["detail"];
    "arcgisUserDateTimeChange": ArcgisDaylight["arcgisUserDateTimeChange"]["detail"];
  }

  interface HTMLArcgisDaylightElement extends ArcgisDaylight {
    addEventListener<K extends keyof HTMLArcgisDaylightElementEventMap>(type: K, listener: (this: HTMLArcgisDaylightElement, ev: ArcgisDaylightCustomEvent<HTMLArcgisDaylightElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisDaylightElementEventMap>(type: K, listener: (this: HTMLArcgisDaylightElement, ev: ArcgisDaylightCustomEvent<HTMLArcgisDaylightElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisDirectionalPadElementEventMap {
    "arcgisPropertyChange": ArcgisDirectionalPad["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisDirectionalPad["arcgisReady"]["detail"];
  }

  interface HTMLArcgisDirectionalPadElement extends ArcgisDirectionalPad {
    addEventListener<K extends keyof HTMLArcgisDirectionalPadElementEventMap>(type: K, listener: (this: HTMLArcgisDirectionalPadElement, ev: ArcgisDirectionalPadCustomEvent<HTMLArcgisDirectionalPadElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisDirectionalPadElementEventMap>(type: K, listener: (this: HTMLArcgisDirectionalPadElement, ev: ArcgisDirectionalPadCustomEvent<HTMLArcgisDirectionalPadElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisDirectionsElementEventMap {
    "arcgisPropertyChange": ArcgisDirections["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisDirections["arcgisReady"]["detail"];
  }

  interface HTMLArcgisDirectionsElement extends ArcgisDirections {
    addEventListener<K extends keyof HTMLArcgisDirectionsElementEventMap>(type: K, listener: (this: HTMLArcgisDirectionsElement, ev: ArcgisDirectionsCustomEvent<HTMLArcgisDirectionsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisDirectionsElementEventMap>(type: K, listener: (this: HTMLArcgisDirectionsElement, ev: ArcgisDirectionsCustomEvent<HTMLArcgisDirectionsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisDirectLineMeasurement3dElementEventMap {
    "arcgisPropertyChange": ArcgisDirectLineMeasurement3d["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisDirectLineMeasurement3d["arcgisReady"]["detail"];
  }

  interface HTMLArcgisDirectLineMeasurement3dElement extends ArcgisDirectLineMeasurement3d {
    addEventListener<K extends keyof HTMLArcgisDirectLineMeasurement3dElementEventMap>(type: K, listener: (this: HTMLArcgisDirectLineMeasurement3dElement, ev: ArcgisDirectLineMeasurement3dCustomEvent<HTMLArcgisDirectLineMeasurement3dElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisDirectLineMeasurement3dElementEventMap>(type: K, listener: (this: HTMLArcgisDirectLineMeasurement3dElement, ev: ArcgisDirectLineMeasurement3dCustomEvent<HTMLArcgisDirectLineMeasurement3dElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisDirectlineMeasurement3dElementEventMap {
    "arcgisPropertyChange": DeprecatedArcgisDirectLineMeasurement3d["arcgisPropertyChange"]["detail"];
    "arcgisReady": DeprecatedArcgisDirectLineMeasurement3d["arcgisReady"]["detail"];
  }

  interface HTMLArcgisDirectlineMeasurement3dElement extends DeprecatedArcgisDirectLineMeasurement3d {
    addEventListener<K extends keyof HTMLArcgisDirectlineMeasurement3dElementEventMap>(type: K, listener: (this: HTMLArcgisDirectlineMeasurement3dElement, ev: ArcgisDirectlineMeasurement3dCustomEvent<HTMLArcgisDirectlineMeasurement3dElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisDirectlineMeasurement3dElementEventMap>(type: K, listener: (this: HTMLArcgisDirectlineMeasurement3dElement, ev: ArcgisDirectlineMeasurement3dCustomEvent<HTMLArcgisDirectlineMeasurement3dElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisDistanceMeasurement2dElementEventMap {
    "arcgisPropertyChange": ArcgisDistanceMeasurement2d["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisDistanceMeasurement2d["arcgisReady"]["detail"];
  }

  interface HTMLArcgisDistanceMeasurement2dElement extends ArcgisDistanceMeasurement2d {
    addEventListener<K extends keyof HTMLArcgisDistanceMeasurement2dElementEventMap>(type: K, listener: (this: HTMLArcgisDistanceMeasurement2dElement, ev: ArcgisDistanceMeasurement2dCustomEvent<HTMLArcgisDistanceMeasurement2dElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisDistanceMeasurement2dElementEventMap>(type: K, listener: (this: HTMLArcgisDistanceMeasurement2dElement, ev: ArcgisDistanceMeasurement2dCustomEvent<HTMLArcgisDistanceMeasurement2dElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisEditorElementEventMap {
    "arcgisPropertyChange": ArcgisEditor["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisEditor["arcgisReady"]["detail"];
  }

  interface HTMLArcgisEditorElement extends ArcgisEditor {
    addEventListener<K extends keyof HTMLArcgisEditorElementEventMap>(type: K, listener: (this: HTMLArcgisEditorElement, ev: ArcgisEditorCustomEvent<HTMLArcgisEditorElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisEditorElementEventMap>(type: K, listener: (this: HTMLArcgisEditorElement, ev: ArcgisEditorCustomEvent<HTMLArcgisEditorElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisElevationProfileElementEventMap {
    "arcgisPropertyChange": ArcgisElevationProfile["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisElevationProfile["arcgisReady"]["detail"];
  }

  interface HTMLArcgisElevationProfileElement extends ArcgisElevationProfile {
    addEventListener<K extends keyof HTMLArcgisElevationProfileElementEventMap>(type: K, listener: (this: HTMLArcgisElevationProfileElement, ev: ArcgisElevationProfileCustomEvent<HTMLArcgisElevationProfileElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisElevationProfileElementEventMap>(type: K, listener: (this: HTMLArcgisElevationProfileElement, ev: ArcgisElevationProfileCustomEvent<HTMLArcgisElevationProfileElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisExpandElementEventMap {
    "arcgisReady": ArcgisExpand["arcgisReady"]["detail"];
  }

  interface HTMLArcgisExpandElement extends ArcgisExpand {
    addEventListener<K extends keyof HTMLArcgisExpandElementEventMap>(type: K, listener: (this: HTMLArcgisExpandElement, ev: ArcgisExpandCustomEvent<HTMLArcgisExpandElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisExpandElementEventMap>(type: K, listener: (this: HTMLArcgisExpandElement, ev: ArcgisExpandCustomEvent<HTMLArcgisExpandElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisFeatureElementEventMap {
    "arcgisPropertyChange": ArcgisFeature["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisFeature["arcgisReady"]["detail"];
  }

  interface HTMLArcgisFeatureElement extends ArcgisFeature {
    addEventListener<K extends keyof HTMLArcgisFeatureElementEventMap>(type: K, listener: (this: HTMLArcgisFeatureElement, ev: ArcgisFeatureCustomEvent<HTMLArcgisFeatureElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisFeatureElementEventMap>(type: K, listener: (this: HTMLArcgisFeatureElement, ev: ArcgisFeatureCustomEvent<HTMLArcgisFeatureElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisFeatureFormElementEventMap {
    "arcgisPropertyChange": ArcgisFeatureForm["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisFeatureForm["arcgisReady"]["detail"];
    "arcgisSubmit": ArcgisFeatureForm["arcgisSubmit"]["detail"];
    "arcgisValueChange": ArcgisFeatureForm["arcgisValueChange"]["detail"];
  }

  interface HTMLArcgisFeatureFormElement extends ArcgisFeatureForm {
    addEventListener<K extends keyof HTMLArcgisFeatureFormElementEventMap>(type: K, listener: (this: HTMLArcgisFeatureFormElement, ev: ArcgisFeatureFormCustomEvent<HTMLArcgisFeatureFormElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisFeatureFormElementEventMap>(type: K, listener: (this: HTMLArcgisFeatureFormElement, ev: ArcgisFeatureFormCustomEvent<HTMLArcgisFeatureFormElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisFeatureTableElementEventMap {
    "arcgisCellClick": ArcgisFeatureTable["arcgisCellClick"]["detail"];
    "arcgisCellKeydown": ArcgisFeatureTable["arcgisCellKeydown"]["detail"];
    "arcgisCellPointerout": ArcgisFeatureTable["arcgisCellPointerout"]["detail"];
    "arcgisCellPointerover": ArcgisFeatureTable["arcgisCellPointerover"]["detail"];
    "arcgisColumnReorder": ArcgisFeatureTable["arcgisColumnReorder"]["detail"];
    "arcgisPropertyChange": ArcgisFeatureTable["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisFeatureTable["arcgisReady"]["detail"];
    "arcgisSelectionChange": ArcgisFeatureTable["arcgisSelectionChange"]["detail"];
  }

  interface HTMLArcgisFeatureTableElement extends ArcgisFeatureTable {
    addEventListener<K extends keyof HTMLArcgisFeatureTableElementEventMap>(type: K, listener: (this: HTMLArcgisFeatureTableElement, ev: ArcgisFeatureTableCustomEvent<HTMLArcgisFeatureTableElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisFeatureTableElementEventMap>(type: K, listener: (this: HTMLArcgisFeatureTableElement, ev: ArcgisFeatureTableCustomEvent<HTMLArcgisFeatureTableElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisFeatureTemplatesElementEventMap {
    "arcgisPropertyChange": ArcgisFeatureTemplates["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisFeatureTemplates["arcgisReady"]["detail"];
    "arcgisSelect": ArcgisFeatureTemplates["arcgisSelect"]["detail"];
  }

  interface HTMLArcgisFeatureTemplatesElement extends ArcgisFeatureTemplates {
    addEventListener<K extends keyof HTMLArcgisFeatureTemplatesElementEventMap>(type: K, listener: (this: HTMLArcgisFeatureTemplatesElement, ev: ArcgisFeatureTemplatesCustomEvent<HTMLArcgisFeatureTemplatesElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisFeatureTemplatesElementEventMap>(type: K, listener: (this: HTMLArcgisFeatureTemplatesElement, ev: ArcgisFeatureTemplatesCustomEvent<HTMLArcgisFeatureTemplatesElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisFeaturesElementEventMap {
    "arcgisClose": ArcgisFeatures["arcgisClose"]["detail"];
    "arcgisPropertyChange": ArcgisFeatures["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisFeatures["arcgisReady"]["detail"];
    "arcgisTriggerAction": ArcgisFeatures["arcgisTriggerAction"]["detail"];
  }

  interface HTMLArcgisFeaturesElement extends ArcgisFeatures {
    addEventListener<K extends keyof HTMLArcgisFeaturesElementEventMap>(type: K, listener: (this: HTMLArcgisFeaturesElement, ev: ArcgisFeaturesCustomEvent<HTMLArcgisFeaturesElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisFeaturesElementEventMap>(type: K, listener: (this: HTMLArcgisFeaturesElement, ev: ArcgisFeaturesCustomEvent<HTMLArcgisFeaturesElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisFloorFilterElementEventMap {
    "arcgisReady": ArcgisFloorFilter["arcgisReady"]["detail"];
  }

  interface HTMLArcgisFloorFilterElement extends ArcgisFloorFilter {
    addEventListener<K extends keyof HTMLArcgisFloorFilterElementEventMap>(type: K, listener: (this: HTMLArcgisFloorFilterElement, ev: ArcgisFloorFilterCustomEvent<HTMLArcgisFloorFilterElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisFloorFilterElementEventMap>(type: K, listener: (this: HTMLArcgisFloorFilterElement, ev: ArcgisFloorFilterCustomEvent<HTMLArcgisFloorFilterElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisFullscreenElementEventMap {
    "arcgisPropertyChange": ArcgisFullscreen["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisFullscreen["arcgisReady"]["detail"];
  }

  interface HTMLArcgisFullscreenElement extends ArcgisFullscreen {
    addEventListener<K extends keyof HTMLArcgisFullscreenElementEventMap>(type: K, listener: (this: HTMLArcgisFullscreenElement, ev: ArcgisFullscreenCustomEvent<HTMLArcgisFullscreenElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisFullscreenElementEventMap>(type: K, listener: (this: HTMLArcgisFullscreenElement, ev: ArcgisFullscreenCustomEvent<HTMLArcgisFullscreenElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisGridControlsElementEventMap {
    "arcgisPropertyChange": ArcgisGridControls["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisGridControls["arcgisReady"]["detail"];
  }

  interface HTMLArcgisGridControlsElement extends ArcgisGridControls {
    addEventListener<K extends keyof HTMLArcgisGridControlsElementEventMap>(type: K, listener: (this: HTMLArcgisGridControlsElement, ev: ArcgisGridControlsCustomEvent<HTMLArcgisGridControlsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisGridControlsElementEventMap>(type: K, listener: (this: HTMLArcgisGridControlsElement, ev: ArcgisGridControlsCustomEvent<HTMLArcgisGridControlsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisHistogramRangeSliderElementEventMap {
    "arcgisPropertyChange": ArcgisHistogramRangeSlider["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisHistogramRangeSlider["arcgisReady"]["detail"];
  }

  interface HTMLArcgisHistogramRangeSliderElement extends ArcgisHistogramRangeSlider {
    addEventListener<K extends keyof HTMLArcgisHistogramRangeSliderElementEventMap>(type: K, listener: (this: HTMLArcgisHistogramRangeSliderElement, ev: ArcgisHistogramRangeSliderCustomEvent<HTMLArcgisHistogramRangeSliderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisHistogramRangeSliderElementEventMap>(type: K, listener: (this: HTMLArcgisHistogramRangeSliderElement, ev: ArcgisHistogramRangeSliderCustomEvent<HTMLArcgisHistogramRangeSliderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisHomeElementEventMap {
    "arcgisGo": ArcgisHome["arcgisGo"]["detail"];
    "arcgisPropertyChange": ArcgisHome["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisHome["arcgisReady"]["detail"];
  }

  interface HTMLArcgisHomeElement extends ArcgisHome {
    addEventListener<K extends keyof HTMLArcgisHomeElementEventMap>(type: K, listener: (this: HTMLArcgisHomeElement, ev: ArcgisHomeCustomEvent<HTMLArcgisHomeElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisHomeElementEventMap>(type: K, listener: (this: HTMLArcgisHomeElement, ev: ArcgisHomeCustomEvent<HTMLArcgisHomeElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisLayerListElementEventMap {
    "arcgisClose": ArcgisLayerList["arcgisClose"]["detail"];
    "arcgisPropertyChange": ArcgisLayerList["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisLayerList["arcgisReady"]["detail"];
    "arcgisTriggerAction": ArcgisLayerList["arcgisTriggerAction"]["detail"];
  }

  interface HTMLArcgisLayerListElement extends ArcgisLayerList {
    addEventListener<K extends keyof HTMLArcgisLayerListElementEventMap>(type: K, listener: (this: HTMLArcgisLayerListElement, ev: ArcgisLayerListCustomEvent<HTMLArcgisLayerListElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisLayerListElementEventMap>(type: K, listener: (this: HTMLArcgisLayerListElement, ev: ArcgisLayerListCustomEvent<HTMLArcgisLayerListElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisLegendElementEventMap {
    "arcgisPropertyChange": ArcgisLegend["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisLegend["arcgisReady"]["detail"];
  }

  interface HTMLArcgisLegendElement extends ArcgisLegend {
    addEventListener<K extends keyof HTMLArcgisLegendElementEventMap>(type: K, listener: (this: HTMLArcgisLegendElement, ev: ArcgisLegendCustomEvent<HTMLArcgisLegendElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisLegendElementEventMap>(type: K, listener: (this: HTMLArcgisLegendElement, ev: ArcgisLegendCustomEvent<HTMLArcgisLegendElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisLineOfSightElementEventMap {
    "arcgisPropertyChange": ArcgisLineOfSight["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisLineOfSight["arcgisReady"]["detail"];
  }

  interface HTMLArcgisLineOfSightElement extends ArcgisLineOfSight {
    addEventListener<K extends keyof HTMLArcgisLineOfSightElementEventMap>(type: K, listener: (this: HTMLArcgisLineOfSightElement, ev: ArcgisLineOfSightCustomEvent<HTMLArcgisLineOfSightElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisLineOfSightElementEventMap>(type: K, listener: (this: HTMLArcgisLineOfSightElement, ev: ArcgisLineOfSightCustomEvent<HTMLArcgisLineOfSightElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisLinkChartElementEventMap {
    "arcgisViewChange": ArcgisLinkChart["arcgisViewChange"]["detail"];
    "arcgisViewClick": ArcgisLinkChart["arcgisViewClick"]["detail"];
    "arcgisViewDoubleClick": ArcgisLinkChart["arcgisViewDoubleClick"]["detail"];
    "arcgisViewDrag": ArcgisLinkChart["arcgisViewDrag"]["detail"];
    "arcgisViewHold": ArcgisLinkChart["arcgisViewHold"]["detail"];
    "arcgisViewImmediateClick": ArcgisLinkChart["arcgisViewImmediateClick"]["detail"];
    "arcgisViewImmediateDoubleClick": ArcgisLinkChart["arcgisViewImmediateDoubleClick"]["detail"];
    "arcgisViewKeyDown": ArcgisLinkChart["arcgisViewKeyDown"]["detail"];
    "arcgisViewKeyUp": ArcgisLinkChart["arcgisViewKeyUp"]["detail"];
    "arcgisViewLayerviewCreate": ArcgisLinkChart["arcgisViewLayerviewCreate"]["detail"];
    "arcgisViewLayerviewCreateError": ArcgisLinkChart["arcgisViewLayerviewCreateError"]["detail"];
    "arcgisViewLayerviewDestroy": ArcgisLinkChart["arcgisViewLayerviewDestroy"]["detail"];
    "arcgisViewMouseWheel": ArcgisLinkChart["arcgisViewMouseWheel"]["detail"];
    "arcgisViewPointerDown": ArcgisLinkChart["arcgisViewPointerDown"]["detail"];
    "arcgisViewPointerEnter": ArcgisLinkChart["arcgisViewPointerEnter"]["detail"];
    "arcgisViewPointerLeave": ArcgisLinkChart["arcgisViewPointerLeave"]["detail"];
    "arcgisViewPointerMove": ArcgisLinkChart["arcgisViewPointerMove"]["detail"];
    "arcgisViewPointerUp": ArcgisLinkChart["arcgisViewPointerUp"]["detail"];
    "arcgisViewReadyChange": ArcgisLinkChart["arcgisViewReadyChange"]["detail"];
  }

  interface HTMLArcgisLinkChartElement extends ArcgisLinkChart {
    addEventListener<K extends keyof HTMLArcgisLinkChartElementEventMap>(type: K, listener: (this: HTMLArcgisLinkChartElement, ev: ArcgisLinkChartCustomEvent<HTMLArcgisLinkChartElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisLinkChartElementEventMap>(type: K, listener: (this: HTMLArcgisLinkChartElement, ev: ArcgisLinkChartCustomEvent<HTMLArcgisLinkChartElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisLinkChartLayoutSwitcherElementEventMap {
    "arcgisPropertyChange": ArcgisLinkChartLayoutSwitcher["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisLinkChartLayoutSwitcher["arcgisReady"]["detail"];
    "arcgisSwitchLayout": ArcgisLinkChartLayoutSwitcher["arcgisSwitchLayout"]["detail"];
  }

  interface HTMLArcgisLinkChartLayoutSwitcherElement extends ArcgisLinkChartLayoutSwitcher {
    addEventListener<K extends keyof HTMLArcgisLinkChartLayoutSwitcherElementEventMap>(type: K, listener: (this: HTMLArcgisLinkChartLayoutSwitcherElement, ev: ArcgisLinkChartLayoutSwitcherCustomEvent<HTMLArcgisLinkChartLayoutSwitcherElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisLinkChartLayoutSwitcherElementEventMap>(type: K, listener: (this: HTMLArcgisLinkChartLayoutSwitcherElement, ev: ArcgisLinkChartLayoutSwitcherCustomEvent<HTMLArcgisLinkChartLayoutSwitcherElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisLocateElementEventMap {
    "arcgisError": ArcgisLocate["arcgisError"]["detail"];
    "arcgisPropertyChange": ArcgisLocate["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisLocate["arcgisReady"]["detail"];
    "arcgisSuccess": ArcgisLocate["arcgisSuccess"]["detail"];
  }

  interface HTMLArcgisLocateElement extends ArcgisLocate {
    addEventListener<K extends keyof HTMLArcgisLocateElementEventMap>(type: K, listener: (this: HTMLArcgisLocateElement, ev: ArcgisLocateCustomEvent<HTMLArcgisLocateElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisLocateElementEventMap>(type: K, listener: (this: HTMLArcgisLocateElement, ev: ArcgisLocateCustomEvent<HTMLArcgisLocateElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisMapElementEventMap {
    "arcgisViewChange": ArcgisMap["arcgisViewChange"]["detail"];
    "arcgisViewClick": ArcgisMap["arcgisViewClick"]["detail"];
    "arcgisViewDoubleClick": ArcgisMap["arcgisViewDoubleClick"]["detail"];
    "arcgisViewDrag": ArcgisMap["arcgisViewDrag"]["detail"];
    "arcgisViewHold": ArcgisMap["arcgisViewHold"]["detail"];
    "arcgisViewImmediateClick": ArcgisMap["arcgisViewImmediateClick"]["detail"];
    "arcgisViewImmediateDoubleClick": ArcgisMap["arcgisViewImmediateDoubleClick"]["detail"];
    "arcgisViewKeyDown": ArcgisMap["arcgisViewKeyDown"]["detail"];
    "arcgisViewKeyUp": ArcgisMap["arcgisViewKeyUp"]["detail"];
    "arcgisViewLayerviewCreate": ArcgisMap["arcgisViewLayerviewCreate"]["detail"];
    "arcgisViewLayerviewCreateError": ArcgisMap["arcgisViewLayerviewCreateError"]["detail"];
    "arcgisViewLayerviewDestroy": ArcgisMap["arcgisViewLayerviewDestroy"]["detail"];
    "arcgisViewMouseWheel": ArcgisMap["arcgisViewMouseWheel"]["detail"];
    "arcgisViewPointerDown": ArcgisMap["arcgisViewPointerDown"]["detail"];
    "arcgisViewPointerEnter": ArcgisMap["arcgisViewPointerEnter"]["detail"];
    "arcgisViewPointerLeave": ArcgisMap["arcgisViewPointerLeave"]["detail"];
    "arcgisViewPointerMove": ArcgisMap["arcgisViewPointerMove"]["detail"];
    "arcgisViewPointerUp": ArcgisMap["arcgisViewPointerUp"]["detail"];
    "arcgisViewReadyChange": ArcgisMap["arcgisViewReadyChange"]["detail"];
  }

  interface HTMLArcgisMapElement extends ArcgisMap {
    addEventListener<K extends keyof HTMLArcgisMapElementEventMap>(type: K, listener: (this: HTMLArcgisMapElement, ev: ArcgisMapCustomEvent<HTMLArcgisMapElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisMapElementEventMap>(type: K, listener: (this: HTMLArcgisMapElement, ev: ArcgisMapCustomEvent<HTMLArcgisMapElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisMeasurementElementEventMap {
    "arcgisPropertyChange": ArcgisMeasurement["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisMeasurement["arcgisReady"]["detail"];
  }

  interface HTMLArcgisMeasurementElement extends ArcgisMeasurement {
    addEventListener<K extends keyof HTMLArcgisMeasurementElementEventMap>(type: K, listener: (this: HTMLArcgisMeasurementElement, ev: ArcgisMeasurementCustomEvent<HTMLArcgisMeasurementElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisMeasurementElementEventMap>(type: K, listener: (this: HTMLArcgisMeasurementElement, ev: ArcgisMeasurementCustomEvent<HTMLArcgisMeasurementElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisNavigationToggleElementEventMap {
    "arcgisPropertyChange": ArcgisNavigationToggle["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisNavigationToggle["arcgisReady"]["detail"];
  }

  interface HTMLArcgisNavigationToggleElement extends ArcgisNavigationToggle {
    addEventListener<K extends keyof HTMLArcgisNavigationToggleElementEventMap>(type: K, listener: (this: HTMLArcgisNavigationToggleElement, ev: ArcgisNavigationToggleCustomEvent<HTMLArcgisNavigationToggleElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisNavigationToggleElementEventMap>(type: K, listener: (this: HTMLArcgisNavigationToggleElement, ev: ArcgisNavigationToggleCustomEvent<HTMLArcgisNavigationToggleElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisOrientedImageryViewerElementEventMap {
    "arcgisPropertyChange": ArcgisOrientedImageryViewer["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisOrientedImageryViewer["arcgisReady"]["detail"];
  }

  interface HTMLArcgisOrientedImageryViewerElement extends ArcgisOrientedImageryViewer {
    addEventListener<K extends keyof HTMLArcgisOrientedImageryViewerElementEventMap>(type: K, listener: (this: HTMLArcgisOrientedImageryViewerElement, ev: ArcgisOrientedImageryViewerCustomEvent<HTMLArcgisOrientedImageryViewerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisOrientedImageryViewerElementEventMap>(type: K, listener: (this: HTMLArcgisOrientedImageryViewerElement, ev: ArcgisOrientedImageryViewerCustomEvent<HTMLArcgisOrientedImageryViewerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisPlacementElementEventMap {
    "arcgisReady": ArcgisPlacement["arcgisReady"]["detail"];
  }

  interface HTMLArcgisPlacementElement extends ArcgisPlacement {
    addEventListener<K extends keyof HTMLArcgisPlacementElementEventMap>(type: K, listener: (this: HTMLArcgisPlacementElement, ev: ArcgisPlacementCustomEvent<HTMLArcgisPlacementElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisPlacementElementEventMap>(type: K, listener: (this: HTMLArcgisPlacementElement, ev: ArcgisPlacementCustomEvent<HTMLArcgisPlacementElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisPrintElementEventMap {
    "arcgisComplete": ArcgisPrint["arcgisComplete"]["detail"];
    "arcgisPropertyChange": ArcgisPrint["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisPrint["arcgisReady"]["detail"];
    "arcgisSubmit": ArcgisPrint["arcgisSubmit"]["detail"];
  }

  interface HTMLArcgisPrintElement extends ArcgisPrint {
    addEventListener<K extends keyof HTMLArcgisPrintElementEventMap>(type: K, listener: (this: HTMLArcgisPrintElement, ev: ArcgisPrintCustomEvent<HTMLArcgisPrintElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisPrintElementEventMap>(type: K, listener: (this: HTMLArcgisPrintElement, ev: ArcgisPrintCustomEvent<HTMLArcgisPrintElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisScaleBarElementEventMap {
    "arcgisReady": ArcgisScaleBar["arcgisReady"]["detail"];
  }

  interface HTMLArcgisScaleBarElement extends ArcgisScaleBar {
    addEventListener<K extends keyof HTMLArcgisScaleBarElementEventMap>(type: K, listener: (this: HTMLArcgisScaleBarElement, ev: ArcgisScaleBarCustomEvent<HTMLArcgisScaleBarElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisScaleBarElementEventMap>(type: K, listener: (this: HTMLArcgisScaleBarElement, ev: ArcgisScaleBarCustomEvent<HTMLArcgisScaleBarElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisScaleRangeSliderElementEventMap {
    "arcgisPropertyChange": ArcgisScaleRangeSlider["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisScaleRangeSlider["arcgisReady"]["detail"];
  }

  interface HTMLArcgisScaleRangeSliderElement extends ArcgisScaleRangeSlider {
    addEventListener<K extends keyof HTMLArcgisScaleRangeSliderElementEventMap>(type: K, listener: (this: HTMLArcgisScaleRangeSliderElement, ev: ArcgisScaleRangeSliderCustomEvent<HTMLArcgisScaleRangeSliderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisScaleRangeSliderElementEventMap>(type: K, listener: (this: HTMLArcgisScaleRangeSliderElement, ev: ArcgisScaleRangeSliderCustomEvent<HTMLArcgisScaleRangeSliderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisSceneElementEventMap {
    "arcgisViewAnalysisViewCreate": ArcgisScene["arcgisViewAnalysisViewCreate"]["detail"];
    "arcgisViewAnalysisViewCreateError": ArcgisScene["arcgisViewAnalysisViewCreateError"]["detail"];
    "arcgisViewAnalysisViewDestroy": ArcgisScene["arcgisViewAnalysisViewDestroy"]["detail"];
    "arcgisViewChange": ArcgisScene["arcgisViewChange"]["detail"];
    "arcgisViewClick": ArcgisScene["arcgisViewClick"]["detail"];
    "arcgisViewDoubleClick": ArcgisScene["arcgisViewDoubleClick"]["detail"];
    "arcgisViewDrag": ArcgisScene["arcgisViewDrag"]["detail"];
    "arcgisViewHold": ArcgisScene["arcgisViewHold"]["detail"];
    "arcgisViewImmediateClick": ArcgisScene["arcgisViewImmediateClick"]["detail"];
    "arcgisViewImmediateDoubleClick": ArcgisScene["arcgisViewImmediateDoubleClick"]["detail"];
    "arcgisViewKeyDown": ArcgisScene["arcgisViewKeyDown"]["detail"];
    "arcgisViewKeyUp": ArcgisScene["arcgisViewKeyUp"]["detail"];
    "arcgisViewLayerviewCreate": ArcgisScene["arcgisViewLayerviewCreate"]["detail"];
    "arcgisViewLayerviewCreateError": ArcgisScene["arcgisViewLayerviewCreateError"]["detail"];
    "arcgisViewLayerviewDestroy": ArcgisScene["arcgisViewLayerviewDestroy"]["detail"];
    "arcgisViewMouseWheel": ArcgisScene["arcgisViewMouseWheel"]["detail"];
    "arcgisViewPointerDown": ArcgisScene["arcgisViewPointerDown"]["detail"];
    "arcgisViewPointerEnter": ArcgisScene["arcgisViewPointerEnter"]["detail"];
    "arcgisViewPointerLeave": ArcgisScene["arcgisViewPointerLeave"]["detail"];
    "arcgisViewPointerMove": ArcgisScene["arcgisViewPointerMove"]["detail"];
    "arcgisViewPointerUp": ArcgisScene["arcgisViewPointerUp"]["detail"];
    "arcgisViewReadyChange": ArcgisScene["arcgisViewReadyChange"]["detail"];
  }

  interface HTMLArcgisSceneElement extends ArcgisScene {
    addEventListener<K extends keyof HTMLArcgisSceneElementEventMap>(type: K, listener: (this: HTMLArcgisSceneElement, ev: ArcgisSceneCustomEvent<HTMLArcgisSceneElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisSceneElementEventMap>(type: K, listener: (this: HTMLArcgisSceneElement, ev: ArcgisSceneCustomEvent<HTMLArcgisSceneElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisSearchElementEventMap {
    "arcgisPropertyChange": ArcgisSearch["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisSearch["arcgisReady"]["detail"];
    "arcgisSearchClear": ArcgisSearch["arcgisSearchClear"]["detail"];
    "arcgisSearchComplete": ArcgisSearch["arcgisSearchComplete"]["detail"];
    "arcgisSearchStart": ArcgisSearch["arcgisSearchStart"]["detail"];
    "arcgisSelectResult": ArcgisSearch["arcgisSelectResult"]["detail"];
    "arcgisSuggestComplete": ArcgisSearch["arcgisSuggestComplete"]["detail"];
    "arcgisSuggestStart": ArcgisSearch["arcgisSuggestStart"]["detail"];
  }

  interface HTMLArcgisSearchElement extends ArcgisSearch {
    addEventListener<K extends keyof HTMLArcgisSearchElementEventMap>(type: K, listener: (this: HTMLArcgisSearchElement, ev: ArcgisSearchCustomEvent<HTMLArcgisSearchElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisSearchElementEventMap>(type: K, listener: (this: HTMLArcgisSearchElement, ev: ArcgisSearchCustomEvent<HTMLArcgisSearchElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisSearchResultRendererElementEventMap {
    "arcgisReady": ArcgisSearchResultRenderer["arcgisReady"]["detail"];
  }

  interface HTMLArcgisSearchResultRendererElement extends ArcgisSearchResultRenderer {
    addEventListener<K extends keyof HTMLArcgisSearchResultRendererElementEventMap>(type: K, listener: (this: HTMLArcgisSearchResultRendererElement, ev: ArcgisSearchResultRendererCustomEvent<HTMLArcgisSearchResultRendererElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisSearchResultRendererElementEventMap>(type: K, listener: (this: HTMLArcgisSearchResultRendererElement, ev: ArcgisSearchResultRendererCustomEvent<HTMLArcgisSearchResultRendererElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisShadowCastElementEventMap {
    "arcgisPropertyChange": ArcgisShadowCast["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisShadowCast["arcgisReady"]["detail"];
  }

  interface HTMLArcgisShadowCastElement extends ArcgisShadowCast {
    addEventListener<K extends keyof HTMLArcgisShadowCastElementEventMap>(type: K, listener: (this: HTMLArcgisShadowCastElement, ev: ArcgisShadowCastCustomEvent<HTMLArcgisShadowCastElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisShadowCastElementEventMap>(type: K, listener: (this: HTMLArcgisShadowCastElement, ev: ArcgisShadowCastCustomEvent<HTMLArcgisShadowCastElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisSketchElementEventMap {
    "arcgisCreate": ArcgisSketch["arcgisCreate"]["detail"];
    "arcgisDelete": ArcgisSketch["arcgisDelete"]["detail"];
    "arcgisPropertyChange": ArcgisSketch["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisSketch["arcgisReady"]["detail"];
    "arcgisRedo": ArcgisSketch["arcgisRedo"]["detail"];
    "arcgisUndo": ArcgisSketch["arcgisUndo"]["detail"];
    "arcgisUpdate": ArcgisSketch["arcgisUpdate"]["detail"];
  }

  interface HTMLArcgisSketchElement extends ArcgisSketch {
    addEventListener<K extends keyof HTMLArcgisSketchElementEventMap>(type: K, listener: (this: HTMLArcgisSketchElement, ev: ArcgisSketchCustomEvent<HTMLArcgisSketchElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisSketchElementEventMap>(type: K, listener: (this: HTMLArcgisSketchElement, ev: ArcgisSketchCustomEvent<HTMLArcgisSketchElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisSliceElementEventMap {
    "arcgisPropertyChange": ArcgisSlice["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisSlice["arcgisReady"]["detail"];
  }

  interface HTMLArcgisSliceElement extends ArcgisSlice {
    addEventListener<K extends keyof HTMLArcgisSliceElementEventMap>(type: K, listener: (this: HTMLArcgisSliceElement, ev: ArcgisSliceCustomEvent<HTMLArcgisSliceElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisSliceElementEventMap>(type: K, listener: (this: HTMLArcgisSliceElement, ev: ArcgisSliceCustomEvent<HTMLArcgisSliceElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisSliderElementEventMap {
    "arcgisMaxChange": ArcgisSlider["arcgisMaxChange"]["detail"];
    "arcgisMaxClick": ArcgisSlider["arcgisMaxClick"]["detail"];
    "arcgisMinChange": ArcgisSlider["arcgisMinChange"]["detail"];
    "arcgisMinClick": ArcgisSlider["arcgisMinClick"]["detail"];
    "arcgisPropertyChange": ArcgisSlider["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisSlider["arcgisReady"]["detail"];
    "arcgisSegmentClick": ArcgisSlider["arcgisSegmentClick"]["detail"];
    "arcgisSegmentDrag": ArcgisSlider["arcgisSegmentDrag"]["detail"];
    "arcgisThumbChange": ArcgisSlider["arcgisThumbChange"]["detail"];
    "arcgisThumbClick": ArcgisSlider["arcgisThumbClick"]["detail"];
    "arcgisThumbDrag": ArcgisSlider["arcgisThumbDrag"]["detail"];
    "arcgisTickClick": ArcgisSlider["arcgisTickClick"]["detail"];
    "arcgisTrackClick": ArcgisSlider["arcgisTrackClick"]["detail"];
  }

  interface HTMLArcgisSliderElement extends ArcgisSlider {
    addEventListener<K extends keyof HTMLArcgisSliderElementEventMap>(type: K, listener: (this: HTMLArcgisSliderElement, ev: ArcgisSliderCustomEvent<HTMLArcgisSliderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisSliderElementEventMap>(type: K, listener: (this: HTMLArcgisSliderElement, ev: ArcgisSliderCustomEvent<HTMLArcgisSliderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisSwipeElementEventMap {
    "arcgisPropertyChange": ArcgisSwipe["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisSwipe["arcgisReady"]["detail"];
  }

  interface HTMLArcgisSwipeElement extends ArcgisSwipe {
    addEventListener<K extends keyof HTMLArcgisSwipeElementEventMap>(type: K, listener: (this: HTMLArcgisSwipeElement, ev: ArcgisSwipeCustomEvent<HTMLArcgisSwipeElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisSwipeElementEventMap>(type: K, listener: (this: HTMLArcgisSwipeElement, ev: ArcgisSwipeCustomEvent<HTMLArcgisSwipeElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisTableListElementEventMap {
    "arcgisClose": ArcgisTableList["arcgisClose"]["detail"];
    "arcgisPropertyChange": ArcgisTableList["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisTableList["arcgisReady"]["detail"];
    "arcgisTriggerAction": ArcgisTableList["arcgisTriggerAction"]["detail"];
  }

  interface HTMLArcgisTableListElement extends ArcgisTableList {
    addEventListener<K extends keyof HTMLArcgisTableListElementEventMap>(type: K, listener: (this: HTMLArcgisTableListElement, ev: ArcgisTableListCustomEvent<HTMLArcgisTableListElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisTableListElementEventMap>(type: K, listener: (this: HTMLArcgisTableListElement, ev: ArcgisTableListCustomEvent<HTMLArcgisTableListElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisTimeSliderElementEventMap {
    "arcgisPropertyChange": ArcgisTimeSlider["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisTimeSlider["arcgisReady"]["detail"];
    "arcgisTriggerAction": ArcgisTimeSlider["arcgisTriggerAction"]["detail"];
  }

  interface HTMLArcgisTimeSliderElement extends ArcgisTimeSlider {
    addEventListener<K extends keyof HTMLArcgisTimeSliderElementEventMap>(type: K, listener: (this: HTMLArcgisTimeSliderElement, ev: ArcgisTimeSliderCustomEvent<HTMLArcgisTimeSliderElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisTimeSliderElementEventMap>(type: K, listener: (this: HTMLArcgisTimeSliderElement, ev: ArcgisTimeSliderCustomEvent<HTMLArcgisTimeSliderElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisTimeZoneLabelElementEventMap {
    "arcgisPropertyChange": ArcgisTimeZoneLabel["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisTimeZoneLabel["arcgisReady"]["detail"];
  }

  interface HTMLArcgisTimeZoneLabelElement extends ArcgisTimeZoneLabel {
    addEventListener<K extends keyof HTMLArcgisTimeZoneLabelElementEventMap>(type: K, listener: (this: HTMLArcgisTimeZoneLabelElement, ev: ArcgisTimeZoneLabelCustomEvent<HTMLArcgisTimeZoneLabelElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisTimeZoneLabelElementEventMap>(type: K, listener: (this: HTMLArcgisTimeZoneLabelElement, ev: ArcgisTimeZoneLabelCustomEvent<HTMLArcgisTimeZoneLabelElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisTrackElementEventMap {
    "arcgisComplete": ArcgisTrack["arcgisComplete"]["detail"];
    "arcgisError": ArcgisTrack["arcgisError"]["detail"];
    "arcgisPropertyChange": ArcgisTrack["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisTrack["arcgisReady"]["detail"];
  }

  interface HTMLArcgisTrackElement extends ArcgisTrack {
    addEventListener<K extends keyof HTMLArcgisTrackElementEventMap>(type: K, listener: (this: HTMLArcgisTrackElement, ev: ArcgisTrackCustomEvent<HTMLArcgisTrackElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisTrackElementEventMap>(type: K, listener: (this: HTMLArcgisTrackElement, ev: ArcgisTrackCustomEvent<HTMLArcgisTrackElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisUtilityNetworkAssociationsElementEventMap {
    "arcgisReady": ArcgisUtilityNetworkAssociations["arcgisReady"]["detail"];
  }

  interface HTMLArcgisUtilityNetworkAssociationsElement extends ArcgisUtilityNetworkAssociations {
    addEventListener<K extends keyof HTMLArcgisUtilityNetworkAssociationsElementEventMap>(type: K, listener: (this: HTMLArcgisUtilityNetworkAssociationsElement, ev: ArcgisUtilityNetworkAssociationsCustomEvent<HTMLArcgisUtilityNetworkAssociationsElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisUtilityNetworkAssociationsElementEventMap>(type: K, listener: (this: HTMLArcgisUtilityNetworkAssociationsElement, ev: ArcgisUtilityNetworkAssociationsCustomEvent<HTMLArcgisUtilityNetworkAssociationsElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisUtilityNetworkTraceElementEventMap {
    "arcgisAddFlag": ArcgisUtilityNetworkTrace["arcgisAddFlag"]["detail"];
    "arcgisAddFlagComplete": ArcgisUtilityNetworkTrace["arcgisAddFlagComplete"]["detail"];
    "arcgisAddFlagError": ArcgisUtilityNetworkTrace["arcgisAddFlagError"]["detail"];
    "arcgisAddResultArea": ArcgisUtilityNetworkTrace["arcgisAddResultArea"]["detail"];
    "arcgisPropertyChange": ArcgisUtilityNetworkTrace["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisUtilityNetworkTrace["arcgisReady"]["detail"];
    "arcgisRemoveResultArea": ArcgisUtilityNetworkTrace["arcgisRemoveResultArea"]["detail"];
  }

  interface HTMLArcgisUtilityNetworkTraceElement extends ArcgisUtilityNetworkTrace {
    addEventListener<K extends keyof HTMLArcgisUtilityNetworkTraceElementEventMap>(type: K, listener: (this: HTMLArcgisUtilityNetworkTraceElement, ev: ArcgisUtilityNetworkTraceCustomEvent<HTMLArcgisUtilityNetworkTraceElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisUtilityNetworkTraceElementEventMap>(type: K, listener: (this: HTMLArcgisUtilityNetworkTraceElement, ev: ArcgisUtilityNetworkTraceCustomEvent<HTMLArcgisUtilityNetworkTraceElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisUtilityNetworkValidateTopologyElementEventMap {
    "arcgisPropertyChange": ArcgisUtilityNetworkValidateTopology["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisUtilityNetworkValidateTopology["arcgisReady"]["detail"];
  }

  interface HTMLArcgisUtilityNetworkValidateTopologyElement extends ArcgisUtilityNetworkValidateTopology {
    addEventListener<K extends keyof HTMLArcgisUtilityNetworkValidateTopologyElementEventMap>(type: K, listener: (this: HTMLArcgisUtilityNetworkValidateTopologyElement, ev: ArcgisUtilityNetworkValidateTopologyCustomEvent<HTMLArcgisUtilityNetworkValidateTopologyElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisUtilityNetworkValidateTopologyElementEventMap>(type: K, listener: (this: HTMLArcgisUtilityNetworkValidateTopologyElement, ev: ArcgisUtilityNetworkValidateTopologyCustomEvent<HTMLArcgisUtilityNetworkValidateTopologyElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisValuePickerElementEventMap {
    "arcgisAnimate": ArcgisValuePicker["arcgisAnimate"]["detail"];
    "arcgisNext": ArcgisValuePicker["arcgisNext"]["detail"];
    "arcgisPause": ArcgisValuePicker["arcgisPause"]["detail"];
    "arcgisPlay": ArcgisValuePicker["arcgisPlay"]["detail"];
    "arcgisPrevious": ArcgisValuePicker["arcgisPrevious"]["detail"];
    "arcgisPropertyChange": ArcgisValuePicker["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisValuePicker["arcgisReady"]["detail"];
  }

  interface HTMLArcgisValuePickerElement extends ArcgisValuePicker {
    addEventListener<K extends keyof HTMLArcgisValuePickerElementEventMap>(type: K, listener: (this: HTMLArcgisValuePickerElement, ev: ArcgisValuePickerCustomEvent<HTMLArcgisValuePickerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisValuePickerElementEventMap>(type: K, listener: (this: HTMLArcgisValuePickerElement, ev: ArcgisValuePickerCustomEvent<HTMLArcgisValuePickerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisVersionManagementElementEventMap {
    "arcgisReady": ArcgisVersionManagement["arcgisReady"]["detail"];
    "arcgisVersioningStateChanged": ArcgisVersionManagement["arcgisVersioningStateChanged"]["detail"];
  }

  interface HTMLArcgisVersionManagementElement extends ArcgisVersionManagement {
    addEventListener<K extends keyof HTMLArcgisVersionManagementElementEventMap>(type: K, listener: (this: HTMLArcgisVersionManagementElement, ev: ArcgisVersionManagementCustomEvent<HTMLArcgisVersionManagementElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisVersionManagementElementEventMap>(type: K, listener: (this: HTMLArcgisVersionManagementElement, ev: ArcgisVersionManagementCustomEvent<HTMLArcgisVersionManagementElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisVideoElementEventMap {
    "arcgisViewReadyChange": ArcgisVideo["arcgisViewReadyChange"]["detail"];
  }

  interface HTMLArcgisVideoElement extends ArcgisVideo {
    addEventListener<K extends keyof HTMLArcgisVideoElementEventMap>(type: K, listener: (this: HTMLArcgisVideoElement, ev: ArcgisVideoCustomEvent<HTMLArcgisVideoElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisVideoElementEventMap>(type: K, listener: (this: HTMLArcgisVideoElement, ev: ArcgisVideoCustomEvent<HTMLArcgisVideoElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisVideoPlayerElementEventMap {
    "arcgisPropertyChange": ArcgisVideoPlayer["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisVideoPlayer["arcgisReady"]["detail"];
    "arcgisVideoReady": ArcgisVideoPlayer["arcgisVideoReady"]["detail"];
  }

  interface HTMLArcgisVideoPlayerElement extends ArcgisVideoPlayer {
    addEventListener<K extends keyof HTMLArcgisVideoPlayerElementEventMap>(type: K, listener: (this: HTMLArcgisVideoPlayerElement, ev: ArcgisVideoPlayerCustomEvent<HTMLArcgisVideoPlayerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisVideoPlayerElementEventMap>(type: K, listener: (this: HTMLArcgisVideoPlayerElement, ev: ArcgisVideoPlayerCustomEvent<HTMLArcgisVideoPlayerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisWeatherElementEventMap {
    "arcgisPropertyChange": ArcgisWeather["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisWeather["arcgisReady"]["detail"];
  }

  interface HTMLArcgisWeatherElement extends ArcgisWeather {
    addEventListener<K extends keyof HTMLArcgisWeatherElementEventMap>(type: K, listener: (this: HTMLArcgisWeatherElement, ev: ArcgisWeatherCustomEvent<HTMLArcgisWeatherElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisWeatherElementEventMap>(type: K, listener: (this: HTMLArcgisWeatherElement, ev: ArcgisWeatherCustomEvent<HTMLArcgisWeatherElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
  interface HTMLArcgisZoomElementEventMap {
    "arcgisPropertyChange": ArcgisZoom["arcgisPropertyChange"]["detail"];
    "arcgisReady": ArcgisZoom["arcgisReady"]["detail"];
  }

  interface HTMLArcgisZoomElement extends ArcgisZoom {
    addEventListener<K extends keyof HTMLArcgisZoomElementEventMap>(type: K, listener: (this: HTMLArcgisZoomElement, ev: ArcgisZoomCustomEvent<HTMLArcgisZoomElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
    addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
    removeEventListener<K extends keyof HTMLArcgisZoomElementEventMap>(type: K, listener: (this: HTMLArcgisZoomElement, ev: ArcgisZoomCustomEvent<HTMLArcgisZoomElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
    removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
  }
}