import type MapSurroundInfoBase from "./MapSurroundInfoBase.js";
import type { ScaleBarUnit } from "./types.js";
import type { MapSurroundInfoBaseProperties } from "./MapSurroundInfoBase.js";

export interface MapSurroundInfoScaleLineProperties extends MapSurroundInfoBaseProperties, Partial<Pick<MapSurroundInfoScaleLine, "units">> {
  /**
   * The type of MapSurroundInfo.
   *
   * @default "cim-scale-line"
   */
  type?: "cim-scale-line";
}

/** The `MapSurroundInfoScaleLine` class defines a map surround scale line for printing */
export default class MapSurroundInfoScaleLine extends MapSurroundInfoBase {
  constructor(properties?: MapSurroundInfoScaleLineProperties);
  /**
   * The type of MapSurroundInfo.
   *
   * @default "cim-scale-line"
   */
  type: "cim-scale-line";
  /** The unit of measurement for the scale bar. */
  units?: ScaleBarUnit;
}