/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
import{__decorate as e}from"tslib";import{Clonable as r}from"../../../core/Clonable.js";import t from"../../../core/ReactiveMap.js";import{property as o,subclass as s}from"../../../core/accessorSupport/decorators.js";import{hashElementTemplate as l}from"./support/hashElementTemplate.js";let p=class extends r{constructor(e){super(e),this.description=null,this.label=null,this._expressionExecutorsByLayer=new t}get elementId(){return l(this)}get layers(){return Array.from(this._expressionExecutorsByLayer.keys())}addLayer(e,r=null){this._expressionExecutorsByLayer.set(e,r)}foldIn(e){for(const r of e.layers)this.addLayer(r,e.getExpressionExecutorsForLayer(r))}getExpressionExecutorsForLayer(e){return this._expressionExecutorsByLayer.get(e)??null}};e([o()],p.prototype,"description",void 0),e([o({readOnly:!0})],p.prototype,"elementId",null),e([o()],p.prototype,"label",void 0),e([o({readOnly:!0})],p.prototype,"layers",null),e([o({readOnly:!0})],p.prototype,"type",void 0),e([o({clonable:e=>new t(Array.from(e))})],p.prototype,"_expressionExecutorsByLayer",void 0),p=e([s("esri.widgets.BatchAttributeForm.templates.ElementTemplateBase")],p);export{p as ElementTemplateBase};
