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.output (the AM output array from NodeCallback) and the index
signature are preserved on every member as backwards-compatible escape hatches.
Native callback payload surfaced to JavaScript.