The async operation to execute
Retry configuration (uses defaults if not provided)
Predicate to determine if a caught error should trigger a retry
OptionalonRetry: (attempt: number, error: unknown, delayMs: number) => voidOptional callback invoked before each retry with attempt number, error, and delay
The result of the operation
Executes an operation with retry logic using exponential backoff.