/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.24/esri/copyright.txt for details.
*/
define(["exports","../../../chunks/_rollupPluginBabelHelpers","../../../chunks/tslib.es6","../../../core/handleUtils","../../../core/maybe","../../../core/Promise","../../../core/accessorSupport/decorators/property","../../../core/arrayUtils","../../../core/has","../../../core/accessorSupport/ensureType","../../../core/accessorSupport/decorators/subclass"],(function(e,t,r,o,i,n,s,c,p,a,l){"use strict";const u=e=>{let c=function(e){function r(){var t;return(t=e.apply(this,arguments)||this).parent=null,t._userInteractive=!1,t._interactiveViewModelCount=0,t}return t._inheritsLoose(r,e),r.prototype.forceInteractiveForViewModel=function(){return this._interactiveViewModelCount++,o.makeHandle((()=>this._interactiveViewModelCount--))},t._createClass(r,[{key:"interactive",get:function(){return this._interactiveViewModelCount>0||this._userInteractive},set:function(e){this._userInteractive=e}},{key:"updating",get:function(){return!1}},{key:"visible",get:function(){return!i.isSome(this.parent)||this.parent.visible&&!this.parent.suspended},set:function(e){void 0!==e?this._override("visible",e):this._clearOverride("visible")}}]),r}(n.EsriPromiseMixin(e));return r.__decorate([s.property({readOnly:!0})],c.prototype,"type",void 0),r.__decorate([s.property({constructOnly:!0})],c.prototype,"analysis",void 0),r.__decorate([s.property({constructOnly:!0})],c.prototype,"parent",void 0),r.__decorate([s.property({constructOnly:!0})],c.prototype,"view",void 0),r.__decorate([s.property({type:Boolean})],c.prototype,"interactive",null),r.__decorate([s.property()],c.prototype,"_userInteractive",void 0),r.__decorate([s.property({readOnly:!0})],c.prototype,"updating",null),r.__decorate([s.property()],c.prototype,"visible",null),r.__decorate([s.property()],c.prototype,"_interactiveViewModelCount",void 0),c=r.__decorate([l.subclass("esri.views.3d.analysis.AnalysisView3D")],c),c};e.AnalysisView3D=u,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
