import type { ListMode } from "../support/esri.js";
import type { BuildingSceneLayer } from "./BuildingSceneLayer.js";
import type { CSVLayer } from "./CSVLayer.js";
import type { ElevationLayer } from "./ElevationLayer.js";
import type { FeatureLayer } from "./FeatureLayer.js";
import type { GeoJSONLayer } from "./GeoJSONLayer.js";
import type { GeoRSSLayer } from "./GeoRSSLayer.js";
import type { GroupLayer } from "./GroupLayer.js";
import type { ImageServiceLayer } from "./ImageServiceLayer.js";
import type { ImageServiceVectorLayer } from "./ImageServiceVectorLayer.js";
import type { IntegratedMeshLayer } from "./IntegratedMeshLayer.js";
import type { KMLLayer } from "./KMLLayer.js";
import type { MapServiceLayer } from "./MapServiceLayer.js";
import type { PointCloudLayer } from "./PointCloudLayer.js";
import type { SceneLayer } from "./SceneLayer.js";
import type { StreamLayer } from "./StreamLayer.js";
import type { SubtypeGroupLayer } from "./SubtypeGroupLayer.js";
import type { TiledImageServiceLayer } from "./TiledImageServiceLayer.js";
import type { TiledMapServiceLayer } from "./TiledMapServiceLayer.js";
import type { VectorTileLayer } from "./VectorTileLayer.js";
import type { WMSLayer } from "./WMSLayer.js";
import type { WebTileLayer } from "./WebTileLayer.js";
import type { LayerBase } from "./_LayerBase.js";
/**
 * An operational layer in a web map.
 *
 * Part of the Esri web map specification. See
 * {@link http://resources.arcgis.com/en/help/arcgis-web-map-json/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface OperationalLayerBase extends LayerBase {
    /**
     * Indicates how the layer should display in the table of contents. The
     * known values are listed below. See {@link support/esri!ListMode}.
     */
    listMode?: ListMode;
    /**
     * When the refresh interval is set on a layer, the client must refresh that
     * layer only, not the entire web map. The default value is '0', meaning the
     * no refresh. You can enable a refresh interval on the following types of
     * layers: ArcGIS Server web service, hosted feature layer, hosted tile
     * layer, OGC WMS, OGS WMTS, tile layer, GeoRSS, Living Atlas layers,
     * basemaps (including Bing Maps basemaps), CSV from the web with latitude
     * and longitude fields, and KML when added to ArcGIS Online through the My
     * Content page. See
     * {@link https://doc.arcgis.com/en/arcgis-online/create-maps/set-refresh-interval.htm}.
     */
    refreshInterval?: number;
}
/**
 * An operational layer in a web map/scene.
 *
 * @deprecated Use "json/*" modules instead.
 */
export type OperationalLayer = BuildingSceneLayer | CSVLayer | ElevationLayer | FeatureLayer | GeoJSONLayer | GeoRSSLayer | GroupLayer | ImageServiceLayer | ImageServiceVectorLayer | IntegratedMeshLayer | KMLLayer | MapServiceLayer | PointCloudLayer | SceneLayer | StreamLayer | SubtypeGroupLayer | TiledImageServiceLayer | TiledMapServiceLayer | VectorTileLayer | WebTileLayer | WMSLayer;
/**
 * Used in legacy "type" attribute. Deprecated.
 *
 * @deprecated Use "json/*" modules instead.
 */
export type LegacyOperationalLayerType = "CSV" | "WMS" | "KML";
