import { defineComponent, getCurrentInstance, createCommentVNode } from 'vue';
import '../../../composables/index.mjs';
import { token, tileDiscardPolicy, layers, enablePickFeatures, rectangle, tilingScheme, ellipsoid, credit, tileWidth, tileHeight, maximumLevel } from '../../../utils/cesium-props.mjs';
import { kebabCase } from '../../../utils/util.mjs';
import useProviders from '../../../composables/use-providers/index.mjs';

var ProviderImageryArcgis = defineComponent({
  name: "VcProviderImageryArcgis",
  props: {
    url: {
      type: String,
      default: "https://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer"
    },
    ...token,
    ...tileDiscardPolicy,
    usePreCachedTilesIfAvailable: {
      type: Boolean,
      default: true
    },
    ...layers,
    ...enablePickFeatures,
    ...rectangle,
    ...tilingScheme,
    ...ellipsoid,
    ...credit,
    ...tileWidth,
    ...tileHeight,
    ...maximumLevel
  },
  emits: ["beforeLoad", "ready", "destroyed", "readyPromise"],
  setup(props, ctx) {
    const instance = getCurrentInstance();
    instance.cesiumClass = "ArcGisMapServerImageryProvider";
    useProviders(props, ctx, instance);
    return () => {
      var _a;
      return createCommentVNode(kebabCase(((_a = instance.proxy) == null ? void 0 : _a.$options.name) || ""));
    };
  }
});

export { ProviderImageryArcgis as default };
//# sourceMappingURL=imagery.mjs.map
