@series-inc/rundot-game-sdk 5.14.2-beta.pany → 5.14.3-beta.migration-test

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,17 @@
1
- interface AnalyticsApi {
2
- recordCustomEvent(eventName: string, payload?: Record<string, any>): Promise<void>;
3
- trackFunnelStep(stepNumber: number, stepName: string, funnelName?: string, funnelOrder?: number): Promise<void>;
1
+ interface StorageApi {
2
+ key(index: number): Promise<string | null>;
3
+ clear(): Promise<void>;
4
+ length(): Promise<number>;
5
+ getAllItems(): Promise<string[]>;
6
+ getAllData(): Promise<Record<string, string>>;
7
+ setMultipleItems(items: {
8
+ key: string;
9
+ value: string;
10
+ }[]): Promise<void>;
11
+ removeMultipleItems(keys: string[]): Promise<void>;
12
+ setItem(key: string, item: string): Promise<void>;
13
+ getItem(key: string): Promise<string | null>;
14
+ removeItem(key: string): Promise<void>;
4
15
  }
5
16
 
6
17
  interface RpcRequest {
@@ -52,6 +63,24 @@ declare class RpcClient {
52
63
  onNotification<TPayload>(id: string, callback: (payload: TPayload) => void): Subscription;
53
64
  callT<TArgs, TResult>(method: string, args?: TArgs, timeout?: number): Promise<TResult>;
54
65
  call<TResponse>(method: string, args?: unknown, timeout?: number): Promise<TResponse>;
66
+ /**
67
+ * Send a fire-and-forget RPC request.
68
+ *
69
+ * Unlike `call()`, `notify()`:
70
+ * - does NOT register a pending call,
71
+ * - does NOT arm a timeout,
72
+ * - does NOT await or surface the host's response.
73
+ *
74
+ * Use this for telemetry / cleanup RPCs where the caller does not care about
75
+ * the result and does not want spurious timeout errors when the iframe is
76
+ * throttled (e.g. backgrounded tab) or the host's response is otherwise
77
+ * late. Host-side errors are NOT surfaced to the caller.
78
+ *
79
+ * The wire format is identical to `call()` (an `rpc-request` with a
80
+ * generated id), so any late response from the host is harmlessly dropped
81
+ * by `handleRpcResponse` — there is no entry in `pendingCalls` to match.
82
+ */
83
+ notify(method: string, args?: unknown): void;
55
84
  private hasPendingCall;
56
85
  private safeStringifyArgs;
57
86
  private addPendingCall;
@@ -61,20 +90,69 @@ declare class RpcClient {
61
90
  private handleRpcNotification;
62
91
  }
63
92
 
64
- interface StorageApi {
65
- key(index: number): Promise<string | null>;
66
- clear(): Promise<void>;
67
- length(): Promise<number>;
68
- getAllItems(): Promise<string[]>;
69
- getAllData(): Promise<Record<string, string>>;
70
- setMultipleItems(items: {
71
- key: string;
72
- value: string;
73
- }[]): Promise<void>;
74
- removeMultipleItems(keys: string[]): Promise<void>;
75
- setItem(key: string, item: string): Promise<void>;
76
- getItem(key: string): Promise<string | null>;
77
- removeItem(key: string): Promise<void>;
93
+ /**
94
+ * Per-source entry returned by InboundStorageApi.getAllForKey fan-out.
95
+ * `updatedAt` is an ISO-8601 string when the source bucket has a recorded
96
+ * timestamp; absent otherwise. Order of entries is unspecified.
97
+ */
98
+ interface InboundForKeyEntry {
99
+ sourceAppId: string;
100
+ value: string;
101
+ updatedAt?: string;
102
+ }
103
+ /**
104
+ * Cross-source reader API for a single (targetAppId, namespace). Reads only —
105
+ * writers go through a separate StorageApi bound to the caller's own bucket.
106
+ *
107
+ * Returned from `sharedStorage.read({ appId, namespace })`. Each handle is
108
+ * scoped to a single target/namespace; creating another handle to the same
109
+ * pair is equivalent but does not share cache/coalescing with the writer.
110
+ */
111
+ interface InboundStorageApi {
112
+ /**
113
+ * List source-app IDs that have written at least one document to this
114
+ * target's namespace for the current player. Data-driven — not the
115
+ * declared source list in the target's policy.
116
+ */
117
+ listSources(): Promise<string[]>;
118
+ /**
119
+ * Read the full bucket of a specific source. Returns `{}` when that source
120
+ * has never written for this player.
121
+ */
122
+ getAllFromSource(sourceAppId: string): Promise<Record<string, string>>;
123
+ /** Read a single key from a specific source's bucket. */
124
+ get(sourceAppId: string, key: string): Promise<string | null>;
125
+ /**
126
+ * Read a single key across every source bucket in the namespace. Fans out
127
+ * across the declared sources (capped at 32 at upload time); skips source
128
+ * buckets that don't contain the key. Order unspecified.
129
+ */
130
+ getAllForKey(key: string): Promise<InboundForKeyEntry[]>;
131
+ }
132
+ interface InboundMethodIds {
133
+ listSources: string;
134
+ getAllFromSource: string;
135
+ get: string;
136
+ getAllForKey: string;
137
+ }
138
+ declare class RpcInboundStorageApi implements InboundStorageApi {
139
+ private readonly rpcClient;
140
+ private readonly methodIds;
141
+ private readonly scope;
142
+ constructor(rpcClient: RpcClient, methodIds: InboundMethodIds, scope: {
143
+ targetAppId?: string;
144
+ namespace: string;
145
+ });
146
+ private body;
147
+ listSources(): Promise<string[]>;
148
+ getAllFromSource(sourceAppId: string): Promise<Record<string, string>>;
149
+ get(sourceAppId: string, key: string): Promise<string | null>;
150
+ getAllForKey(key: string): Promise<InboundForKeyEntry[]>;
151
+ }
152
+
153
+ interface AnalyticsApi {
154
+ recordCustomEvent(eventName: string, payload?: Record<string, any>): Promise<void>;
155
+ trackFunnelStep(stepNumber: number, stepName: string, funnelName?: string, funnelOrder?: number): Promise<void>;
78
156
  }
79
157
 
80
158
  interface NavigationStackInfo {
@@ -93,11 +171,28 @@ interface QuitOptions {
93
171
  forceClose?: boolean;
94
172
  [key: string]: any;
95
173
  }
174
+ interface NavigateToGameOptions {
175
+ /** Data passed forward to the target game (available via context.g2gLaunch) */
176
+ launchContext?: Record<string, any>;
177
+ /** Data restored when returning to this game (available via context.g2gReturn) */
178
+ returnContext?: Record<string, any>;
179
+ }
96
180
  interface NavigationApi {
97
181
  pushApp(appId: string, options?: PushAppOptions): Promise<void>;
98
182
  popApp(): Promise<void>;
99
183
  getStackInfo(): NavigationStackInfo;
100
184
  requestPopOrQuit(options?: QuitOptions): Promise<boolean>;
185
+ /**
186
+ * Navigate to another game (game-to-game navigation).
187
+ *
188
+ * Single-depth only: if Game A navigates to Game B, and Game B navigates
189
+ * to Game C, only the Game B → C return context is preserved.
190
+ *
191
+ * The current game will be unmounted. When the target game initializes,
192
+ * it receives `launchContext` via `context.g2gLaunch`. When the user
193
+ * returns, this game receives `returnContext` via `context.g2gReturn`.
194
+ */
195
+ navigateToGame(targetGameId: string, options?: NavigateToGameOptions): Promise<void>;
101
196
  }
102
197
 
103
198
  type TimeIntervalTriggerInput = {
@@ -382,6 +477,7 @@ type SleepCallback = () => void;
382
477
  type ResumeCallback = () => void;
383
478
  type PauseCallback = () => void;
384
479
  type QuitCallback = () => void;
480
+ type BackButtonCallback = () => void;
385
481
  interface LifecycleApi {
386
482
  /**
387
483
  * Registers a callback for when the game transitions from "idle" to "active" state.
@@ -433,6 +529,20 @@ interface LifecycleApi {
433
529
  * @returns Subscription object that can be used to unsubscribe from the event
434
530
  */
435
531
  onQuit(callback: QuitCallback): Subscription;
532
+ /**
533
+ * Registers a callback for when the user presses the device back button (Android only).
534
+ *
535
+ * Use this to navigate back within your game's own UI or show an exit
536
+ * confirmation. If you want the host to perform its default quit behavior,
537
+ * call `RundotGameAPI.navigation.requestPopOrQuit()` from within the callback.
538
+ *
539
+ * On platforms without a hardware back button (iOS, web), this event never fires,
540
+ * but registering a handler is safe and acts as a no-op.
541
+ *
542
+ * @param callback - Function to execute when the back button is pressed
543
+ * @returns Subscription object that can be used to unsubscribe from the event
544
+ */
545
+ onBackButton(callback: BackButtonCallback): Subscription;
436
546
  }
437
547
 
438
548
  interface ExecuteRecipeOptions {
@@ -1259,6 +1369,14 @@ interface UgcEntry {
1259
1369
  tags?: string[];
1260
1370
  useCount?: number;
1261
1371
  likeCount?: number;
1372
+ status?: 'active' | 'removed' | 'quarantined';
1373
+ quarantine?: {
1374
+ source: 'auto_moderation' | 'user_reports';
1375
+ reason: string;
1376
+ category?: string;
1377
+ at: number;
1378
+ };
1379
+ reportCount?: number;
1262
1380
  }
1263
1381
  interface UgcCreateParams {
1264
1382
  contentType: string;
@@ -1317,6 +1435,8 @@ interface UgcReportParams {
1317
1435
  id: string;
1318
1436
  reason: 'inappropriate' | 'spam' | 'harassment' | 'other';
1319
1437
  details?: string;
1438
+ supportEmail?: string;
1439
+ metadata?: Record<string, string>;
1320
1440
  }
1321
1441
  interface UgcFollowCounts {
1322
1442
  followerCount: number;
@@ -1994,6 +2114,34 @@ interface AppApi {
1994
2114
  readonly adminImageGen: AdminImageGenApi;
1995
2115
  }
1996
2116
 
2117
+ interface CampaignParams {
2118
+ utm_source: string | null;
2119
+ utm_medium: string | null;
2120
+ utm_campaign: string | null;
2121
+ utm_content: string | null;
2122
+ utm_term: string | null;
2123
+ fbclid: string | null;
2124
+ gclid: string | null;
2125
+ }
2126
+ interface AttributionApi {
2127
+ getAttributionParams(): Promise<CampaignParams | null>;
2128
+ }
2129
+
2130
+ /**
2131
+ * Shared storage (M3): writer handle factory + cross-source reader handle
2132
+ * factory, scoped by (targetAppId, namespace).
2133
+ */
2134
+ interface SharedStorageHostApi {
2135
+ open(input: {
2136
+ appId?: string;
2137
+ namespace: string;
2138
+ }): StorageApi;
2139
+ read(input: {
2140
+ appId?: string;
2141
+ namespace: string;
2142
+ }): InboundStorageApi;
2143
+ }
2144
+
1997
2145
  /**
1998
2146
  * Safe area insets representing padding needed to avoid device notches and host UI.
1999
2147
  * Includes toolbar/feedHeader height + device safe areas.
@@ -2029,13 +2177,18 @@ interface InitializationContext {
2029
2177
  notificationParams?: Record<string, string>;
2030
2178
  /** The share document ID when launched from a share link; `undefined` otherwise. */
2031
2179
  shareLinkId?: string;
2180
+ /** Data passed from a source game via game-to-game navigation (forward). */
2181
+ g2gLaunch?: Record<string, any>;
2182
+ /** Data restored from a source game via game-to-game return navigation. */
2183
+ g2gReturn?: Record<string, any>;
2032
2184
  }
2033
2185
  interface Host {
2034
2186
  readonly ads: AdsApi;
2035
2187
  readonly analytics: AnalyticsApi;
2036
2188
  readonly deviceCache: StorageApi;
2037
2189
  readonly appStorage: StorageApi;
2038
- readonly globalStorage: StorageApi;
2190
+ readonly ownerStorage: StorageApi;
2191
+ readonly sharedStorage: SharedStorageHostApi;
2039
2192
  readonly avatar3d: Avatar3dApi;
2040
2193
  readonly navigation: NavigationApi;
2041
2194
  readonly notifications: NotificationsApi;
@@ -2062,6 +2215,7 @@ interface Host {
2062
2215
  readonly multiplayer: MultiplayerApi;
2063
2216
  readonly video: VideoApi;
2064
2217
  readonly app: AppApi;
2218
+ readonly attribution: AttributionApi;
2065
2219
  readonly isInitialized: boolean;
2066
2220
  readonly iap: IapApi;
2067
2221
  readonly instanceId: string;
@@ -2409,19 +2563,55 @@ interface RundotGameAPI {
2409
2563
  length(): Promise<number>;
2410
2564
  key(index: number): Promise<string | null>;
2411
2565
  getAllItems(): Promise<string[]>;
2566
+ getAllData(): Promise<Record<string, string>>;
2412
2567
  setMultipleItems(items: {
2413
2568
  key: string;
2414
2569
  value: string;
2415
2570
  }[]): Promise<void>;
2416
2571
  removeMultipleItems(keys: string[]): Promise<void>;
2417
2572
  };
2418
- globalStorage: {
2573
+ /**
2574
+ * Per-player storage shared across all games owned by the same creator.
2575
+ *
2576
+ * Requires a host build that ships the M2 owner-storage handler. On older
2577
+ * hosts, every method returns a rejected promise.
2578
+ */
2579
+ ownerStorage: {
2419
2580
  setItem(key: string, value: string): Promise<void>;
2420
2581
  getItem(key: string): Promise<string | null>;
2421
2582
  removeItem(key: string): Promise<void>;
2422
2583
  clear(): Promise<void>;
2423
2584
  length(): Promise<number>;
2424
2585
  key(index: number): Promise<string | null>;
2586
+ getAllItems(): Promise<string[]>;
2587
+ getAllData(): Promise<Record<string, string>>;
2588
+ setMultipleItems(items: {
2589
+ key: string;
2590
+ value: string;
2591
+ }[]): Promise<void>;
2592
+ removeMultipleItems(keys: string[]): Promise<void>;
2593
+ };
2594
+ /**
2595
+ * Shared storage (M3) — per-player, cross-app storage addressable by
2596
+ * (targetAppId, namespace). `open` returns a writer handle that targets
2597
+ * the caller's own source bucket. `read` returns a reader handle that
2598
+ * fans out across source buckets. Both handles are synchronous; the
2599
+ * first op performs the policy check.
2600
+ *
2601
+ * Access is granted by the TARGET app's creator via server config on the
2602
+ * target's published build. Calling a namespace the target does not export
2603
+ * returns `NAMESPACE_NOT_FOUND`; calling a verb the caller lacks returns
2604
+ * `ACCESS_DENIED`.
2605
+ */
2606
+ sharedStorage: {
2607
+ open(input: {
2608
+ appId?: string;
2609
+ namespace: string;
2610
+ }): StorageApi;
2611
+ read(input: {
2612
+ appId?: string;
2613
+ namespace: string;
2614
+ }): InboundStorageApi;
2425
2615
  };
2426
2616
  requestPopOrQuit(options?: QuitOptions): Promise<boolean>;
2427
2617
  /**
@@ -2474,6 +2664,10 @@ interface RundotGameAPI {
2474
2664
  isInStack: boolean;
2475
2665
  stackPosition: number;
2476
2666
  };
2667
+ navigateToGame(targetGameId: string, options?: {
2668
+ launchContext?: Record<string, any>;
2669
+ returnContext?: Record<string, any>;
2670
+ }): Promise<void>;
2477
2671
  rooms: RoomsApi;
2478
2672
  realtime: MultiplayerApi;
2479
2673
  notifyCleanupComplete(): void;
@@ -2509,6 +2703,7 @@ interface RundotGameAPI {
2509
2703
  accessGate: AccessGateApi;
2510
2704
  video: VideoApi;
2511
2705
  app: AppApi;
2706
+ attribution: AttributionApi;
2512
2707
  context: InitializationContext;
2513
2708
  }
2514
2709
 
@@ -2523,7 +2718,8 @@ interface ShowRewardedAdOptions {
2523
2718
  interface AdsApi {
2524
2719
  isRewardedAdReadyAsync(): Promise<boolean>;
2525
2720
  showRewardedAdAsync(options?: ShowRewardedAdOptions): Promise<boolean>;
2721
+ isInterstitialAdReadyAsync(): Promise<boolean>;
2526
2722
  showInterstitialAd(options?: ShowInterstitialAdOptions): Promise<boolean>;
2527
2723
  }
2528
2724
 
2529
- export { type AiApi as $, type AnalyticsApi as A, type BatchRecipeRequirementsResult as B, type ScheduleLocalNotification as C, type ScheduleNotificationOptions as D, type PopupsApi as E, type ShowToastOptions as F, type ShowInterstitialAdOptions as G, type Host as H, type ShowRewardedAdOptions as I, type ProfileApi as J, type DeviceApi as K, type DeviceInfo as L, type EnvironmentApi as M, type NavigationApi as N, type EnvironmentInfo as O, type Profile as P, type QuitOptions as Q, type RundotGameAPI as R, type SimulationRunSummary as S, type SystemApi as T, type SafeArea as U, type CdnApi as V, type FetchFromCdnOptions as W, type AssetUrlResult as X, type TimeApi as Y, type ServerTimeData as Z, type GetFutureTimeOptions as _, type RecipeRequirementResult as a, type SharedAssetsApi as a$, type AiChatCompletionRequest as a0, type AiChatCompletionData as a1, type HapticsApi as a2, HapticFeedbackStyle as a3, type FeaturesApi as a4, type Experiment as a5, type LifecycleApi as a6, type SleepCallback as a7, type Subscription as a8, type AwakeCallback as a9, type RoomDataUpdate as aA, type RoomMessageEvent as aB, type ProposedMoveEvent as aC, RundotGameTransport as aD, type RoomsApi as aE, type CreateRoomOptions as aF, type JoinOrCreateRoomOptions as aG, type JoinOrCreateResult as aH, type ListRoomsOptions as aI, type UpdateRoomDataOptions as aJ, type RoomMessageRequest as aK, type StartRoomGameOptions as aL, type ProposeMoveRequest as aM, type ProposeMoveResult as aN, type ValidateMoveVerdict as aO, type ValidateMoveResult as aP, type RoomSubscriptionOptions as aQ, type LoggingApi as aR, type IapApi as aS, type SpendCurrencyOptions as aT, type SpendCurrencyResult as aU, type SubscriptionTier as aV, type RunSubscriptionsResponse as aW, type SubscriptionInterval as aX, type PurchaseSubscriptionResponse as aY, type OpenStoreResult as aZ, type LoadEmbeddedAssetsResponse as a_, type PauseCallback as aa, type ResumeCallback as ab, type QuitCallback as ac, type SimulationApi as ad, type SimulationSlotValidationResult as ae, type SimulationBatchOperation as af, type SimulationBatchOperationsResult as ag, type SimulationAvailableItem as ah, type SimulationPowerPreview as ai, type SimulationSlotMutationResult as aj, type SimulationSlotContainer as ak, type SimulationAssignment as al, type SimulationState as am, type ExecuteRecipeOptions as an, type ExecuteRecipeResponse as ao, type CollectRecipeResult as ap, type ResetStateOptions as aq, type ResetStateResult as ar, type GetActiveRunsOptions as as, type ExecuteScopedRecipeOptions as at, type ExecuteScopedRecipeResult as au, type GetAvailableRecipesOptions as av, type GetAvailableRecipesResult as aw, type Recipe as ax, type GetBatchRecipeRequirements as ay, type TriggerRecipeChainOptions as az, type RundotGameSimulationStateResponse as b, type Category as b$, type LeaderboardApi as b0, type ScoreToken as b1, type SubmitScoreParams as b2, type SubmitScoreResult as b3, type GetPagedScoresOptions as b4, type PagedScoresResponse as b5, type PlayerRankOptions as b6, type PlayerRankResult as b7, type GetPodiumScoresOptions as b8, type PodiumScoresResponse as b9, type AdminUgcBrowseResponse as bA, type AdminUgcListReportsParams as bB, type AdminUgcListReportsResponse as bC, type AdminUgcResolveAction as bD, type AdminImageGenBrowseParams as bE, type AdminImageGenBrowseResponse as bF, type AdminImageGenListReportsParams as bG, type AdminImageGenListReportsResponse as bH, type AdminImageGenResolveAction as bI, type Avatar3dApi as bJ, type AssetManifest as bK, type Avatar3dConfig as bL, type ShowEditorOptions as bM, type Avatar3dEdits as bN, type AdsApi as bO, type ImageGenParams as bP, type ImageGenResult as bQ, type MultiplayerApi as bR, type InitializationContext as bS, type InitializationOptions as bT, type ServerRoom as bU, type ServerPlayer as bV, type RoomEvents as bW, type ConnectionState as bX, type Protocol as bY, type AiMessage as bZ, type Asset as b_, type PreloaderApi as ba, type SocialApi as bb, type ShareMetadata as bc, type ShareLinkResult as bd, type SocialQRCodeOptions as be, type QRCodeResult as bf, type ShareClickData as bg, type EntitlementApi as bh, type Entitlement as bi, type LedgerEntry as bj, type ShopApi as bk, type StorefrontResponse as bl, type StorefrontItem as bm, type ShopPurchaseResponse as bn, type ShopOrderHistoryResponse as bo, type PromptLoginResult as bp, type AccessTier as bq, type AccessGateApi as br, type ImageGenApi as bs, type UgcApi as bt, type VideoApi as bu, type AppApi as bv, type AdminUgcApi as bw, type AdminImageGenApi as bx, type AppRole as by, type AdminUgcBrowseParams as bz, type SimulationUpdateType as c, MockAvatarApi as c0, type SubPath as c1, type IsPlayerSubscribedRequest as c2, type RunSubscription as c3, type PurchaseSubscriptionRequest as c4, type GetSubscriptionsForTierRequest as c5, type TimeIntervalTriggerInput as c6, type NotificationTriggerInput as c7, type OnRequestCallback as c8, type OnResponseCallback as c9, type LeaderboardPeriodType as cA, type LeaderboardPeriodConfig as cB, type LeaderboardAntiCheatConfig as cC, type LeaderboardDisplaySettings as cD, type LeaderboardConfig as cE, type LeaderboardEntry as cF, type PodiumScoresContext as cG, type StorefrontCollectionItem as cH, type StorefrontCollection as cI, type ShopOrder as cJ, resolveCollectionItemPrice as cK, type HudInsets as cL, createHost as cM, AccessDeniedError as cN, type AdminUgcEntry as cO, type UgcReport as cP, type ImageGenEntry as cQ, type ImageGenReport as cR, type OnNotificationCallback as ca, type RpcTransport as cb, type ImageGenModel as cc, type JoinRoomMatchCriteria as cd, type RoomMessageEventType as ce, type RoomMessagePayload as cf, type ProposedMovePayload as cg, ROOM_GAME_PHASES as ch, type RoomGamePhase as ci, type RundotGameRoomRulesGameState as cj, type RundotGameRoomRules as ck, type RundotGameRoomCustomMetadata as cl, type RundotGameRoomPayload as cm, type RoomEnvelopeResponse as cn, type RoomsEnvelopeResponse as co, type JoinOrCreateRoomEnvelopeResponse as cp, type RecipeInfo as cq, type SimulationPersonalState as cr, type SimulationRoomActiveRecipe as cs, type SimulationRoomState as ct, type SimulationBatchOperationAssign as cu, type SimulationBatchOperationRemove as cv, type SimulationBatchOperationResult as cw, RpcSharedAssetsApi as cx, type LoadEmbeddedAssetsRequest as cy, type LeaderboardModeConfig as cz, type SimulationEntityUpdate as d, type SimulationActiveRunsUpdate as e, type SimulationSnapshotUpdate as f, type SimulationUpdateData as g, type SimulationSubscribeOptions as h, type RundotGameSimulationEffect as i, type RundotGameSimulationRecipe as j, type RundotGameSimulationConfig as k, type RecipeRequirementQuery as l, type RundotGameExecuteRecipeOptions as m, type RundotGameExecuteScopedRecipeOptions as n, type RundotGameAvailableRecipe as o, type RundotGameCollectRecipeResult as p, type RundotGameExecuteRecipeResult as q, RundotGameRoom as r, type RpcRequest as s, type RpcResponse as t, type RpcNotification as u, RpcClient as v, type StorageApi as w, type NavigationStackInfo as x, type PushAppOptions as y, type NotificationsApi as z };
2725
+ export { type GetFutureTimeOptions as $, type AnalyticsApi as A, type BatchRecipeRequirementsResult as B, type NotificationsApi as C, type ScheduleLocalNotification as D, type ScheduleNotificationOptions as E, type PopupsApi as F, type ShowToastOptions as G, type Host as H, type ShowInterstitialAdOptions as I, type ShowRewardedAdOptions as J, type ProfileApi as K, type DeviceApi as L, type DeviceInfo as M, type NavigationApi as N, type EnvironmentApi as O, type Profile as P, type QuitOptions as Q, type RundotGameAPI as R, type SimulationActiveRunsUpdate as S, type EnvironmentInfo as T, type SystemApi as U, type SafeArea as V, type CdnApi as W, type FetchFromCdnOptions as X, type AssetUrlResult as Y, type TimeApi as Z, type ServerTimeData as _, type RecipeRequirementQuery as a, type OpenStoreResult as a$, type AiApi as a0, type AiChatCompletionRequest as a1, type AiChatCompletionData as a2, type HapticsApi as a3, HapticFeedbackStyle as a4, type FeaturesApi as a5, type Experiment as a6, type LifecycleApi as a7, type SleepCallback as a8, type Subscription as a9, type GetBatchRecipeRequirements as aA, type TriggerRecipeChainOptions as aB, type RoomDataUpdate as aC, type RoomMessageEvent as aD, type ProposedMoveEvent as aE, RundotGameTransport as aF, type RoomsApi as aG, type CreateRoomOptions as aH, type JoinOrCreateRoomOptions as aI, type JoinOrCreateResult as aJ, type ListRoomsOptions as aK, type UpdateRoomDataOptions as aL, type RoomMessageRequest as aM, type StartRoomGameOptions as aN, type ProposeMoveRequest as aO, type ProposeMoveResult as aP, type ValidateMoveVerdict as aQ, type ValidateMoveResult as aR, type RoomSubscriptionOptions as aS, type LoggingApi as aT, type IapApi as aU, type SpendCurrencyOptions as aV, type SpendCurrencyResult as aW, type SubscriptionTier as aX, type RunSubscriptionsResponse as aY, type SubscriptionInterval as aZ, type PurchaseSubscriptionResponse as a_, type AwakeCallback as aa, type PauseCallback as ab, type ResumeCallback as ac, type QuitCallback as ad, type BackButtonCallback as ae, type SimulationApi as af, type SimulationSlotValidationResult as ag, type SimulationBatchOperation as ah, type SimulationBatchOperationsResult as ai, type SimulationAvailableItem as aj, type SimulationPowerPreview as ak, type SimulationSlotMutationResult as al, type SimulationSlotContainer as am, type SimulationAssignment as an, type SimulationState as ao, type ExecuteRecipeOptions as ap, type ExecuteRecipeResponse as aq, type CollectRecipeResult as ar, type ResetStateOptions as as, type ResetStateResult as at, type GetActiveRunsOptions as au, type ExecuteScopedRecipeOptions as av, type ExecuteScopedRecipeResult as aw, type GetAvailableRecipesOptions as ax, type GetAvailableRecipesResult as ay, type Recipe as az, type RecipeRequirementResult as b, type Asset as b$, type LoadEmbeddedAssetsResponse as b0, type SharedAssetsApi as b1, type LeaderboardApi as b2, type ScoreToken as b3, type SubmitScoreParams as b4, type SubmitScoreResult as b5, type GetPagedScoresOptions as b6, type PagedScoresResponse as b7, type PlayerRankOptions as b8, type PlayerRankResult as b9, type AppRole as bA, type AdminUgcBrowseParams as bB, type AdminUgcBrowseResponse as bC, type AdminUgcListReportsParams as bD, type AdminUgcListReportsResponse as bE, type AdminUgcResolveAction as bF, type AdminImageGenBrowseParams as bG, type AdminImageGenBrowseResponse as bH, type AdminImageGenListReportsParams as bI, type AdminImageGenListReportsResponse as bJ, type AdminImageGenResolveAction as bK, type Avatar3dApi as bL, type AssetManifest as bM, type Avatar3dConfig as bN, type ShowEditorOptions as bO, type Avatar3dEdits as bP, type AdsApi as bQ, type ImageGenParams as bR, type ImageGenResult as bS, type SharedStorageHostApi as bT, type MultiplayerApi as bU, type AttributionApi as bV, type InitializationContext as bW, type InitializationOptions as bX, AccessDeniedError as bY, type AdminUgcEntry as bZ, type AiMessage as b_, type GetPodiumScoresOptions as ba, type PodiumScoresResponse as bb, type PreloaderApi as bc, type SocialApi as bd, type ShareMetadata as be, type ShareLinkResult as bf, type SocialQRCodeOptions as bg, type QRCodeResult as bh, type ShareClickData as bi, type EntitlementApi as bj, type Entitlement as bk, type LedgerEntry as bl, type ShopApi as bm, type StorefrontResponse as bn, type StorefrontItem as bo, type ShopPurchaseResponse as bp, type ShopOrderHistoryResponse as bq, type PromptLoginResult as br, type AccessTier as bs, type AccessGateApi as bt, type ImageGenApi as bu, type UgcApi as bv, type VideoApi as bw, type AppApi as bx, type AdminUgcApi as by, type AdminImageGenApi as bz, type RundotGameAvailableRecipe as c, type Category as c0, type ConnectionState as c1, type GetSubscriptionsForTierRequest as c2, type HudInsets as c3, type ImageGenEntry as c4, type ImageGenModel as c5, type ImageGenReport as c6, type InboundForKeyEntry as c7, type InboundMethodIds as c8, type InboundStorageApi as c9, type RoomMessagePayload as cA, type RoomsEnvelopeResponse as cB, RpcInboundStorageApi as cC, RpcSharedAssetsApi as cD, type RpcTransport as cE, type RunSubscription as cF, type RundotGameRoomCustomMetadata as cG, type RundotGameRoomPayload as cH, type RundotGameRoomRules as cI, type RundotGameRoomRulesGameState as cJ, type ServerPlayer as cK, type ServerRoom as cL, type ShopOrder as cM, type SimulationBatchOperationAssign as cN, type SimulationBatchOperationRemove as cO, type SimulationBatchOperationResult as cP, type SimulationPersonalState as cQ, type SimulationRoomActiveRecipe as cR, type SimulationRoomState as cS, type StorefrontCollection as cT, type StorefrontCollectionItem as cU, type SubPath as cV, type TimeIntervalTriggerInput as cW, type UgcReport as cX, createHost as cY, resolveCollectionItemPrice as cZ, type IsPlayerSubscribedRequest as ca, type JoinOrCreateRoomEnvelopeResponse as cb, type JoinRoomMatchCriteria as cc, type LeaderboardAntiCheatConfig as cd, type LeaderboardConfig as ce, type LeaderboardDisplaySettings as cf, type LeaderboardEntry as cg, type LeaderboardModeConfig as ch, type LeaderboardPeriodConfig as ci, type LeaderboardPeriodType as cj, type LoadEmbeddedAssetsRequest as ck, MockAvatarApi as cl, type NotificationTriggerInput as cm, type OnNotificationCallback as cn, type OnRequestCallback as co, type OnResponseCallback as cp, type PodiumScoresContext as cq, type ProposedMovePayload as cr, type Protocol as cs, type PurchaseSubscriptionRequest as ct, ROOM_GAME_PHASES as cu, type RecipeInfo as cv, type RoomEnvelopeResponse as cw, type RoomEvents as cx, type RoomGamePhase as cy, type RoomMessageEventType as cz, type RundotGameCollectRecipeResult as d, type RundotGameExecuteRecipeOptions as e, type RundotGameExecuteRecipeResult as f, type RundotGameExecuteScopedRecipeOptions as g, RundotGameRoom as h, type RundotGameSimulationConfig as i, type RundotGameSimulationEffect as j, type RundotGameSimulationRecipe as k, type RundotGameSimulationStateResponse as l, type SimulationEntityUpdate as m, type SimulationRunSummary as n, type SimulationSnapshotUpdate as o, type SimulationSubscribeOptions as p, type SimulationUpdateData as q, type SimulationUpdateType as r, type RpcRequest as s, type RpcResponse as t, type RpcNotification as u, RpcClient as v, type StorageApi as w, type NavigationStackInfo as x, type PushAppOptions as y, type NavigateToGameOptions as z };