constructor() {
    /**
     * @protected
     * @type {import("../proj/Projection.js").default|undefined}
     */
    this.dataProjection = undefined;

    /**
     * @protected
     * @type {import("../proj/Projection.js").default|undefined}
     */
    this.defaultFeatureProjection = undefined;

    /**
     * @protected
     * @type {FeatureToFeatureClass<FeatureType>}
     */
    this.featureClass = /** @type {FeatureToFeatureClass<FeatureType>} */ (
      Feature
    );

    /**
     * A list media types supported by the format in descending order of preference.
     * @type {Array<string>}
     */
    this.supportedMediaTypes = null;
  }
@classdesc
Abstract base class; normally only used for creating subclasses and not
instantiated in apps.
Base class for feature formats.
{@link module:ol/format/Feature~FeatureFormat} subclasses provide the ability to decode and encode
{@link module:ol/Feature~Feature} objects from a variety of commonly used geospatial
file formats.  See the documentation for each format for more details.

@template {import('../Feature.js').FeatureLike} [FeatureType=import("../Feature.js").default]
@abstract
@api