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

export interface MapSurroundInfoLegendProperties extends MapSurroundInfoBaseProperties, Partial<Pick<MapSurroundInfoLegend, "defaultLegendItem">> {
  /**
   * The type of MapSurroundInfo.
   *
   * @default "cim-legend"
   */
  type?: "cim-legend";
}

/** The `MapSurroundInfoLegend` class defines a map surround legend for printing */
export default class MapSurroundInfoLegend extends MapSurroundInfoBase {
  constructor(properties?: MapSurroundInfoLegendProperties);
  /** The default legend item configuration. */
  accessor defaultLegendItem: MapSurroundInfoLegendItem | undefined;
  /**
   * The type of MapSurroundInfo.
   *
   * @default "cim-legend"
   */
  type: "cim-legend";
}