/* COPYRIGHT Esri - https://js.arcgis.com/5.1.2/LICENSE.txt */
import{create as t}from"../../geometry/support/aaBoundingRect.js";class e{constructor(e,l,i,s=t()){this._level=e,this._row=l,this._col=i,this.extent=s}get id(){return this._id??=`${this.level}/${this.row}/${this.col}`,this._id}get level(){return this._level}set level(t){this._level=t,this._id=null}get row(){return this._row}set row(t){this._row=t,this._id=null}get col(){return this._col}set col(t){this._col=t,this._id=null}toJSON(){return{level:this._level,row:this._row,col:this._col,extent:this.extent}}static fromJSON(t){return new e(t.level,t.row,t.col,t.extent)}}export{e as TileKey};
