import type { SpatialReferenceJson } from "@vertigis/arcgis-extensions/json/SpatialReferenceJson.js";
import type { CoordinateFormat } from "../common/CoordinateFormat.js";
import type { CoordinateModelProperties as CommonCoordinateModelProperties } from "../common/CoordinateModelProperties.js";
import type { ServiceModelProperties } from "../common/ServiceModelProperties.js";
/**
 * @inheritdoc
 */
export interface CoordinateModelProperties extends CommonCoordinateModelProperties, ServiceModelProperties {
    /**
     * The ID of the active coordinate option being used in the application.
     * Defaults to the first item in the list of coordinateOptions.
     */
    activeCoordinateOption?: string;
    /**
     * A list of configuration options for displaying map coordinates in the
     * application.
     */
    coordinateOptions?: CoordinateOptionProperties[];
}
/**
 * Options for configuring the display of map coordinates.
 */
export interface CoordinateOptionProperties {
    /**
     * The unique ID of the Coordinate Option.
     */
    id: string;
    /**
     * The display name of the CoordinateOption.
     */
    title: string;
    /**
     * The format to display map coordinates in.
     */
    format: CoordinateFormat;
    /**
     * The spatial reference to display map coordinates in. If this property is
     * not defined, the spatial reference of the map will be used.
     */
    spatialReference?: SpatialReferenceJson;
    /**
     * For LAT_LONG and XY coordinate formats, this property depicts the number
     * of decimal places displayed. For MGRS and USNG coordinate formats, this
     * property depicts the precision of the coordinates using an integer
     * between 0 and 8 (inclusive). This Value is ignored by UTM coordinate
     * formats. The default values for coordinate formats are as follows:
     * LAT_LONG=4, XY=2, MGRS=5, and USNG=5.
     */
    precision?: number;
}
