import type { ClonableMixin } from "../../core/Clonable.js";
import type { JSONSupport } from "../../core/JSONSupport.js";

export interface TelemetryDisplayProperties extends Partial<Pick<TelemetryDisplay, "frame" | "frameCenter" | "frameOutline" | "lineOfSight" | "sensorLocation" | "sensorTrail">> {}

/**
 * The TelemetryDisplay class is used to choose what telemetry data to display on the map.
 * The class contains options for the frame center, frame outline, line of sight, sensor location, and sensor trail.
 *
 * @since 4.30
 * @see [VideoLayer.telemetryDisplay](https://developers.arcgis.com/javascript/latest/references/core/layers/VideoLayer/#telemetryDisplay)
 */
export default class TelemetryDisplay extends TelemetryDisplaySuperclass {
  constructor(properties?: TelemetryDisplayProperties);
  /**
   * Determines if the frame image is displayed.
   *
   * @default false
   */
  accessor frame: boolean;
  /**
   * Determines if the frame center is displayed.
   *
   * @default false
   */
  accessor frameCenter: boolean;
  /**
   * Determines if the frame outline is displayed.
   *
   * @default true
   */
  accessor frameOutline: boolean;
  /**
   * Determines if the line of sight is displayed.
   *
   * @default true
   */
  accessor lineOfSight: boolean;
  /**
   * Determines if the sensor location is displayed.
   *
   * @default true
   */
  accessor sensorLocation: boolean;
  /**
   * Determines if the sensor trail is displayed.
   *
   * @default true
   */
  accessor sensorTrail: boolean;
}
declare const TelemetryDisplaySuperclass: typeof JSONSupport & typeof ClonableMixin