/// <reference path="../../index.d.ts" />
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { Scale, Status } from "../interfaces.js";
import type { IconName } from "../calcite-icon/interfaces.js";

/**
 * @deprecated in v5.0.0, removal target v6.0.0 - Use the `calcite-notice` component with `appearance="transparent"` instead.
 * @cssproperty [--calcite-input-message-spacing-value] - [Deprecated] in v3.2.0, removal target v6.0.0 - Use `--calcite-input-message-spacing` instead. Specifies the margin spacing at the top of the component.
 * @cssproperty [--calcite-input-message-spacing] - Specifies the component's top margin spacing.
 * @cssproperty [--calcite-input-message-icon-color] - Specifies the component's icon color.
 * @slot  - A slot for adding text.
 */
export abstract class InputMessage extends LitElement {
  /** Specifies an icon to display. */
  accessor icon: IconName | boolean;
  /**
   * When `true` and the element direction is right-to-left (`"rtl"`), flips the component`s `icon`.
   *
   * @default false
   */
  accessor iconFlipRtl: boolean;
  /**
   * Specifies the size of the component.
   *
   * @default "m"
   */
  accessor scale: Scale;
  /**
   * Specifies the input field's status, which determines message and icons.
   *
   * @default "idle"
   */
  accessor status: Status;
}