/*
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/Clonable","../../core/JSONSupport","../../core/maybe","../../core/accessorSupport/decorators/property","../../core/arrayUtils","../../core/has","../../core/accessorSupport/ensureType","../../core/accessorSupport/decorators/enumeration","../../core/accessorSupport/decorators/reader","../../core/accessorSupport/decorators/subclass","../../core/accessorSupport/decorators/writer","./networkEnums"],(function(e,t,r,o,i,n,a,p,s,c,u,l,d,m){"use strict";let y=function(t){function r(e){var r;return(r=t.call(this,e)||this).attributeParameterValues=null,r.description=null,r.distanceAttributeName=null,r.id=null,r.impedanceAttributeName=null,r.name=null,r.restrictionAttributeNames=null,r.simplificationTolerance=null,r.simplificationToleranceUnits=null,r.timeAttributeName=null,r.type=null,r.useHierarchy=null,r.uturnAtJunctions=null,r}e._inheritsLoose(r,t);var o=r.prototype;return o.readRestrictionAttributes=function(e,t){const{restrictionAttributeNames:r}=t;return i.isNone(r)?null:r.map((e=>m.restrictionAttributeNameJsonMap.fromJSON(e)))},o.writeRestrictionAttributes=function(e,t,r){!i.isNone(e)&&e.length&&(t[r]=e.map((e=>m.restrictionAttributeNameJsonMap.toJSON(e))))},r}(r.ClonableMixin(o.JSONSupport));t.__decorate([n.property({type:[Object],json:{write:!0}})],y.prototype,"attributeParameterValues",void 0),t.__decorate([n.property({type:String,json:{write:!0}})],y.prototype,"description",void 0),t.__decorate([c.enumeration(m.distanceImpedanceAttributeNameJsonMap,{ignoreUnknown:!1})],y.prototype,"distanceAttributeName",void 0),t.__decorate([n.property({type:String,json:{write:!0}})],y.prototype,"id",void 0),t.__decorate([c.enumeration(m.impedanceAttributeNameJsonMap,{ignoreUnknown:!1})],y.prototype,"impedanceAttributeName",void 0),t.__decorate([n.property({type:String,json:{write:!0}})],y.prototype,"name",void 0),t.__decorate([n.property({type:[String],json:{write:!0}})],y.prototype,"restrictionAttributeNames",void 0),t.__decorate([u.reader("restrictionAttributeNames")],y.prototype,"readRestrictionAttributes",null),t.__decorate([d.writer("restrictionAttributeNames")],y.prototype,"writeRestrictionAttributes",null),t.__decorate([n.property({type:Number,json:{write:{allowNull:!0}}})],y.prototype,"simplificationTolerance",void 0),t.__decorate([c.enumeration(m.lengthUnitJsonMap)],y.prototype,"simplificationToleranceUnits",void 0),t.__decorate([c.enumeration(m.durationImpedanceAttributeNameJsonMap,{ignoreUnknown:!1})],y.prototype,"timeAttributeName",void 0),t.__decorate([c.enumeration(m.travelModeTypeJsonMap)],y.prototype,"type",void 0),t.__decorate([n.property({type:Boolean,json:{write:!0}})],y.prototype,"useHierarchy",void 0),t.__decorate([c.enumeration(m.restrictUTurnJsonMap)],y.prototype,"uturnAtJunctions",void 0),y=t.__decorate([l.subclass("esri.rest.support.TravelMode")],y);return y}));
