import type { JSONSupport } from "../../core/JSONSupport.js"; export interface Symbol3DVerticalOffsetProperties extends Partial> { /** * Vertical symbol offset in screen size. This value may be autocast with * a string expressing size in points or pixels (e.g. `12px`). * * @default 0 */ screenLength?: number | string; } /** * Shifts a symbol along the vertical world axis by a given height. The height is set in screen space units * like points or pixels. * * @see [PointSymbol3D.verticalOffset](https://developers.arcgis.com/javascript/latest/references/core/symbols/PointSymbol3D/#verticalOffset) * @see [LabelSymbol3D.verticalOffset](https://developers.arcgis.com/javascript/latest/references/core/symbols/LabelSymbol3D/#verticalOffset) * @see [Sample: Using callout lines with labels](https://developers.arcgis.com/javascript/latest/sample-code/visualization-label-callout/) */ export default class Symbol3DVerticalOffset extends JSONSupport { constructor(properties?: Symbol3DVerticalOffsetProperties); /** * The maximum vertical symbol offset in world units. It acts as an upper bound to avoid vertical offset becoming too big. * * In the following animation the green symbols have `maxWorldLength = 50` and orange symbols don't have `maxWorldLength` set: * * ![maxWorldLength](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3D-line-callout-maxWorldLength.gif) */ accessor maxWorldLength: number | null | undefined; /** * The minimum vertical symbol offset in world units. It acts as a lower bound to avoid vertical offset becoming too small. * * In the following animation the green symbol on the left has `minWorldLength = 20` and for the orange symbol on the right `minWorldLength` has not been set: * * ![minWorldLength-on](https://developers.arcgis.com/javascript/latest/assets/references/core/symbols/symbols3D-line-callout-minWorldLength.gif) * * @default 0 */ accessor minWorldLength: number; /** * Vertical symbol offset in screen size. This value may be autocast with * a string expressing size in points or pixels (e.g. `12px`). * * @default 0 */ get screenLength(): number; set screenLength(value: number | string); /** * Creates a deep clone of the vertical offset. * * @returns A deep clone of the object that * invoked this method. */ clone(): Symbol3DVerticalOffset; }