function GltfImageLoader(options) {
  options = options ?? Frozen.EMPTY_OBJECT;
  const resourceCache = options.resourceCache;
  const gltf = options.gltf;
  const imageId = options.imageId;
  const gltfResource = options.gltfResource;
  const baseResource = options.baseResource;
  const cacheKey = options.cacheKey;

  //>>includeStart('debug', pragmas.debug);
  Check.typeOf.func("options.resourceCache", resourceCache);
  Check.typeOf.object("options.gltf", gltf);
  Check.typeOf.number("options.imageId", imageId);
  Check.typeOf.object("options.gltfResource", gltfResource);
  Check.typeOf.object("options.baseResource", baseResource);
  //>>includeEnd('debug');

  const image = gltf.images[imageId];
  const bufferViewId = image.bufferView;
  const uri = image.uri;

  this._resourceCache = resourceCache;
  this._gltfResource = gltfResource;
  this._baseResource = baseResource;
  this._gltf = gltf;
  this._bufferViewId = bufferViewId;
  this._uri = uri;
  this._cacheKey = cacheKey;
  this._bufferViewLoader = undefined;
  this._image = undefined;
  this._mipLevels = undefined;
  this._state = ResourceLoaderState.UNLOADED;
  this._promise = undefined;
}
Loads a glTF image.
<p>
Implements the {@link ResourceLoader} interface.
</p>

@alias GltfImageLoader
@constructor
@augments ResourceLoader

@param {object} options Object with the following properties:
@param {ResourceCache} options.resourceCache The {@link ResourceCache} (to avoid circular dependencies).
@param {object} options.gltf The glTF JSON.
@param {number} options.imageId The image ID.
@param {Resource} options.gltfResource The {@link Resource} containing the glTF.
@param {Resource} options.baseResource The {@link Resource} that paths in the glTF JSON are relative to.
@param {string} [options.cacheKey] The cache key of the resource.

@private