/// <reference path="../../index.d.ts" />
import type Color from "@arcgis/core/Color.js";
import type { RGBA } from "@arcgis/core/Color.js";
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { T9nMeta } from "@arcgis/lumina/controllers";

/**
 * Labeled swatch which opens a color picker popover to select a color.
 *
 * @internal
 */
export abstract class ArcgisColorSelect extends LitElement {
  /** @internal */
  protected _messages: Partial<{
      label: string;
      ariaDescription: string;
      popoverLabel: string;
  }> & T9nMeta<{
      label: string;
      ariaDescription: string;
      popoverLabel: string;
  }>;
  /** The current color value. */
  accessor color: number[] | RGBA | string;
  /** The label for the component. */
  accessor label: string | undefined;
  /**
   * Emitted when the color value changes.
   *
   * @internal
   */
  readonly arcgisColorChanged: import("@arcgis/lumina").TargetedEvent<this, Color>;
  readonly "@eventTypes": {
    arcgisColorChanged: ArcgisColorSelect["arcgisColorChanged"]["detail"];
  };
}