import type EsriPointCloudLayer from "@arcgis/core/layers/PointCloudLayer";
import { LayerDefinition } from "./LayerDefinition.js";
import type { OperationalLayerBase } from "./OperationalLayer.js";
import { PopupInfo } from "./PopupInfo.js";
export declare namespace PointCloudLayer {
    /**
     * Default values from Esri JavaScript API documentation.
     *
     * @deprecated Use "json/*" modules instead.
     */
    const esriPointCloudLayerDefaults: {
        visible: boolean;
        popupEnabled: boolean;
    };
    /**
     * Converts an ArcGIS Portal JSON representation of a point cloud layer to
     * its Esri JavaScript API representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layerJson The layer JSON to convert.
     */
    function toEsriApiLayer(layerJson: PointCloudLayer): Promise<EsriPointCloudLayer>;
    /**
     * Applies an ArcGIS Portal JSON representation of a point cloud 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.
     */
    function applyToEsriApiLayer(layerJson: PointCloudLayer, layer: EsriPointCloudLayer): Promise<void>;
    /**
     * Converts an Esri JavaScript API PointCloudLayer object to its ArcGIS
     * Portal JSON representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layer The layer object to convert.
     */
    function fromEsriApiPointCloudLayer(layer: EsriPointCloudLayer): PointCloudLayer;
}
/**
 * Point cloud data is post-processed spatially organized lidar data that
 * consists of large collections of 3D points. Elevations for the ground,
 * buildings, forest canopy, highway overpasses, and anything else encountered
 * during the lidar survey make up the point cloud data. Point cloud layers
 * allow for fast visualization of point cloud data in the browser.
 *
 * See
 * {@link https://developers.arcgis.com/web-scene-specification/objects/pointCloudLayer/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface PointCloudLayer extends OperationalLayerBase {
    /**
     * Indicates whether to allow a client to ignore popups defined by the
     * service item.
     */
    disablePopup?: boolean;
    /**
     * A layerDefinition object defining the attribute schema and drawing
     * information for the layer.
     */
    layerDefinition?: LayerDefinition;
    /**
     * The type of layer.
     */
    layerType: "PointCloudLayer";
    /**
     * A PopupInfo object defining the content of pop-up windows when you click
     * or query a feature.
     */
    popupInfo?: PopupInfo;
    /**
     * URL to the ArcGIS Server Image Service.
     */
    url?: string;
}
