/* COPYRIGHT Esri - https://js.arcgis.com/5.1.0/LICENSE.txt */
import{__decorate as e}from"tslib";import s from"../../../../core/Accessor.js";import{createAbortError as t}from"../../../../core/promiseUtils.js";import{property as r,subclass as o}from"../../../../core/accessorSupport/decorators.js";let a=class extends s{constructor(e){super(),this.hasPlacedViewshed=!1,this._abortHandle=null,this._abortHandle=e.abortHandle,this._reject=e.reject,this._resolve=e.resolve}markPlacedViewshed(){this.hasPlacedViewshed=!0}reject(e){this._clearAbortHandle(),this._reject(e)}resolve(){this._clearAbortHandle(),this._resolve()}finish(){this.hasPlacedViewshed?this.resolve():this.reject(t())}_clearAbortHandle(){this._abortHandle?.remove(),this._abortHandle=null}};e([r()],a.prototype,"hasPlacedViewshed",void 0),e([r()],a.prototype,"_abortHandle",void 0),a=e([o("esri.views.3d.analysis.Viewshed.ViewshedPlacementOperation")],a);const i=a;export{i as default};
