"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.DcImageryProvider = void 0;
var UrlTemplateImageryProvider_1 = require("./UrlTemplateImageryProvider");
function createFactory(Type) {
    return function (options) {
        return new Type(options);
    };
}
var ImageryProviderMapping = {
    // ARCGIS_MAPSERVER: createFactory(ArcGisMapServerImageryProvider),
    // BING: createFactory(BingMapsImageryProvider),
    // GOOGLE_EARTH: createFactory(GoogleEarthEnterpriseMapsProvider),
    // MAPBOX: createFactory(MapboxImageryProvider),
    // SINGLE_TILE: createFactory(SingleTileImageryProvider),
    // TMS: createFactory(TileMapServiceImageryProvider),
    URL_TEMPLATE: createFactory(UrlTemplateImageryProvider_1.UrlTemplateImageryProvider),
    // WMS: createFactory(WebMapServiceImageryProvider),
    // WMTS: createFactory(WebMapTileServiceImageryProvider),
};
var DcImageryProvider = /** @class */ (function () {
    function DcImageryProvider() {
    }
    DcImageryProvider.prototype.requestImage = function (x, y, level, request) {
        //>>includeStart('debug', pragmas.debug);
        if (!this._ready) {
            console.error("requestImage must not be called before the imagery provider is ready.");
        }
        //>>includeEnd('debug');
        return this._imageryProvider.requestImage(x, y, level, request);
    };
    ;
    return DcImageryProvider;
}());
exports.DcImageryProvider = DcImageryProvider;
