/// <reference path="../../index.d.ts" />
import type { PublicLitElement as LitElement } from "@arcgis/lumina";

/**
 * @cssproperty [--calcite-stepper-item-background-color-press] - Specifies the component's background-color when active.
 * @cssproperty [--calcite-stepper-item-header-text-color] - Specifies the component's header text color.
 * @cssproperty [--calcite-stepper-item-header-text-color-hover] - Specifies the component's header text color when hovered or focused.
 * @cssproperty [--calcite-stepper-item-selected-header-text-color] - When `selected`, specifies the component's header text color.
 * @cssproperty [--calcite-stepper-item-icon-color] - Specifies the component's icon color.
 * @cssproperty [--calcite-stepper-item-complete-icon-color] - When `complete`, specifies the component's icon color.
 * @cssproperty [--calcite-stepper-item-error-icon-color] - When `error`, specifies the component's icon and number color.
 * @cssproperty [--calcite-stepper-item-selected-icon-color] - When `selected`, specifies the component's icon and number color.
 * @cssproperty [--calcite-stepper-item-description-text-color] - Specifies the component's description and number text color.
 * @cssproperty [--calcite-stepper-item-description-text-color-hover] - When `selected`, hovered, or focused, specifies the component's description text color.
 * @cssproperty [--calcite-stepper-bar-gap] - Specifies the component's bottom spacing.
 * @cssproperty [--calcite-stepper-bar-fill-color] - Specifies the component's fill color.
 * @cssproperty [--calcite-stepper-bar-fill-color-hover] - Specifies the component's fill color when hovered or focused.
 * @cssproperty [--calcite-stepper-bar-complete-fill-color] - When `complete`, specifies the component's fill color.
 * @cssproperty [--calcite-stepper-bar-complete-fill-color-hover] - When `complete`, specifies the component's fill color when hovered or focused.
 * @cssproperty [--calcite-stepper-bar-error-fill-color] - When `error`, specifies the component's fill color.
 * @cssproperty [--calcite-stepper-bar-error-fill-color-hover] - When `error`, specifies the component's fill color when hovered or focused.
 * @cssproperty [--calcite-stepper-bar-selected-fill-color] - When `selected`, specifies the component's fill color.
 * @slot  - A slot for adding custom content.
 */
export abstract class StepperItem extends LitElement {
  /**
   * When `true`, completes the step.
   *
   * @default false
   */
  accessor complete: boolean;
  /** Specifies a description for the component. Displays below the header text. */
  accessor description: string;
  /**
   * When `true`, prevents interaction and decreases the component's opacity.
   *
   * @default false
   */
  accessor disabled: boolean;
  /**
   * When `true`, the component contains an error that requires resolution from the user.
   *
   * @default false
   */
  accessor error: boolean;
  /** Specifies the component's heading text. */
  accessor heading: string;
  /**
   * When `true`, the icon will be flipped when the element direction is right-to-left (`"rtl"`).
   *
   * @default false
   */
  accessor iconFlipRtl: boolean;
  /** Overrides individual strings used by the component. */
  accessor messageOverrides: {
      complete?: string;
      previousStep?: string;
      nextStep?: string;
  };
  /**
   * When `true`, the component is selected.
   *
   * @default false
   */
  accessor selected: boolean;
  /**
   * Sets focus on the component.
   *
   * @param options - When specified an optional object customizes the component's focusing process. When `preventScroll` is `true`, scrolling will not occur on the component.
   * @mdn [focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
   */
  setFocus(options?: FocusOptions): Promise<void>;
  /** Fires when the active `calcite-stepper-item` changes. */
  readonly calciteStepperItemSelect: import("@arcgis/lumina").TargetedEvent<this, void>;
  readonly "@eventTypes": {
    calciteStepperItemSelect: StepperItem["calciteStepperItemSelect"]["detail"];
  };
}