/*
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/accessorSupport/decorators/property","../core/arrayUtils","../core/has","../core/accessorSupport/ensureType","../core/accessorSupport/decorators/reader","../core/accessorSupport/decorators/subclass","./SpatialReference"],(function(e,r,t,o,c,n,a,p,s,l){"use strict";let i=function(r){function t(...e){var t;return(t=r.call(this,...e)||this).type=null,t.hasM=!1,t.hasZ=!1,t.spatialReference=l.WGS84,t}e._inheritsLoose(t,r);var o=t.prototype;return o.readSpatialReference=function(e,r){if(e instanceof l)return e;if(null!=e){const t=new l;return t.read(e,r),t}return e},o.clone=function(){return console.warn(".clone() is not implemented for "+this.declaredClass),null},o.clearCache=function(){this.notifyChange("cache")},o.getCacheValue=function(e){return this.cache[e]},o.setCacheValue=function(e,r){this.cache[e]=r},e._createClass(t,[{key:"cache",get:function(){return this.commitProperty("spatialReference"),{}}},{key:"extent",get:function(){return null}}]),t}(t.JSONSupport);r.__decorate([o.property()],i.prototype,"type",void 0),r.__decorate([o.property({readOnly:!0})],i.prototype,"cache",null),r.__decorate([o.property({readOnly:!0})],i.prototype,"extent",null),r.__decorate([o.property({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],i.prototype,"hasM",void 0),r.__decorate([o.property({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],i.prototype,"hasZ",void 0),r.__decorate([o.property({type:l,json:{write:!0}})],i.prototype,"spatialReference",void 0),r.__decorate([p.reader("spatialReference")],i.prototype,"readSpatialReference",null),i=r.__decorate([s.subclass("esri.geometry.Geometry")],i);return i}));
