import type Viewing from "../webdoc/applicationProperties/Viewing.js";
import type { JSONSupport } from "../core/JSONSupport.js";
import type { ViewingProperties } from "../webdoc/applicationProperties/Viewing.js";

export interface ApplicationPropertiesProperties {
  /** View-specific properties of application and UI elements for the web map. */
  viewing?: ViewingProperties | null;
}

/**
 * Represents configuration of application and UI elements of the
 * [WebMap](https://developers.arcgis.com/javascript/latest/references/core/WebMap/).
 * It contains the [viewing](https://developers.arcgis.com/javascript/latest/references/core/webmap/ApplicationProperties/#viewing) properties of the web map.
 *
 * @since 4.14
 */
export default class ApplicationProperties extends JSONSupport {
  constructor(properties?: ApplicationPropertiesProperties);
  /** View-specific properties of application and UI elements for the web map. */
  get viewing(): Viewing | null | undefined;
  set viewing(value: ViewingProperties | null | undefined);
}