import{__decorate as e}from"tslib";import i from"@arcgis/core/Viewpoint";import{EntityBase as r}from"../Entity.js";import{ItemType as t}from"../ItemType.js";import{serializable as s}from"../support/Serializable.js";import{isViewpoint as o}from"../utilities/esri.js";let p=class extends r{source;title;viewpoint;_itemType=t.BOOKMARK;_getSerializableProperties(){return{...super._getSerializableProperties(),source:{serializeModes:["initial","preferences"],default:"user"},title:["initial","preferences"],viewpoint:{serializeModes:["initial","preferences"],serialize:()=>this.viewpoint?.toJSON(),deserialize:e=>{o(e)?this.viewpoint=e:e&&(this.viewpoint=i.fromJSON(e))}}}}};p=e([s],p);export{p as Bookmark};