constructor(container, opt_parameters, opt_app) {
    super();
    this['type'] = 'recaptcha';
    /** @private {!Element|string} The reCAPTCHA container parameter. */
    this.container_ = container;
    /** @private {?Object|undefined} The optional reCAPTCHA parameters. */
    this.parameters_ = opt_parameters;
    /**
     * @private {?firebaseui.auth.testing.FakeAppClient|undefined} The app
     *     instance associated with the fake Auth client.
     */
    this.app_ = opt_app;
    /** @private {boolean} Whether the reCAPTCHA is cleared. */
    this.cleared_ = false;
    var asyncMethods = {};
    for (var key in RecaptchaVerifier.AsyncMethod) {
      asyncMethods[key] = {
        'context': this,
        'name': RecaptchaVerifier.AsyncMethod[key]
      };
    }
    // Pass async methods enum to base class.
    this.asyncMethods = asyncMethods;
  }
@param {(!Element|string)} container The reCAPTCHA container parameter.
    This has different meaning depending on whether the reCAPTCHA is hidden
    or visible.
@param {?Object=} opt_parameters The optional reCAPTCHA parameters.
@param {?firebaseui.auth.testing.FakeAppClient=} opt_app The app instance
    associated with the fake Auth client.