export declare const ENGINE_TASK_ASYNC_POLLING_INTERVAL_MS = 1500; export declare const ENGINE_TASK_PARAM_WEB_MAP = "Web_Map_as_JSON"; export declare const ENGINE_TASK_PARAM_ADDITIONAL_SETTINGS = "Additional_Settings_as_JSON"; export declare const ENGINE_TASK_PARAM_ADDITIONAL_WEB_MAPS = "Additional_Web_Maps_as_JSON"; export declare const ENGINE_TASK_PARAM_FORMAT = "Format"; export declare const ENGINE_TASK_PARAM_LAYOUT_TEMPLATE = "Layout_Template"; export declare const ENGINE_VGS_LAYOUT_REF_PREFEX = "vglay_"; export declare const ENGINE_TASK_PARAM_RETURN_ADDITIONAL_LAYOUT_INFO = "Return_Additional_Info"; interface CustomPictureElementProps { /** Width and Height of the Element in Page Units. */ elementSize: number[]; /** Default Value of the Element. */ value: string; } /** * Custom Picture Element. * The key is the element name. The value is the default value of the Element. */ type CustomPictureElement = Record; /** * Custom Text Element. * The key is the element name. The value is the default value of the Element. */ export type CustomTextElement = Record; /** Map Frame Information. */ export interface WebMapFrameElement { /** Width and Height of the Element in Page Units. */ elementSize: number[]; /** Name of the Map Frame. */ name: string; } /** Further Layout Information. */ interface LayoutOptions { /** [non-ESRI Property] List of available Custom Picture Elements. See Print Documentation for more Information on Custom Picture Elements. */ customPictureElements?: CustomPictureElement[]; /** List of available Custom Text Elements. See Print Documentation for more Information on Custom Text Elements. */ customTextElements?: CustomTextElement[]; /** Whether a predefined Author Text is available. */ hasAuthorText: boolean; /** Whether a predefined Copyright Text is available. */ hasCopyrightText: boolean; /** Whether a Legend Element is available. */ hasLegend: boolean; /** Whether a predefined Title Text is available. */ hasTitleText: boolean; } /** * Layout Template Information. If Task is requested with Parameter 'Return_Additional_Info' = true, * the Layout Information might contain additional Properties, not available in the ESRI Standard. * See Print Documentation for more Information. */ export interface LayoutInfo { /** Further Layout Information. */ layoutOptions: LayoutOptions; /** Name of the Layout. */ layoutTemplate: string; /** Page Size [width, height] */ pageSize: number[]; /** Page Units. */ pageUnits: string; /** */ portalItem: { description: string; /** Url of the item in portal. */ home: string; /** The id of the portal item. */ id: string; /** The name of the print layout. */ name: string; /** The title of the print layout. */ title: string; vgsId: string; vgsLayoutPackageRefs: string[]; vgsPrintPageType: string; vgsPrintRequestTypes: string[]; }; /** [non-ESRI Property] Further Map Frame Information. */ webMapFrameElements?: WebMapFrameElement[]; /** Size of the Map Frame. [width, height] If there are multiple Map Frames on the Layout, it returns Information only for the Map Frame that is named 'WEBMAP_MAP_FRAME'. */ webMapFrameSize?: number[]; } export interface AdditionalMap { Map_As_JSON: ExportWebMap; name: string; } /** * The name of a Map Frame element within a layout. */ export declare enum MapFrameElementName { WEBMAP_MAP_FRAME = "WEBMAP_MAP_FRAME", OVERVIEW = "OVERVIEW" } interface ExportSpatialReference { latestWkid?: number; wkid: number | null | undefined; } export interface ExportExtent { spatialReference: ExportSpatialReference; xmax: number; xmin: number; ymax: number; ymin: number; } interface ExportMapOptions { /** * You can change the map's background color. When there are more than one maps in a layout, * this is applied to the map associated to a map frame named `WEBMAP_MAP_FRAME`. */ background?: { color: number[]; }; /** * A required property that defines the extent of the map. * The spatial reference of the extent object is optional; * when it is not provided, it is assumed to be in the map's spatial reference. * When the aspect ratio of the map extent is different than the size of the map * on the output page or the `exportOptions:outputSize`, you might notice * more features on the output map. */ extent: ExportExtent; /** * This represents the number of degrees by which the data frame will be rotated, measured counterclockwise from the north. To rotate clockwise, use a negative value. */ rotation?: number; /** * The map scale at which you want your map to be exported. This property is optional but recommended for getting optimal results. The scale property is especially useful when map services in this web map have scale-dependent layers or reference scales set. Since the map that you are viewing on the web app may be smaller than the size of the output map (for example, 8.5 x 11 in. or A4 size), the scale of the output map will be different and you could see differences in features and/or symbols in the web application as compared with the output map. * * When scale is used, it takes precedence over the extent, but the output map is drawn at the requested scale centered on the center of the extent. */ scale?: number; /** * The spatial reference of the map. The order of preference when spatialReference is missing is as follows: * * 1. `mapOptions.extent.spatialReference` * 2. `baseMap.baseMapLayers.spatialReference` * 3. Map template's spatial reference */ spatialReference?: ExportSpatialReference; /** * If there is a time-aware layer and you want it to be drawn at a specified time, specify this property. * This order list can have one or two elements. Add two elements (startTime followed by endTime ) to represent a time extent, * or provide only one time element to represent a time instant. Times are always in UTC. */ time?: any[]; } interface ExportOperationalLayer { id?: string; layerType: "ArcGISFeatureLayer" | "ArcGISImageServiceLayer" | "ArcGISMapServiceLayer" | "ArcGISTiledImageServiceLayer" | "ArcGISTiledMapServiceLayer" | "VectorTileLayer" | "WebTiledLayer" | "WFS" | "WMS" | "KML"; maxScale?: number; minScale?: number; opacity?: number; title?: string; token?: string; url?: string; visibility?: boolean; } interface ExportBaseMapLayer { opacity?: number; url: string; } interface ExportBaseMap { baseMapLayers: ExportBaseMapLayer[]; title: string; } interface ExportOptions { dpi?: number; outputSize?: number[]; } /** * @product This is intended for internal use only within VertiGIS Studio products. */ export interface ExportWebMap { /** The base layers. */ baseLayers?: any[]; baseMap: ExportBaseMap; /** */ exportOptions?: ExportOptions; /** The ground layers. */ groundLayers?: any[]; /** Details about the layout of the map. */ layoutOptions?: { authorText?: string; copyrightText?: string; customTextElements?: Record[]; legendOptions?: { operationalLayers: Record[]; operationalLayersAutoSet: false; }; titleText?: string; }; /** VertiGIS Export Web Map - Map Options as JSON. Remaining Properties are defined by ESRI Export Web Map - Map Options Specification. */ mapOptions: ExportMapOptions; /** The operational layers. */ operationalLayers: ExportOperationalLayer[]; reportOptions: any; /** The spatial reference. */ spatialReference: __esri.SpatialReference; } /** * The parameters that are required for including a map in a report or print job. */ export interface WebmapPrintParameters { /** The extent in 4326 spatial reference. */ extent?: __esri.Extent; /** The name of the map control in the report or print template. */ mapName: string; /** The scale of the map in the report or print template. */ scale?: number; /** The webmap. */ webmap: ExportWebMap; } export declare function getWebMapOverviewPrintScale(printScale: number, overviewMapFrame: WebMapFrameElement, mainMapFrame: WebMapFrameElement | undefined): number; export {};