/* COPYRIGHT Esri - https://js.arcgis.com/5.1.2/LICENSE.txt */
import{__decorate as t}from"tslib";import{JSONSupport as o}from"../../../core/JSONSupport.js";import{property as e,subclass as r}from"../../../core/accessorSupport/decorators.js";import{ensureClass as i}from"../../../core/accessorSupport/ensureType.js";import s from"../../../geometry/SpatialReference.js";import{traceTypeKebabDict as p}from"../../../networks/support/typeUtils.js";import a from"../../../networks/support/UNTraceConfiguration.js";import n from"./TraceLocation.js";import{writer as l}from"../../../core/accessorSupport/decorators/writer.js";var u;let c=u=class extends o{static from(t){return i(u,t)}constructor(t){super(t),this.namedTraceConfigurationGlobalId=null,this.gdbVersion=null,this.traceLocations=[],this.moment=null,this.outSpatialReference=null,this.traceConfiguration=null,this.resultTypes=null,this.traceType=null}writeOutSR(t,o,e){if(null!=t){const{wkid:r,latestWkid:i,wkt:s,wkt2:p}=t;o[e]=JSON.stringify({wkid:r??void 0,latestWkid:i??void 0,wkt:s??void 0,wkt2:p??void 0})}}};t([e({type:String,json:{read:{source:"traceConfigurationGlobalId"},write:{target:"traceConfigurationGlobalId"}}})],c.prototype,"namedTraceConfigurationGlobalId",void 0),t([e({type:String,json:{write:!0}})],c.prototype,"gdbVersion",void 0),t([e({type:[n],json:{write:!0}})],c.prototype,"traceLocations",void 0),t([e({type:Date,json:{type:Number,write:{writer:(t,o)=>{o.moment=t?t.getTime():null}}}})],c.prototype,"moment",void 0),t([e({type:s,json:{write:{allowNull:!0,target:"outSR"}}})],c.prototype,"outSpatialReference",void 0),t([l("outSpatialReference")],c.prototype,"writeOutSR",null),t([e({type:a,json:{write:!0}})],c.prototype,"traceConfiguration",void 0),t([e({type:[Object],json:{write:!0}})],c.prototype,"resultTypes",void 0),t([e({type:p.apiValues,json:{type:p.jsonValues,read:p.read,write:p.write}})],c.prototype,"traceType",void 0),t([e({json:{read:!1}})],c.prototype,"telecomSourceSet",void 0),c=u=t([r("esri.rest.networks.support.TraceParameters")],c);const d=c;export{d as default};
