import type { LayerDefinitionJson } from "./LayerDefinitionJson.js";
import type { OperationalLayerJsonBase } from "./OperationalLayerJson.js";
import type { PopupInfoJson } from "./PopupInfoJson.js";
/**
 * 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/}.
 */
export interface GeoJSONLayerJson extends OperationalLayerJsonBase {
    /**
     * Indicates whether to allow a client to ignore popups defined by the
     * service item.
     */
    disablePopup?: boolean | null;
    /**
     * A layerDefinition object defining the attribute schema and drawing
     * information for the layer.
     */
    layerDefinition?: LayerDefinitionJson | null;
    /**
     * The type of layer.
     */
    layerType: "GeoJSON";
    /**
     * A PopupInfo object defining the content of pop-up windows when you click
     * or query a feature.
     */
    popupInfo?: PopupInfoJson | null;
    /**
     * Apply perspective scaling to screen-size symbols.
     */
    screenSizePerspective?: boolean | null;
    /**
     * Indicates whether to display labels for this layer. If true, labels will
     * appear as defined in the labelingInfo property.
     */
    showLabels?: boolean | null;
    /**
     * The URL to the GeoJSON file that backs the layer.
     */
    url?: string | null;
}
