/// <reference path="../../index.d.ts" />
/// <reference types="@arcgis/core/interfaces.d.ts" />
import type { PublicLitElement as LitElement } from "@arcgis/lumina";

export abstract class MapFloorFilter extends LitElement {
  /**
   * boolean: when true the Floor Filter widget will be available
   *
   * @default false
   */
  accessor enabled: boolean;
  /**
   * esri/widgets/FloorFilter: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FloorFilter.html
   *
   * FloorFilter instance
   */
  accessor floorFilterWidget: __esri.FloorFilter | undefined;
  /** esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html */
  accessor mapView: __esri.MapView | undefined;
  /** Emitted on demand when the Facility is changed */
  readonly facilityChanged: import("@arcgis/lumina").TargetedEvent<this, string>;
  /** Emitted on demand when the Level is changed */
  readonly levelChanged: import("@arcgis/lumina").TargetedEvent<this, string>;
  /** Emitted on demand when the Site is changed */
  readonly siteChanged: import("@arcgis/lumina").TargetedEvent<this, string>;
  readonly "@eventTypes": {
    facilityChanged: MapFloorFilter["facilityChanged"]["detail"];
    levelChanged: MapFloorFilter["levelChanged"]["detail"];
    siteChanged: MapFloorFilter["siteChanged"]["detail"];
  };
}