/// <reference path="../../index.d.ts" />
import type { PublicLitElement as LitElement } from "@arcgis/lumina/PublicLitElement";
import type { IPopoverProps } from "../../utils/types.js";
import type { Icon as Icon } from "@esri/calcite-components/components/calcite-icon";

export abstract class ArcgisPickerInput extends LitElement {
  /**
   * If true, disables the component.
   *
   * @default false
   */
  accessor disabled: boolean;
  /** Heading for the component. */
  accessor heading: string | undefined;
  /**
   * Icon to display at the end of the component.
   *
   * @default "pencil"
   */
  accessor iconEnd: Icon["icon"];
  /** Text to display within the "Done" button. */
  accessor intlDone: string | undefined;
  /**
   * Label for the component
   *
   * @default ""
   */
  accessor label: string;
  /** Convenience prop to specify common popover props. */
  accessor popoverProps: IPopoverProps | undefined;
  /** Close the component. */
  close(): Promise<void>;
  /** Set focus on the component. */
  setFocus(): Promise<void>;
  /** Emitted when the component has been closed. */
  readonly arcgisPopoverClose: import("@arcgis/lumina").TargetedEvent<this, void>;
  /** Emitted when the component has been opened. */
  readonly arcgisPopoverOpen: import("@arcgis/lumina").TargetedEvent<this, void>;
  readonly "@eventTypes": {
    arcgisPopoverClose: ArcgisPickerInput["arcgisPopoverClose"]["detail"];
    arcgisPopoverOpen: ArcgisPickerInput["arcgisPopoverOpen"]["detail"];
  };
}