import type EsriSceneLayer from "@arcgis/core/layers/SceneLayer";
import Portal from "@arcgis/core/portal/Portal";
import { LayerDefinition } from "./LayerDefinition.js";
import type { OperationalLayerBase } from "./OperationalLayer.js";
import { PopupInfo } from "./PopupInfo.js";
export declare namespace SceneLayer {
    /**
     * Default values from Esri JavaScript API documentation.
     *
     * @deprecated Use "json/*" modules instead.
     */
    const esriSceneLayerDefaults: {
        labelsVisible: boolean;
        legendEnabled: boolean;
        popupEnabled: boolean;
        visible: boolean;
        opacity: number;
        screenSizePerspective: boolean;
    };
    /**
     * Converts an ArcGIS Portal JSON representation of a scene layer to its
     * Esri JavaScript API representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layerJson The layer JSON to convert.
     * @param portal The Portal to use for resolving portal item IDs.
     */
    function toEsriApiLayer(layerJson: SceneLayer, portal?: Portal): Promise<EsriSceneLayer>;
    /**
     * Applies an ArcGIS Portal JSON representation of a scene layer to its Esri
     * JavaScript API representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layerJson The layer JSON to apply.
     * @param layer The layer object to apply it to.
     * @param portal The Portal to use for resolving portal item IDs.
     */
    function applyToEsriApiLayer(layerJson: SceneLayer, layer: EsriSceneLayer, portal?: Portal): Promise<void>;
    /**
     * Converts an Esri JavaScript API SceneLayer object to its ArcGIS Portal
     * JSON representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layer The layer object to convert.
     */
    function fromEsriApiSceneLayer(layer: EsriSceneLayer): SceneLayer;
}
/**
 * The SceneLayer is a layer type designed for on-demand streaming and
 * displaying large amounts of data in a SceneView. SceneLayers support two
 * geometry types: Point and 3D Objects (e.g. Buildings).
 *
 * See
 * {@link https://developers.arcgis.com/web-scene-specification/objects/sceneLayer/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface SceneLayer extends OperationalLayerBase {
    /**
     * Indicates whether to allow a client to ignore popups defined by the
     * service item.
     */
    disablePopup?: boolean;
    /**
     * Optional string containing the item ID of the service if it's registered
     * on ArcGIS Online or your organization's portal.
     */
    itemId?: string;
    /**
     * A layerDefinition object defining the attribute schema and drawing
     * information for the layer.
     */
    layerDefinition?: LayerDefinition;
    /**
     * The type of layer.
     */
    layerType: "ArcGISSceneServiceLayer";
    /**
     * A PopupInfo object defining the content of pop-up windows when you click
     * or query a feature.
     */
    popupInfo?: PopupInfo;
    /**
     * Apply perspective scaling to screen-size symbols.
     */
    screenSizePerspective?: boolean;
    /**
     * Indicates whether to display labels for this layer. If true, labels will
     * appear as defined in the labelingInfo property.
     */
    showLabels?: boolean;
    /**
     * The URL to the layer.If the layer is not from a web service but rather a
     * feature collection, then the url property is omitted.
     */
    url?: string;
}
