nextAvailableAt method
Earliest pending future availableAt across keys with TTB, or
null if none. Delegates to AtKeyValueStore.nextAvailableAt,
which only considers not-yet-born keys (availableAt > now) — so
already-fired past crossings are excluded by construction, with
no need to consult _firedAvailableAt.
Implementation
Future<DateTime?> nextAvailableAt() async =>
await keyStore?.nextAvailableAt();