function VoxelContent(options) {
  //>>includeStart('debug', pragmas.debug);
  Check.typeOf.object("options", options);
  if (!defined(options.loader)) {
    if (!defined(options.metadata)) {
      throw new DeveloperError("One of loader and metadata must be defined.");
    }
    if (!Array.isArray(options.metadata)) {
      throw new DeveloperError("metadata must be an array of TypedArrays.");
    }
  }
  //>>includeEnd('debug');

  const { loader, metadata } = options;

  this._loader = loader;
  this._metadata = metadata;
  this._resourcesLoaded = false;
  this._ready = false;
}
<div class="notice">
To construct a VoxelContent, call {@link VoxelContent.fromMetadataArray} or {@link VoxelContent.fromGltf}. Do not call the constructor directly.
</div>
An object representing voxel content for a {@link Cesium3DTilesVoxelProvider}.

@alias VoxelContent
@internalConstructor

@privateParam {object} options An object with the following properties:
@privateParam {ResourceLoader} [options.loader] The loader used to load the voxel content.
@privateParam {Int8Array[]|Uint8Array[]|Int16Array[]|Uint16Array[]|Int32Array[]|Uint32Array[]|Float32Array[]|Float64Array[]} [options.metadata] The metadata for this voxel content.

@exception {DeveloperError} One of loader and metadata must be defined.
@exception {DeveloperError} metadata must be an array of TypedArrays.

@experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.