function GoogleEarthEnterpriseImageryProvider(options) {
  options = options ?? Frozen.EMPTY_OBJECT;
  this._defaultAlpha = undefined;
  this._defaultNightAlpha = undefined;
  this._defaultDayAlpha = undefined;
  this._defaultBrightness = undefined;
  this._defaultContrast = undefined;
  this._defaultHue = undefined;
  this._defaultSaturation = undefined;
  this._defaultGamma = undefined;
  this._defaultMinificationFilter = undefined;
  this._defaultMagnificationFilter = undefined;

  this._tileDiscardPolicy = options.tileDiscardPolicy;

  this._tilingScheme = new GeographicTilingScheme({
    numberOfLevelZeroTilesX: 2,
    numberOfLevelZeroTilesY: 2,
    rectangle: new Rectangle(
      -CesiumMath.PI,
      -CesiumMath.PI,
      CesiumMath.PI,
      CesiumMath.PI,
    ),
    ellipsoid: options.ellipsoid,
  });

  let credit = options.credit;
  if (typeof credit === "string") {
    credit = new Credit(credit);
  }
  this._credit = credit;

  this._tileWidth = 256;
  this._tileHeight = 256;
  this._maximumLevel = 23;

  // Install the default tile discard policy if none has been supplied.
  if (!defined(this._tileDiscardPolicy)) {
    this._tileDiscardPolicy = new GoogleEarthEnterpriseDiscardPolicy();
  }

  this._errorEvent = new Event();
}
<div class="notice">
To construct a GoogleEarthEnterpriseImageryProvider, call {@link GoogleEarthEnterpriseImageryProvider.fromMetadata}. Do not call the constructor directly.
</div>

Provides tiled imagery using the Google Earth Enterprise REST API.

Notes: This provider is for use with the 3D Earth API of Google Earth Enterprise,
       {@link GoogleEarthEnterpriseMapsProvider} should be used with 2D Maps API.

@alias GoogleEarthEnterpriseImageryProvider
@constructor

@param {GoogleEarthEnterpriseImageryProvider.ConstructorOptions} [options] Object describing initialization options

@see GoogleEarthEnterpriseImageryProvider.fromMetadata
@see GoogleEarthEnterpriseTerrainProvider
@see ArcGisMapServerImageryProvider
@see GoogleEarthEnterpriseMapsProvider
@see OpenStreetMapImageryProvider
@see SingleTileImageryProvider
@see TileMapServiceImageryProvider
@see WebMapServiceImageryProvider
@see WebMapTileServiceImageryProvider
@see UrlTemplateImageryProvider


@example
const geeMetadata = await GoogleEarthEnterpriseMetadata.fromUrl("http://www.example.com");
const gee = Cesium.GoogleEarthEnterpriseImageryProvider.fromMetadata(geeMetadata);

@see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}