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

/**
 * @cssproperty [--calcite-table-row-background] - [Deprecated] Use `--calcite-table-row-background-color` instead. Specifies the background color of the component.
 * @cssproperty [--calcite-table-row-background-color] - Specifies the component's background color.
 * @cssproperty [--calcite-table-row-background-color-striped] - When `striped` is `true` on `calcite-table`, specifies the background color of the component's `striped` rows.
 * @cssproperty [--calcite-table-row-background-color-selected] - When `selected`, specifies the background color of the component's `selected` rows.
 * @cssproperty [--calcite-table-row-accent-color-selected] - Specifies the component's selected accent color.
 * @cssproperty [--calcite-table-row-border-color] - Specifies the component's border color.
 * @slot  - A slot for adding `calcite-table-cell` or `calcite-table-header` elements.
 */
export abstract class TableRow extends LitElement {
  /** Specifies the alignment of the component. */
  accessor alignment: Alignment;
  /**
   * When `true`, interaction is prevented and the component is displayed with lower opacity.
   *
   * @default false
   */
  accessor disabled: boolean;
  /**
   * When `true`, the component is selected.
   *
   * @default false
   */
  accessor selected: boolean;
  /** Fires when the selected state of the component changes. */
  readonly calciteTableRowSelect: import("@arcgis/lumina").TargetedEvent<this, void>;
  readonly "@eventTypes": {
    calciteTableRowSelect: TableRow["calciteTableRowSelect"]["detail"];
  };
}