resend Available In Seconds
Seconds remaining before a resend is allowed; 0 when it is allowed now.
Read this from a ticking composable (LaunchedEffect + 1s delay) to render a countdown — the controller intentionally does not run its own timer, so it never keeps a coroutine alive after the UI is gone.