import type { JSONSupport } from "../../core/JSONSupport.js"; import type { CustomTextElement, MapSurroundInfo } from "./types.js"; import type { MapSurroundInfoGroupElementProperties } from "./MapSurroundInfoGroupElement.js"; import type { MapSurroundInfoLegendProperties } from "./MapSurroundInfoLegend.js"; import type { MapSurroundInfoScaleLineProperties } from "./MapSurroundInfoScaleLine.js"; import type { MapSurroundInfoNorthArrowProperties } from "./MapSurroundInfoNorthArrow.js"; export interface LayoutOptionsProperties extends Partial> { /** The MapSurroundInfos in layoutOptions. */ mapSurroundInfos?: (MapSurroundInfoNorthArrowProperties | MapSurroundInfoScaleLineProperties | MapSurroundInfoLegendProperties | MapSurroundInfoGroupElementProperties)[]; } /** The `LayoutOptions` class defines layout options for printing */ export default class LayoutOptions extends JSONSupport { constructor(properties?: LayoutOptionsProperties); /** The CustomTextElements in layoutOptions. */ accessor customTextElements: CustomTextElement[]; /** Author text in layoutOptions. */ accessor hasAuthorText: boolean; /** Copyright text in layoutOptions. */ accessor hasCopyrightText: boolean; /** Legend in layoutOptions. */ accessor hasLegend: boolean; /** Title text in layoutOptions. */ accessor hasTitleText: boolean; /** The MapSurroundInfos in layoutOptions. */ get mapSurroundInfos(): MapSurroundInfo[]; set mapSurroundInfos(value: (MapSurroundInfoNorthArrowProperties | MapSurroundInfoScaleLineProperties | MapSurroundInfoLegendProperties | MapSurroundInfoGroupElementProperties)[]); }