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

export abstract class MapSearch extends LitElement {
  /** esri/views/MapView: https://next.gha.afd.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html */
  accessor mapView: __esri.MapView | undefined;
  /**
   * boolean: When true the selected feature popup will be shown when serach result is found
   *
   * @default false
   */
  accessor popupEnabled: boolean;
  /**
   * boolean: When true a graphic will be added for the search result
   *
   * @default false
   */
  accessor resultGraphicEnabled: boolean;
  /** ISearchConfiguration: Configuration details for the Search widget */
  accessor searchConfiguration: ISearchConfiguration | undefined;
  /**
   * string: Text entered by the end user.
   * Used to search against the locator.
   *
   * @default ''
   */
  accessor searchTerm: string;
  /** esri/widgets/Search: https://next.gha.afd.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html */
  accessor searchWidget: __esri.widgetsSearch | undefined;
}