import type { ClonableMixin } from "../../core/Clonable.js";
import type { JSONSupport } from "../../core/JSONSupport.js";

export interface GeometryFieldsInfoProperties {}

/**
 * The `GeometryFieldsInfo` class returns information about the system maintained geometry information associated with a specific feature in a [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/). In addition, it also provides the unit of measurement used for these field values.
 *
 * @since 4.19
 * @see [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/)
 * @see [ArcGIS REST API documentation](https://developers.arcgis.com/rest/services-reference/layer-feature-service-.htm)
 */
export default class GeometryFieldsInfo extends GeometryFieldsInfoSuperclass {
  constructor(properties?: GeometryFieldsInfoProperties);
  /** The name of the field that stores the feature's area, e.g. "Shape__Area". */
  get shapeAreaField(): string | null | undefined;
  /**
   * The name of the field that stores the feature's length, e.g.
   * "Shape__Length".
   */
  get shapeLengthField(): string | null | undefined;
  /** The units of measure for the area and length field values. */
  get units(): string | null | undefined;
}
declare const GeometryFieldsInfoSuperclass: typeof JSONSupport & typeof ClonableMixin