import type EsriCSVLayer from "@arcgis/core/layers/CSVLayer";
import { LayerDefinition } from "./LayerDefinition.js";
import type { LocationInfo } from "./LocationInfo.js";
import type { OperationalLayerBase } from "./OperationalLayer.js";
import { PopupInfo } from "./PopupInfo.js";
export declare namespace CSVLayer {
    /**
     * Default values from Esri JavaScript API documentation.
     *
     * @deprecated Use "json/*" modules instead.
     */
    const esriCSVLayerDefaults: {
        labelsVisible: boolean;
        legendEnabled: boolean;
        popupEnabled: boolean;
        visible: boolean;
        opacity: number;
        minScale: number;
        maxScale: number;
        screenSizePerspective: boolean;
    };
    /**
     * Converts an ArcGIS Portal JSON representation of a CSV layer to its Esri
     * JavaScript API representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layerJson The layer JSON to convert.
     */
    function toEsriApiLayer(layerJson: CSVLayer): Promise<EsriCSVLayer>;
    /**
     * Applies an ArcGIS Portal JSON representation of a CSV 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: CSVLayer, layer: EsriCSVLayer): Promise<void>;
    /**
     * Converts an Esri JavaScript API CSVLayer object to its ArcGIS Portal JSON
     * representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param layer The layer object to convert.
     */
    function fromEsriApiCSVLayer(layer: EsriCSVLayer): CSVLayer;
}
/**
 * The CSV layer type references a CSV or TXT file from a publicly-accessible
 * web server. It then dynamically loads into the map at run time. The CSV layer
 * will maintain a reference to the CSV resource.
 *
 * See
 * {@link https://developers.arcgis.com/web-map-specification/objects/csvLayer/}
 * {@link https://developers.arcgis.com/web-scene-specification/objects/csvLayer/}.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface CSVLayer extends OperationalLayerBase {
    /**
     * A string defining the character used to separate columns in a CSV file.
     * You can set this property using any of the following: ",", " ", ";", "|",
     * "\t". Used with CSV layers only.
     */
    columnDelimiter?: "," | " " | ";" | "|" | "\t";
    /**
     * 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: "CSV";
    /**
     * A LocationInfo object defining how location information will be retrieved
     * from a CSV file. Used with CSV layers only.
     */
    locationInfo?: LocationInfo;
    /**
     * 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 CSV file that backs the layer.
     */
    url?: string;
}
