import type { LayerDefinitionJson } from "./LayerDefinitionJson";
import type { OperationalLayerJsonBase } from "./OperationalLayerJson";
import type { PopupInfoJson } from "./PopupInfoJson";
/**
 * Annotation layers can be created by referencing a layer from a feature
 * service. Annotation layers honor any feature templates configured in the
 * source document.
 */
export interface AnnotationLayerJson extends OperationalLayerJsonBase {
    /**
     * The layer type.
     */
    layerType: "ArcGISAnnotationLayer";
    /**
     * A sequence of custom parameters appended to the URL of all requests
     * related to supporting ArcGIS layer types.
     */
    customParameters?: Record<string, unknown> | null;
    /**
     * Indicates whether to allow a client to ignore popups defined by the
     * service item.
     */
    disablePopup?: boolean | null;
    /**
     * Indicates whether a client can add, remove or update features in the
     * layer.
     */
    enableEditing?: boolean | null;
    /**
     * A layerDefinition object defining the attribute schema and drawing
     * information for the layer.
     */
    layerDefinition?: LayerDefinitionJson | null;
    /**
     * A PopupInfo object defining the content of pop-up windows when you click
     * or query a feature.
     */
    popupInfo?: PopupInfoJson | null;
    /**
     * The URL to the layer.If the layer is not from a web service but rather a
     * feature collection, than the url property is omitted.
     */
    url?: string | null;
    /**
     * An array of sublayer ids that should appear visible. These ids refer to
     * subsets of the Annotation features in the AnnotationLayer, identified by
     * their AnnotationClassId.
     */
    visibleLayers?: number[] | null;
}
