constructor(opt_options, opt_durationSymbols) {
    /** @private {!DurationFormatStyle} */
    const style = opt_options?.style || DurationFormatStyle.SHORT;
    assert(
        style >= DurationFormatStyle.SHORT &&
            style <= DurationFormatStyle.NARROW,
        'Style must be LONG, SHORT, NARROW');
    /** @private @const {!DurationFormatStyle} */
    this.style_ = style;

    /**
     * DurationSymbols object for locale data required by the formatter.
     * @private @const {!DurationSymbolsTypes}
     */
    const durationSymbols =
        opt_durationSymbols || DurationSymbols.getDurationSymbols();
    assert(durationSymbols !== null, 'Duration symbols cannot be null');
    this.durationSymbols_ = durationSymbols;
  }
Returns the durationformatter for the locale given by goog.LOCALE.
specified, a durationformatter for the user's locale will be returned.
@param {!DurationFormatOptions=} opt_options
    This optional value determines the style of the duration time output.
    A s part of the resulting formatted string, values include LONG, SHORT,
    NARROW. Default is SHORT to keep consistency with ECMAScript.
@param {!DurationSymbolsTypes=} opt_durationSymbols
    This optional value can be used to override the duration format symbols
    selected using goog.LOCALE. This does not override the symbols used by
    the underlying list formatter, so users overriding this should prefer
    to use format each unit and do list formatting on the results.
@final