/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["../chunks/_rollupPluginBabelHelpers","../chunks/tslib.es6","../core/JSONSupport","../core/lang","../core/accessorSupport/decorators/property","../core/accessorSupport/decorators/cast","../core/accessorSupport/decorators/reader","../core/accessorSupport/decorators/subclass","../core/accessorSupport/decorators/writer","./ExpressionInfo","./elements/GroupElement","./support/elements"],(function(e,t,r,o,s,n,p,c,l,i,u,a){"use strict";var d;const m=a.buildTypeMaps(u);let f=d=function(t){function r(e){var r;return(r=t.call(this,e)||this).description=null,r.elements=null,r.expressionInfos=null,r.title=null,r}e._inheritsLoose(r,t);var s=r.prototype;return s.castElements=function(e){return a.ensureType(e,m)},s.readElements=function(e,t){return a.fromJSON(t.formElements,m)},s.writeElements=function(e,t){t.formElements=a.toJSON(e,m)},s.clone=function(){return new d({description:this.description,expressionInfos:o.clone(this.expressionInfos),elements:o.clone(this.elements),title:this.title})},r}(r.JSONSupport);t.__decorate([s.property({type:String,json:{write:!0}})],f.prototype,"description",void 0),t.__decorate([s.property({json:{write:!0}})],f.prototype,"elements",void 0),t.__decorate([n.cast("elements")],f.prototype,"castElements",null),t.__decorate([p.reader("elements",["formElements"])],f.prototype,"readElements",null),t.__decorate([l.writer("elements")],f.prototype,"writeElements",null),t.__decorate([s.property({type:[i],json:{write:!0}})],f.prototype,"expressionInfos",void 0),t.__decorate([s.property({type:String,json:{write:!0}})],f.prototype,"title",void 0),f=d=t.__decorate([c.subclass("esri.form.FormTemplate")],f);return f}));
