import type { BasemapLayerJsonBase } from "./BasemapLayerJson.js";
import type { DefinitionEditorJson } from "./DefinitionEditorJson.js";
import type { LayerDefinitionJson } from "./LayerDefinitionJson.js";
import type { MosaicRuleJson } from "./MosaicRuleJson.js";
import type { OperationalLayerJsonBase } from "./OperationalLayerJson.js";
/**
 * The imageServiceVectorLayer displays pixel values as vectors. To do this, the
 * image service layer must be a two-band raster in which one band holds
 * magnitude values and one band holds direction values. The
 * imageServiceVectorLayer also supports time-enabled data.
 *
 * See
 * {@link https://developers.arcgis.com/web-map-specification/objects/imageServiceVectorLayer/}.
 */
export interface ImageServiceVectorLayerJson extends OperationalLayerJsonBase, BasemapLayerJsonBase {
    /**
     * A sequence of custom parameters appended to the URL of all requests
     * related to supporting ArcGIS layer types.
     */
    customParameters?: Record<string, unknown> | null;
    /**
     * Stores interactive filters.
     */
    definitionEditor?: DefinitionEditorJson | null;
    /**
     * Boolean property indicating whether to ignore popups defined by the
     * service item.
     */
    disablePopup: boolean;
    /**
     * Optional string containing the item ID of the service if it's registered
     * on ArcGIS Online or your organization's portal.
     */
    itemId?: string | null;
    /**
     * A layerDefinition object defining the attribute schema and drawing
     * information for the layer.
     */
    layerDefinition?: LayerDefinitionJson | null;
    /**
     * The type of layer.
     */
    layerType: "ArcGISImageServiceVectorLayer";
    /**
     * Specifies the mosaic rule when defining how individual images should be
     * mosaiced.
     */
    mosaicRule?: MosaicRuleJson | null;
    /**
     * This property is applicable to layers that support time. If 'true',
     * timeAnimation is enabled.
     */
    timeAnimation?: boolean | null;
    /**
     * The URL to the layer.
     */
    url: string;
}
