/**
 * Calcula el tiempo de espera (ms) usando backoff exponencial.
 * @param attempt Número de intento (0-based).
 * @param baseDelay Retardo base en ms (default = 100).
 * @param maxDelay Retardo máximo en ms (default = 1000).
 * @returns Tiempo de espera en ms.
 */
export function exponentialBackoff(
  attempt: number,
  baseDelay = 100,
  maxDelay = 1000
): number {
  const delay = Math.min(baseDelay * 2 ** attempt, maxDelay);
  return delay;
}
