/// <reference path="../../index.d.ts" />
import type NonPanoramicMedia from "./support/NonPanoramicMedia.js";
import type Graphic from "@arcgis/core/Graphic.js";
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
import type { NonPanoramicMediaProperties } from "./support/NonPanoramicMedia.js";
import type { T9nMeta } from "@arcgis/lumina/controllers";

/** @internal */
export abstract class ArcgisOrientedImageryViewerImageViewer extends LitElement {
  /** @internal */
  protected _messages: Partial<{ title: string; }> & T9nMeta<{ title: string; }>;
  /** @default false */
  accessor hideHeader: boolean;
  /** @default false */
  accessor hideLoader: boolean;
  /** @default false */
  accessor hideZoomControls: boolean;
  get media(): NonPanoramicMediaProperties | undefined;
  set media(value: NonPanoramicMedia | NonPanoramicMediaProperties | undefined);
  /**
   * Replace localized message strings with your own strings.
   *
   * _**Note**: Individual message keys may change between releases._
   */
  accessor messageOverrides: { title?: string | undefined; };
  /** @default 0 */
  accessor rotation: number;
  /** @param graphic */
  addGraphic(graphic: Graphic): void;
  /** @param graphics */
  addGraphics(graphics: Graphic[]): void;
  clearGraphics(): void;
  mediaOnLoad(): Promise<NonPanoramicMedia | undefined>;
  /** @param graphic */
  removeGraphic(graphic: Graphic): void;
  /** @param graphics */
  removeGraphics(graphics: Graphic[]): void;
  "@setterTypes": {
    media?: NonPanoramicMedia | NonPanoramicMediaProperties | undefined;
  };
}