import type EsriBasemap from "@arcgis/core/Basemap";
import type Portal from "@arcgis/core/portal/Portal";
import { BaseMap } from "./BaseMap.js";
import type { ElevationLayer } from "./ElevationLayer.js";
export declare namespace WebSceneBaseMap {
    /**
     * Converts an ArcGIS Portal JSON representation of a basemap to its Esri
     * JavaScript API equivalent.
     *
     * @deprecated Use "json/*" modules instead.
     * @param json The basemap JSON to convert.
     * @param portal The Portal to use for resolving portal item IDs.
     */
    function toEsriApiBasemap(json: WebSceneBaseMap, portal?: Portal): Promise<EsriBasemap>;
    /**
     * Applies an ArcGIS Portal JSON representation of a basemap to its Esri
     * JavaScript API equivalent.
     *
     * @deprecated Use "json/*" modules instead.
     * @param json The basemap JSON to apply.
     * @param basemap The BaseMap object to apply it to.
     * @param portal The Portal to use for resolving portal item IDs.
     */
    function applyToEsriApiBasemap(json: WebSceneBaseMap, basemap: EsriBasemap, portal?: Portal): Promise<void>;
    /**
     * Converts an Esri JavaScript API BaseMap object to its ArcGIS Portal JSON
     * representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param basemap The BaseMap object to convert.
     */
    function fromEsriApiBasemap(basemap: EsriBasemap): WebSceneBaseMap;
}
/**
 * A basemap layer is a layer that provides geographic context to the map and
 * scene. A web scene is not required to always contain a basemap.
 *
 * See
 * {@link https://developers.arcgis.com/web-scene-specification/objects/baseMap/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface WebSceneBaseMap extends BaseMap {
    /**
     * Deprecated, use ground.layers instead. An array of elevationLayer objects
     * defining the basemaps used in the web scene.
     */
    elevationLayers?: ElevationLayer[];
    /**
     * An identifier used to refer to the basemap when referencing it elsewhere.
     */
    id?: string;
    /**
     * The degree of transparency applied to the layer on the client side, where
     * 0 is full transparency and 1 is no transparency.
     */
    transparency?: number;
}
