/* COPYRIGHT Esri - https://js.arcgis.com/5.0.18/LICENSE.txt */
import{__decorate as e}from"tslib";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as s,subclass as o}from"../../core/accessorSupport/decorators.js";import{convertTemplatedStringToArcade as t}from"./labelUtils.js";import{reader as i}from"../../core/accessorSupport/decorators/reader.js";import{writer as p}from"../../core/accessorSupport/decorators/writer.js";var l;let n=class extends r{static{l=this}constructor(e){super(e),this.expression=null,this.title=null,this.value=null}readExpression(e,r){return r.value?t(r.value):e}writeExpression(e,r,s){null!=this.value&&(e=t(this.value)),null!=e&&(r[s]=e)}clone(){return new l({expression:this.expression,title:this.title,value:this.value})}};e([s({type:String,json:{write:{writerEnsuresNonNull:!0}}})],n.prototype,"expression",void 0),e([i("expression",["expression","value"])],n.prototype,"readExpression",null),e([p("expression")],n.prototype,"writeExpression",null),e([s({type:String,json:{write:!0,origins:{"web-scene":{write:!1}}}})],n.prototype,"title",void 0),e([s({json:{read:!1,write:!1}})],n.prototype,"value",void 0),n=l=e([o("esri.layers.support.LabelExpressionInfo")],n);export{n as default};
