// All material copyright ESRI, All Rights Reserved, unless otherwise specified.
// See https://js.arcgis.com/4.16/esri/copyright.txt for details.
//>>built
define("require exports ../core/tsSupport/declareExtendsHelper ../core/tsSupport/decorateHelper ../core/Collection ../core/lang ../core/accessorSupport/decorators ./Symbol3D ./TextSymbol3DLayer ./callouts/calloutUtils ./support/Symbol3DVerticalOffset".split(" "),function(q,r,l,c,m,d,b,n,g,f,p){var h=m.ofType({base:null,key:"type",typeMap:{text:g}});return function(k){function a(a){a=k.call(this,a)||this;a.verticalOffset=null;a.callout=null;a.styleOrigin=null;a.symbolLayers=new h;a.type="label-3d";
return a}l(a,k);e=a;a.prototype.supportsCallout=function(){return!0};a.prototype.hasVisibleCallout=function(){return f.hasVisibleCallout(this)};a.prototype.hasVisibleVerticalOffset=function(){return f.hasVisibleVerticalOffset(this)};a.prototype.clone=function(){return new e({styleOrigin:d.clone(this.styleOrigin),symbolLayers:d.clone(this.symbolLayers),thumbnail:d.clone(this.thumbnail),callout:d.clone(this.callout),verticalOffset:d.clone(this.verticalOffset)})};a.fromTextSymbol=function(a){return new e({symbolLayers:[g.fromTextSymbol(a)]})};
var e;c([b.property({type:p.default,json:{write:!0}})],a.prototype,"verticalOffset",void 0);c([b.property(f.calloutProperty)],a.prototype,"callout",void 0);c([b.property({json:{read:!1,write:!1}})],a.prototype,"styleOrigin",void 0);c([b.property({type:h})],a.prototype,"symbolLayers",void 0);c([b.enumeration.serializable()({LabelSymbol3D:"label-3d"})],a.prototype,"type",void 0);return a=e=c([b.subclass("esri.symbols.LabelSymbol3D")],a)}(b.declared(n))});