/*
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/HandleOwner","../../../../../core/accessorSupport/decorators/property","../../../../../core/arrayUtils","../../../../../core/has","../../../../../core/accessorSupport/ensureType","../../../../../core/accessorSupport/decorators/subclass"],(function(e,t,r,i,s,o,n,a){"use strict";let l=function(t){function r(e){var r;return(r=t.call(this,e)||this).tiles=new Map,r}e._inheritsLoose(r,t);var i=r.prototype;return i.destroy=function(){this.tiles.clear(),this.layer=this.layerView=this.tileInfoView=this.tiles=null},i.acquireTile=function(e){const t=this.createTile(e);return t.once("isReady",(()=>this.notifyChange("updating"))),this.tiles.set(e.id,t),t},i.forceAttributeTextureUpload=function(){},i.forEachTile=function(e){this.tiles.forEach(e)},i.releaseTile=function(e){this.tiles.delete(e.key.id),this.disposeTile(e)},i.isUpdating=function(){let e=!0;return this.tiles.forEach((t=>{e=e&&t.isReady})),!e},i.setHighlight=function(){},i.invalidateLabels=function(){},i.requestUpdate=function(){this.layerView.requestUpdate()},e._createClass(r,[{key:"updating",get:function(){return this.isUpdating()}}]),r}(r.HandleOwner);t.__decorate([i.property()],l.prototype,"layer",void 0),t.__decorate([i.property()],l.prototype,"layerView",void 0),t.__decorate([i.property()],l.prototype,"tileInfoView",void 0),t.__decorate([i.property()],l.prototype,"updating",null),l=t.__decorate([a.subclass("esri.views.2d.layers.features.tileRenderers.BaseTileRenderer")],l);return l}));
