A discriminated union narrowed by type. Known callback types expose named
typed fields (for example JourneyChoiceCallback has choices: string[]).
Callbacks from other SDK packages — FIDO (rn-fido), device binding (rn-binding),
device profile (rn-device-profile), and external IdP (rn-external-idp) — are
represented as marker types or typed variants where the bridge emits named fields.
Unrecognized types fall through to JourneyUnknownCallback.
callback.raw (the full AM callback JSON, including its output array)
and the index signature are preserved on every member as
backwards-compatible escape hatches.
Native callback payload surfaced to JavaScript.