import type EsriWMSLayer from "@arcgis/core/layers/WMSLayer";
import type { WMSLayerFormatType } from "@arcgis/core/layers/WMSLayer";
import Portal from "@arcgis/core/portal/Portal";
import type { BaseMapLayerBase } from "./BaseMapLayer.js";
import type { OperationalLayerBase } from "./OperationalLayer.js";
import { WMSSublayer } from "./WMSSublayer.js";
export declare namespace WMSLayer {
    /**
     * Converts an ArcGIS Portal JSON representation of a wms layer to its Esri
     * JavaScript API representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layerJson The layer JSON to convert.
     */
    function toEsriApiLayer(layerJson: WMSLayer): Promise<EsriWMSLayer>;
    /**
     * Applies an ArcGIS Portal JSON representation of a wms layer to its Esri
     * JavaScript API representation.
     *
     * @param layerJson The layer JSON to apply.
     * @param layer The layer object to apply it to.
     * @param portal The portal to use to resolve portal item IDs.
     */
    function applyToEsriApiLayer(layerJson: WMSLayer, layer: EsriWMSLayer, portal?: Portal): Promise<void>;
    /**
     * Converts an Esri JavaScript API WMSLayer object to its ArcGIS Portal JSON
     * representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layer The layer object to convert.
     */
    function fromEsriApiLayer(layer: EsriWMSLayer): WMSLayer;
}
/**
 * A layer consuming a Web Map Service (WMS). The WMS specification is an
 * international specification for serving and consuming dynamic maps on the
 * web. For additional information on publishing WMS services, please see the
 * ArcGIS Server help.
 *
 * See
 * {@link https://developers.arcgis.com/web-map-specification/objects/wmsLayer/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface WMSLayer extends OperationalLayerBase, BaseMapLayerBase {
    /**
     * A string containing copyright and access information for a WMS layer.
     * This is copied from the capabilities document exposed by the WMS
     * service.
     */
    copyright?: string;
    /**
     * A sequence of custom parameters to WMS layer requests. These parameters
     * are applied to GetMap and GetFeatureInfo requests. The
     * customLayerParameters property takes precedence if customParameters is
     * also present.
     */
    customLayerParameters?: Record<string, string>;
    /**
     * A sequence of custom parameters to all WMS requests. These parameters are
     * applied to GetCapabilities, GetMap, and GetFeatureInfo requests. If used
     * with the customLayerParameters property, customParameters will not take
     * precedence.
     */
    customParameters?: Record<string, string>;
    /**
     * The rectangular map extent that should be requested from the service.
     */
    extent?: number[][];
    /**
     * Format of the Feature.
     */
    featureInfoFormat?: "text/html" | "text/plain";
    /**
     * URL of the Feature.
     */
    featureInfoUrl?: string;
    /**
     * A string containing the image format to be requested from a WMS service.
     */
    format?: WMSLayerFormatType;
    /**
     * Optional string containing the item ID of the service if it's registered
     * on ArcGIS Online or your organization's portal.
     */
    itemId?: string;
    /**
     * An array of wms sub layer objects defining the styling, geometry, and
     * attribute information for the features.
     */
    layers?: WMSSublayer[];
    /**
     * Type of the layer.
     */
    layerType: "WMS";
    /**
     * URL to legend.
     */
    legendUrl?: string;
    /**
     * The URL of the WMS map. You should also supply the url property, which is
     * the URL of the WMS capabilities document.
     */
    mapUrl?: string;
    /**
     * A number defining the maximum height, in pixels, that should be requested
     * from the service.
     */
    maxHeight?: number;
    /**
     * A number defining the maximum width, in pixels, that should be requested
     * from the service.
     */
    maxWidth?: number;
    /**
     * An array of numbers containing well-known IDs for spatial references
     * supported by the service.
     */
    spatialReferences?: number[];
    /**
     * The URL to the layer.
     */
    url?: string;
    /**
     * A string containing the version number of the service.
     */
    version?: string;
    /**
     * An array of layers that should appear visible. The array contains the
     * names of the visible layers.
     */
    visibleLayers?: string[];
}
