export interface AppInitializerOptions {
  /**
   * Returns true when the app still has tokens that could plausibly be used
   * to bring the session back online after a transient backend outage.
   * When this returns false, the initializer stops retrying and calls
   * `onAuthFailure` instead.
   */
  hasValidTokens: () => boolean;

  /**
   * Called once (and only once per run() lifecycle) when initialization gives
   * up — either because the error is not a network error, or because
   * `hasValidTokens` returned false.
   */
  onAuthFailure: (error: unknown) => void;
}
