import type EsriGeoJSONLayer from "@arcgis/core/layers/GeoJSONLayer";
import { LayerDefinition } from "./LayerDefinition.js";
import type { OperationalLayerBase } from "./OperationalLayer.js";
import { PopupInfo } from "./PopupInfo.js";
export declare namespace GeoJSONLayer {
    /**
     * Default values from Esri JavaScript API documentation.
     *
     * @deprecated Use "json/*" modules instead.
     */
    const esriGeoJSONLayerDefaults: {
        labelsVisible: boolean;
        legendEnabled: boolean;
        popupEnabled: boolean;
        visible: boolean;
        minScale: number;
        maxScale: number;
        screenSizePerspective: boolean;
    };
    /**
     * Converts an ArcGIS Portal JSON representation of a GeoJSON layer to its
     * Esri JavaScript API representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layerJson The layer JSON to convert.
     */
    function toEsriApiLayer(layerJson: GeoJSONLayer): Promise<EsriGeoJSONLayer>;
    /**
     * Applies an ArcGIS Portal JSON representation of a GeoJSON 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: GeoJSONLayer, layer: EsriGeoJSONLayer): Promise<void>;
    /**
     * Converts an Esri JavaScript API GeoJSONLayer object to its ArcGIS Portal
     * JSON representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layer The layer object to convert.
     */
    function fromEsriApiGeoJSONLayer(layer: EsriGeoJSONLayer): GeoJSONLayer;
}
/**
 * The GeoJSON layer type references a GeoJSON or TXT file from a
 * publicly-accessible web server. It then dynamically loads into the map at run
 * time. The GeoJSON layer will maintain a reference to the GeoJSON resource.
 *
 * Web map spec:
 * {@link https://developers.arcgis.com/web-map-specification/objects/geoJsonLayer/}.
 * Web scene spec:
 * {@link https://developers.arcgis.com/web-scene-specification/objects/geoJsonLayer/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface GeoJSONLayer 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: "GeoJSON";
    /**
     * 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 GeoJSON file that backs the layer.
     */
    url?: string;
}
