Exports
Every value and type exported from the SDK entry point.
The SDK's entry point is the only module consumers should import from — anything not listed here is an implementation detail and may change without a major version.
Values#
| Export | Group |
|---|---|
default | Default Export: SDK Facade Singleton |
ScaleBunProvider | Default Export: SDK Facade Singleton |
ScaleBunErrorBoundary | Default Export: SDK Facade Singleton |
ScaleBunDebugRoot | React Components & Hooks (consumer-facing) |
ScaleBunScreen | React Components & Hooks (consumer-facing) |
useScaleBunScreen | React Components & Hooks (consumer-facing) |
ScaleBunScrollView | React Components & Hooks (consumer-facing) |
ScaleBunFlatList | React Components & Hooks (consumer-facing) |
ScaleBunSectionList | React Components & Hooks (consumer-facing) |
ScaleBunImpression | React Components & Hooks (consumer-facing) |
EngagePromptProvider | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
useEngagePrompt | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
EngageAnchorProvider | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
ScaleBunAnchor | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
useScaleBunAnchor | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
ScaleBunInlineSlot | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
EngagePromptView | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
PROMPT_RENDERERS | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
resolvePromptRenderer | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
EngageInAppView | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
INAPP_RENDERERS | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
resolveInAppRenderer | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
resolveInAppLayout | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
EngageThrottleStore | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
isCampaignEligible | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
isInAppEligible | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
selectCampaignToRender | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
selectInAppToRender | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
selectInAppVariant | Engage Campaign Overlay (shared cross-platform JS renderer, D4) |
getDebugTransport | Debug Utilities (for demo/test apps) |
getPerformanceFeature | Debug Utilities (for demo/test apps) |
getProfilerFeature | Debug Utilities (for demo/test apps) |
createTypedTracker | Typed tracking plan (compile-time checking for track()) |
defineTrackingPlan | Typed tracking plan (compile-time checking for track()) |
Types#
| Type | Group |
|---|---|
ScaleBunErrorBoundaryProps | Default Export: SDK Facade Singleton |
ScaleBunImpressionProps | React Components & Hooks (consumer-facing) |
ScaleBunInitConfig | Public Types |
ScaleBunUser | Public Types |
ScaleBunFeatures | Public Types |
ScaleBunProviderProps | Public Types |
SimplifiedInitConfig | Public Types |
DebugConnectionConfig | Public Types |
PrivacyConfig | Public Types |
BrandingConfig | Public Types |
ExportPresetName | Public Types |
SimplifiedExportOptions | Public Types |
ExportResult | Public Types |
DebugConfig | Public Types |
EngageConfigResponse | Engage Surface Types (foundation) |
CoachConfigResponse | Engage Surface Types (foundation) |
CoachTourConfig | Engage Surface Types (foundation) |
CoachTourStep | Engage Surface Types (foundation) |
EngageConfigContext | Engage Surface Types (foundation) |
EngageCampaignConfig | Engage Surface Types (foundation) |
EngageCampaignType | Engage Surface Types (foundation) |
InAppMessageConfig | Engage Surface Types (foundation) |
InAppRenderSpec | Engage Surface Types (foundation) |
InAppRenderAssets | Engage Surface Types (foundation) |
InAppRenderExt | Engage Surface Types (foundation) |
InAppMediaSize | Engage Surface Types (foundation) |
InAppOutcomeIcon | Engage Surface Types (foundation) |
InAppOutcomeActionType | Engage Surface Types (foundation) |
InAppOutcomeAction | Engage Surface Types (foundation) |
InAppOutcomeConfig | Engage Surface Types (foundation) |
InAppCta | Engage Surface Types (foundation) |
InAppCoachmarkStep | Engage Surface Types (foundation) |
InAppCoachmarkPlacement | Engage Surface Types (foundation) |
InAppExperiment | Engage Surface Types (foundation) |
InAppVariantId | Engage Surface Types (foundation) |
InAppGameVariantKey | Engage Surface Types (foundation) |
InAppGameAction | Engage Surface Types (foundation) |
InAppGameRequest | Engage Surface Types (foundation) |
InAppGameOutcome | Engage Surface Types (foundation) |
InAppGameResult | Engage Surface Types (foundation) |
InAppGameRequestHandler | Engage Surface Types (foundation) |
QuestionSpec | Engage Surface Types (foundation) |
Targeting | Engage Surface Types (foundation) |
Throttle | Engage Surface Types (foundation) |
EngageResponseInput | Engage Surface Types (foundation) |
EngageEventInput | Engage Surface Types (foundation) |
DeviceTokenInput | Engage Surface Types (foundation) |
SurveyAnswer | Engage Surface Types (foundation) |
EngagePromptProviderProps | Engage Overlay Types (renderer public surface) |
EngagePromptController | Engage Overlay Types (renderer public surface) |
EngageRendererFacade | Engage Overlay Types (renderer public surface) |
EngageRatingRouting | Engage Overlay Types (renderer public surface) |
ShowEngagePromptOptions | Engage Overlay Types (renderer public surface) |
ShowInAppMessageOptions | Engage Overlay Types (renderer public surface) |
InAppDeepLinkHandler | Engage Overlay Types (renderer public surface) |
EngageAnchorHandle | Engage Overlay Types (renderer public surface) |
EngageAnchorRect | Engage Overlay Types (renderer public surface) |
ScaleBunAnchorProps | Engage Overlay Types (renderer public surface) |
ScaleBunInlineSlotProps | Engage Overlay Types (renderer public surface) |
EngagePromptResult | Engage Overlay Types (renderer public surface) |
PromptRenderer | Engage Overlay Types (renderer public surface) |
PromptBranchProps | Engage Overlay Types (renderer public surface) |
RatingPromptConfig | Engage Overlay Types (renderer public surface) |
RatingRoute | Engage Overlay Types (renderer public surface) |
EngageInAppViewProps | Engage Overlay Types (renderer public surface) |
InAppRenderer | Engage Overlay Types (renderer public surface) |
InAppBranchProps | Engage Overlay Types (renderer public surface) |
InAppMechanicInteraction | Engage Overlay Types (renderer public surface) |
InAppLayout | Engage Overlay Types (renderer public surface) |
CampaignThrottleState | Engage Overlay Types (renderer public surface) |
PushNotification | Push Notification Types (consumer-facing) |
EnablePushOptions | Push Notification Types (consumer-facing) |
EnablePushResult | Push Notification Types (consumer-facing) |
NotificationPermissionStatus | Push Notification Types (consumer-facing) |
AndroidChannelConfig | Push Notification Types (consumer-facing) |
AdapterId | Push Notification Types (consumer-facing) |
TypedTracker | Typed tracking plan (compile-time checking for track()) |
TypedTrackerPlan | Typed tracking plan (compile-time checking for track()) |
TrackedEventMap | Typed tracking plan (compile-time checking for track()) |
TrackedEventSpec | Typed tracking plan (compile-time checking for track()) |
PlanPropType | Typed tracking plan (compile-time checking for track()) |
PropsFor | Typed tracking plan (compile-time checking for track()) |
TrackTarget | Typed tracking plan (compile-time checking for track()) |
Peer dependencies#
| Package | Range | Required |
|---|---|---|
react | * | Yes |
react-native | * | Yes |
react-native-view-shot | >=3.0.0 | Optional |
@notifee/react-native | >=5.0.0 | Optional |
expo-router | >=1.0.0 | Optional |
Optional peer dependencies#
Three of the SDK's peer dependencies are marked optional. Each backs one integration, is loaded through
a guarded lazy require() at runtime, and is genuinely unnecessary if you do not use that integration:
| Package | Backs | Absent means |
|---|---|---|
react-native-view-shot | Screenshot capture for the journey and replay screenshot helper | No screenshot capture; session replay loses its frame path |
@notifee/react-native | Notification-channel handling in the FCM push adapter | No channel configuration; push still delivers |
expo-router | Expo Router navigation-mode detection | Router mode is not auto-detected; set the navigation reference yourself |
react and react-native are required, not optional.
Why the stub list is deliberately short#
Only ScaleBun's own optional integrations are stubbed. That is a design constraint rather than an oversight: stubbing broadly would mean an unrelated missing module — one of your dependencies, genuinely absent — silently resolved to a stub instead of failing. You would get a mysterious runtime error in place of a clear resolution failure at build time.
So the list covers three names and no more, and any other unresolved module fails normally.
About this surface#
The SDK's entry point declares itself the only module consumers should import from. That makes this list the definition of the public API: exported here means public and supported, absent means an implementation detail that can change without a major version.
It is also what lets docs:audit assert full reference coverage — every export on this page has a
documented counterpart, and a new export with no documentation fails the build.