Phone Number Verification Handler
The contract a host implements to verify a phone number with its own backend.
The library deliberately ships no implementation of this interface. There is no bundled "demo" or in-memory verifier, because a fake that accepts 123456 is the kind of thing that reaches production. Verification is entirely opt-in: pass a handler and the phone field grows a verification affordance; pass nothing and the picker works exactly as before.
Implementations own all transport concerns — endpoints, auth, retry, rate limiting, Firebase Auth or SMS-gateway specifics. The library only sequences the calls and renders the resulting PhoneVerificationState. Nothing in this interface touches Compose, so it can live in a data module and be unit-tested without Android.
All three functions are called from a coroutine the caller controls and may suspend for as long as the network takes; the UI shows progress meanwhile and blocks duplicate requests.
Functions
Requests a verification code be sent to phoneNumber.
Re-sends the code for an existing challenge.
Checks code against the challenge identified by verificationId.