export declare class Popup {
  private popup?;
  el: HTMLGlPopupElement;
  /**
   * Milliseconds to wait before opening the popup. This delay allows for
   * handling multiple feature click events in a single popup. Multiple events
   * can be fired in quick succession when the user clicks on multiple
   * overlapping features.
   */
  readonly clickEventDelay: number;
  /**
   * Key code of the key used to close the popup. By default, it is the `Esc`
   * key.
   */
  readonly closeKey: string;
  /**
   * Which popups to close when a new popup is opened. `self` removes popups
   * opened by this `gl-popup` element, and `all` closes all open popups.
   */
  readonly closeMode: "none" | "self" | "all";
  /**
   * Name of the component containing the content for the popup
   * (e.g., `gl-attribute-values`). If the popup content is dynamic, the
   * component should accept a `features` property, which will be set to the
   * GeoJSON features clicked by the user.
   */
  readonly component: string;
  /**
   * Additional options, which are passed to the content component as
   * properties.
   */
  readonly componentOptions: string | {
    [key: string]: any;
  };
  /**
   * IDs of the layers that can activate this popup when clicked. These
   * layer IDs should also be included in the `clickableLayers` property of
   * the parent style.
   */
  readonly layers: string[] | string;
  /**
   * Maximum width of the popup element. It can be any valid CSS width value.
   */
  readonly maxWidth: string;
  private _layers;
  componentWillLoad(): void;
  private getOptions;
  doOpenPopup(e: CustomEvent): void;
  handleKeyup(e: KeyboardEvent): void;
  /**
   * Returns a boolean indicating whether the popup is currently open.
   */
  isOpen(): Promise<boolean>;
  /**
   * Removes the popup from the map.
   */
  removePopup(): Promise<void>;
  private removeAll;
  private openPopup;
  parseLayersString(): void;
}
