function TileMetadata(options) {
  options = options ?? Frozen.EMPTY_OBJECT;
  const tile = options.tile;
  const metadataClass = options.class;

  //>>includeStart('debug', pragmas.debug);
  Check.typeOf.object("options.tile", tile);
  Check.typeOf.object("options.class", metadataClass);
  //>>includeEnd('debug');

  this._class = metadataClass;
  this._properties = tile.properties;
  this._extensions = tile.extensions;
  this._extras = tile.extras;
}
Metadata about a 3D Tile. This represents the tile metadata JSON (3D Tiles 1.1)
or the <code>3DTILES_metadata</code> extension on a single {@link Cesium3DTile}
<p>
See the {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_metadata|3DTILES_metadata Extension} for 3D Tiles
</p>

@param {object} options Object with the following properties:
@param {object} options.tile Either the tile metadata JSON (3D Tiles 1.1), or the extension JSON attached to the tile.
@param {MetadataClass} options.class The class that the tile metadata conforms to.

@alias TileMetadata
@constructor
@private
@experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.