/// <reference path="../../index.d.ts" />
import type Collection from "@arcgis/core/core/Collection.js";
import type MapView from "@arcgis/core/views/MapView.js";
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { FlagInfo, TraceLocationType } from "../arcgis-utility-network-trace-location/customElement.js";
import type { T9nMeta } from "@arcgis/lumina/controllers";

/**
 * This is a sub-component used by the **ArcgisUtilityNetworkTraceAnalysis** component.
 *
 * This sub-component renders a collection of trace locations as a list.
 *
 * @since 4.34
 * @internal
 */
export abstract class ArcgisUtilityNetworkTraceLocationList extends LitElement {
  /** @internal */
  protected _messages: {
      componentLabel: string;
      errors: { noTerminalSelected: string; };
      labels: {
          filterBarrier: string;
          list: string;
          unknown: string;
      };
  } & T9nMeta<{
      componentLabel: string;
      errors: { noTerminalSelected: string; };
      labels: {
          filterBarrier: string;
          list: string;
          unknown: string;
      };
  }>;
  /** @required */
  accessor traceLocations: Collection<FlagInfo>;
  /** @default "starting-point" */
  accessor traceLocationType: TraceLocationType;
  /** @required */
  accessor view: MapView | undefined;
}