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

/**
 * @cssproperty [--calcite-navigation-accent-color] - When `active`, specifies the component's border color.
 * @cssproperty [--calcite-navigation-user-avatar-corner-radius] - Specifies the component's avatar corner radius.
 * @cssproperty [--calcite-navigation-user-avatar-color] - Specifies the component's avatar icon color.
 * @cssproperty [--calcite-navigation-background-color] - Specifies the component's background color.
 * @cssproperty [--calcite-navigation-user-full-name-text-color] - Specifies the component's `fullName` text color.
 * @cssproperty [--calcite-navigation-user-name-text-color] - Specifies the component's `username` text color.
 */
export abstract class NavigationUser extends LitElement {
  /**
   * When `true`, the component is highlighted.
   *
   * @default false
   */
  accessor active: boolean;
  /** Specifies the full name of the user. */
  accessor fullName: string;
  /** Specifies an accessible label for the component. */
  accessor label: string;
  /**
   * When `true`, hides the `fullName` and `username` contents.
   *
   * @default false
   */
  accessor textDisabled: boolean;
  /** Specifies the `src` to an image (remember to add a token if the user is private). */
  accessor thumbnail: string;
  /** Specifies the unique id of the user. */
  accessor userId: string;
  /** Specifies the username of the user. */
  accessor username: string;
  /**
   * 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.
   * @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
   */
  setFocus(options?: FocusOptions): Promise<void>;
}