/*
All material copyright Esri, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
*/
import{__decorate as r}from"tslib";import e from"../../Graphic.js";import{isSome as o}from"../../core/arrayUtils.js";import{JSONSupport as t}from"../../core/JSONSupport.js";import{property as s,subclass as i}from"../../core/accessorSupport/decorators.js";import{reader as p}from"../../core/accessorSupport/decorators/reader.js";import l from"./FeatureSet.js";import a from"./NAMessage.js";import n from"./RouteResult.js";function u(r){return r?l.fromJSON(r).features.filter(o):[]}let y=class extends t{constructor(r){super(r),this.checksum=null,this.messages=null,this.pointBarriers=null,this.polylineBarriers=null,this.polygonBarriers=null,this.routeResults=null}readPointBarriers(r,e){return u(e.barriers)}readPolylineBarriers(r){return u(r)}readPolygonBarriers(r){return u(r)}};r([s({type:String})],y.prototype,"checksum",void 0),r([s({type:[a]})],y.prototype,"messages",void 0),r([s({type:[e]})],y.prototype,"pointBarriers",void 0),r([p("pointBarriers",["barriers"])],y.prototype,"readPointBarriers",null),r([s({type:[e]})],y.prototype,"polylineBarriers",void 0),r([p("polylineBarriers")],y.prototype,"readPolylineBarriers",null),r([s({type:[e]})],y.prototype,"polygonBarriers",void 0),r([p("polygonBarriers")],y.prototype,"readPolygonBarriers",null),r([s({type:[n]})],y.prototype,"routeResults",void 0),y=r([i("esri.rest.support.RouteSolveResult")],y);export{y as default};
