> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

# MfaPushPollingControl

MFA（多要素認証）のプッシュ通知ポーリングセッションを管理するための制御用インターフェースです。

このインターフェースは、MFA プッシュチャレンジが承認されたかどうかを確認する
長時間実行ポーリングループについて、その開始・停止および状態の確認を行うための命令的なメソッドを提供します。

````ts Example theme={null}
export interface MfaPushPollingControl {
  /**
   * ポーリング処理を即座に停止します。
   *
   * - スケジュールされたタイマーまたは保留中のリクエストをキャンセルします。
   * - 停止後、`isRunning()` は `false` を返します。
   * - 複数回呼び出しても安全です。2回目以降の呼び出しは効果がありません。
   *
   * @example
   * ```ts
   * const control = mfaPushChallengePush.pollingManager({ intervalMs: 5000 });
   * control.startPolling();
   *
   * // 後でユーザーがキャンセルした場合:
   * control.stopPolling();
   * ```
   */
  stopPolling: () => void;

  /**
   * ポーリング処理を開始または再開します。
   *
   * - ポーリングが既にアクティブな場合、再度呼び出しても効果はありません。
   * - 以前に停止された場合、これを呼び出すとポーリングループが再開されます。
   *
   * @example
   * ```ts
   * control.startPolling(); // MFA（多要素認証）プッシュチャレンジの確認を開始
   * ```
   */
  startPolling: () => void;

  /**
   * ポーリング処理が現在実行中かどうかを示します。
   *
   * - ポーリングがアクティブでキャンセルされていない場合は `true` を返します。
   * - ポーリングが停止または完了している場合は `false` を返します。
   *
   * @example
   * ```ts
   * if (control.isRunning()) {
   *   console.log('ポーリング実行中...');
   * } else {
   *   console.log('ポーリングは停止または完了しています。');
   * }
   * ```
   */
  isRunning: () => boolean;
}
````

<div id="properties">
  ## プロパティ
</div>

<ParamField body="isRunning" type="boolean">
  ポーリング処理が現在実行中かどうかを示します。

  ```ts Example theme={null}
  if (control.isRunning()) {
    console.log('Polling in progress...');
  } else {
    console.log('Polling is stopped or completed.');
  }
  ```
</ParamField>

<ParamField body="startPolling" type="void">
  ポーリング処理を開始または再開します。

  * すでにポーリングが有効な場合、これを再度呼び出しても効果はありません。
  * 以前に停止されている場合、これを呼び出すとポーリングループが再開されます。

  ```ts Example theme={null}
  control.startPolling(); // MFA（多要素認証）プッシュチャレンジの確認を開始
  ```
</ParamField>

<ParamField body="stopPolling" type="void">
  ポーリング処理を即座に停止します。

  * スケジュールされたタイマーや保留中のリクエストをキャンセルします。
  * 一度停止すると、`isRunning()` は `false` を返します。
  * 複数回呼び出しても安全で、2 回目以降の呼び出しは効果はありません。

  ```ts Example theme={null}
  const control = mfaPushChallengePush.pollingManager({ intervalMs: 5000 });
  control.startPolling();

  // 後で、ユーザーがキャンセルした場合:
  control.stopPolling();
  ```
</ParamField>
