/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
import{__decorate as t}from"tslib";import e from"../core/Collection.js";import{referenceSetter as o}from"../core/collectionUtils.js";import{clone as r}from"../core/lang.js";import{property as s,subclass as l}from"../core/accessorSupport/decorators.js";import i from"./Symbol3D.js";import a from"./TextSymbol3DLayer.js";import{hasVisibleCallout as y,hasVisibleVerticalOffset as m,calloutProperty as p}from"./callouts/calloutUtils.js";import n from"./support/Symbol3DVerticalOffset.js";import{enumeration as c}from"../core/accessorSupport/decorators/enumeration.js";var u;const b=e.ofType({base:null,key:"type",typeMap:{text:a}});let f=u=class extends i{constructor(t){super(t),this.verticalOffset=null,this.callout=null,this.styleOrigin=null,this.type="label-3d",this.symbolLayers=new b}get symbolLayers(){return this._get("symbolLayers")}set symbolLayers(t){o(t,this._get("symbolLayers"))}supportsCallout(){return!0}hasVisibleCallout(){return y(this)}hasVisibleVerticalOffset(){return m(this)}clone(){return new u({styleOrigin:r(this.styleOrigin),symbolLayers:r(this.symbolLayers),thumbnail:r(this.thumbnail),callout:r(this.callout),verticalOffset:r(this.verticalOffset)})}static fromTextSymbol(t){return new u({symbolLayers:new e([a.fromTextSymbol(t)])})}};t([s({type:n,json:{write:!0}})],f.prototype,"verticalOffset",void 0),t([s(p)],f.prototype,"callout",void 0),t([s({json:{read:!1,write:!1}})],f.prototype,"styleOrigin",void 0),t([s({type:b})],f.prototype,"symbolLayers",null),t([c({LabelSymbol3D:"label-3d"},{readOnly:!0})],f.prototype,"type",void 0),f=u=t([l("esri.symbols.LabelSymbol3D")],f);export{f as default};
