/*
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/maybe","../core/accessorSupport/decorators/property","../core/arrayUtils","../core/has","../core/accessorSupport/ensureType","../core/accessorSupport/decorators/enumeration","../core/accessorSupport/decorators/subclass","./Symbol3DLayer","./edges/utils","./support/Symbol3DMaterial"],(function(e,r,t,o,s,a,l,i,c,n,p,d){"use strict";var u;let y=u=function(r){function o(e){var t;return(t=r.call(this,e)||this).type="extrude",t.size=1,t.material=null,t.castShadows=!0,t.edges=null,t}return e._inheritsLoose(o,r),o.prototype.clone=function(){return new u({edges:this.edges&&this.edges.clone(),enabled:this.enabled,material:t.isSome(this.material)?this.material.clone():null,castShadows:this.castShadows,size:this.size})},o}(n);r.__decorate([i.enumeration({Extrude:"extrude"},{readOnly:!0})],y.prototype,"type",void 0),r.__decorate([o.property({type:Number,json:{write:{enabled:!0,isRequired:!0}},nonNullable:!0})],y.prototype,"size",void 0),r.__decorate([o.property({type:d.Symbol3DMaterial,json:{write:!0}})],y.prototype,"material",void 0),r.__decorate([o.property({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],y.prototype,"castShadows",void 0),r.__decorate([o.property(p.symbol3dEdgesProperty)],y.prototype,"edges",void 0),y=u=r.__decorate([c.subclass("esri.symbols.ExtrudeSymbol3DLayer")],y);return y}));
