/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{__decorate as e}from"tslib";import{Clonable as r}from"../../../core/Clonable.js";import o from"../../../core/ReactiveMap.js";import{property as t,subclass as s}from"../../../core/accessorSupport/decorators.js";import{hashElementTemplate as l}from"./support/hashElementTemplate.js";let i=class extends r{constructor(e){super(e),this.description=null,this.formTimeZone=null,this.label=null,this.layerTimeZone=null,this._expressionExecutorsByLayer=new o}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([t()],i.prototype,"description",void 0),e([t({readOnly:!0})],i.prototype,"elementId",null),e([t()],i.prototype,"formTimeZone",void 0),e([t()],i.prototype,"label",void 0),e([t()],i.prototype,"layerTimeZone",void 0),e([t({readOnly:!0})],i.prototype,"layers",null),e([t({readOnly:!0})],i.prototype,"type",void 0),e([t({clonable:e=>new o(Array.from(e))})],i.prototype,"_expressionExecutorsByLayer",void 0),i=e([s("esri.widgets.BatchAttributeForm.templates.ElementTemplateBase")],i);export{i as ElementTemplateBase};
