import type { JSONSupport, JSONSupportMixinProperties } from "../../core/JSONSupport.js";
import type { GPLinearUnit } from "./types.js";

export interface LinearUnitProperties extends JSONSupportMixinProperties, Partial<Pick<LinearUnit, "distance" | "units">> {}

/**
 * A geoprocessing object that describes a distance.
 *
 * @since 4.0
 */
export default class LinearUnit extends JSONSupport {
  constructor(properties?: LinearUnitProperties);
  /**
   * Specifies the value of the linear distance.
   *
   * @default 0
   */
  accessor distance: number;
  /** Specifies the unit type of the linear distance. */
  units?: GPLinearUnit | null;
}