@unbound-app/api 0.9.0 → 1.1.0

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.
Files changed (72) hide show
  1. package/ambient/image-modules.d.ts +58 -0
  2. package/package.json +30 -5
  3. package/src/_internal.d.ts +6110 -462
  4. package/src/{utils.d.ts → _types.d.ts} +10 -0
  5. package/src/assets.d.ts +64 -26
  6. package/src/builtins.d.ts +17 -0
  7. package/src/commands.d.ts +331 -0
  8. package/src/dialogs.d.ts +134 -0
  9. package/src/flux.d.ts +317 -0
  10. package/src/fonts.d.ts +51 -0
  11. package/src/fs.d.ts +16 -26
  12. package/src/global.d.ts +514 -31
  13. package/src/i18n.d.ts +33 -31
  14. package/src/iconPacks.d.ts +43 -0
  15. package/src/index.d.ts +16 -0
  16. package/src/marketplace.d.ts +50 -0
  17. package/src/metro/api.d.ts +10 -0
  18. package/src/metro/common.d.ts +34 -5
  19. package/src/metro/components.d.ts +100 -16
  20. package/src/metro/filters.d.ts +31 -16
  21. package/src/metro/index.d.ts +26097 -82
  22. package/src/metro/stores.d.ts +5 -0
  23. package/src/native.d.ts +123 -3
  24. package/src/patcher.d.ts +214 -57
  25. package/src/plugins.d.ts +55 -0
  26. package/src/settings.d.ts +9 -17
  27. package/src/shims.d.ts +5 -0
  28. package/src/storage.d.ts +80 -223
  29. package/src/sync.d.ts +51 -0
  30. package/src/themes.d.ts +43 -0
  31. package/src/toasts.d.ts +62 -9
  32. package/src/ui.d.ts +650 -0
  33. package/src/updates.d.ts +25 -0
  34. package/src/utils/index.d.ts +53 -0
  35. package/src/utils/react/index.d.ts +82 -0
  36. package/testing/fake-api.ts +256 -0
  37. package/testing/fake-components.ts +183 -0
  38. package/testing/fake-feedback.ts +258 -0
  39. package/testing/fake-fs.ts +54 -0
  40. package/testing/fake-java.ts +513 -0
  41. package/testing/fake-locales.ts +85 -0
  42. package/testing/fake-metro.ts +346 -0
  43. package/testing/fake-native-bridge.ts +98 -0
  44. package/testing/fake-native.ts +211 -0
  45. package/testing/fake-objc.ts +388 -0
  46. package/testing/fake-plugins.ts +176 -0
  47. package/testing/fake-react-native-modules.ts +362 -0
  48. package/testing/fake-react-native.ts +180 -0
  49. package/testing/fake-react.ts +54 -0
  50. package/testing/fake-settings-panel.ts +173 -0
  51. package/testing/fake-settings.ts +428 -0
  52. package/testing/fake-timers.ts +74 -0
  53. package/testing/fake-utils.ts +216 -0
  54. package/testing/icu-format.ts +132 -0
  55. package/testing/icu-parse.ts +277 -0
  56. package/testing/index.ts +42 -0
  57. package/testing/install-addon-globals.ts +260 -0
  58. package/testing/listener-registry.ts +39 -0
  59. package/testing/memory-storage.ts +149 -0
  60. package/testing/plugin-files.ts +155 -0
  61. package/testing/plugin-lifecycle.ts +149 -0
  62. package/testing/plugin-types.ts +34 -0
  63. package/testing/preset.ts +263 -0
  64. package/testing/react-patcher.ts +154 -0
  65. package/testing/react-value.ts +3 -0
  66. package/testing/recorders.ts +183 -0
  67. package/testing/recording-patcher.ts +173 -0
  68. package/testing/render.ts +84 -0
  69. package/testing/session.ts +77 -0
  70. package/testing/test-node.ts +163 -0
  71. package/testing/test-renderer.ts +753 -0
  72. package/testing/unfrozen-elements.ts +49 -0
package/src/global.d.ts CHANGED
@@ -1,126 +1,527 @@
1
1
  // Auto-generated by generate-plugin-sdk.ts - DO NOT EDIT
2
2
 
3
+ /// <reference path="../ambient/image-modules.d.ts" />
4
+
3
5
  export type {
4
- ADDON_TYPES,
6
+ ADDON_KINDS,
7
+ ADDON_SCOPE_GLOBALS,
8
+ AIGlyphTextProps,
9
+ AILoaderComponent,
10
+ AILoaderProps,
11
+ AIShimmerComponent,
12
+ AIShimmerInnerProps,
13
+ AIShimmerProps,
14
+ AccessibilityAnnouncerLiveRegionComponent,
15
+ AccessibilityAnnouncerLiveRegionProps,
16
+ AccessibilityViewComponent,
17
+ AccessibilityViewProps,
18
+ ActionSheetCloseButtonComponent,
19
+ ActionSheetCloseButtonProps,
20
+ ActionSheetComponent,
21
+ ActionSheetHeaderBarComponent,
22
+ ActionSheetHeaderBarProps,
23
+ ActionSheetHeaderPressableTextComponent,
24
+ ActionSheetHeaderPressableTextProps,
25
+ ActionSheetIconHeaderComponent,
26
+ ActionSheetIconHeaderProps,
27
+ ActionSheetPresenterComponent,
28
+ ActionSheetPresenterProps,
5
29
  ActionSheetProps,
30
+ ActionSheetRowComponent,
31
+ ActionSheetRowGroupComponent,
32
+ ActionSheetRowGroupProps,
33
+ ActionSheetRowIconComponent,
34
+ ActionSheetRowIconProps,
6
35
  ActionSheetRowProps,
7
- Addon,
36
+ ActionSheetRowStatics,
37
+ ActionSheetSwitchRowComponent,
38
+ ActionSheetSwitchRowProps,
39
+ AddonAsset,
8
40
  AddonAuthor,
41
+ AddonHandle,
42
+ AddonKind,
43
+ AddonLogger,
9
44
  AddonManifest,
10
- AddonResolveable,
11
- AddonType,
45
+ AddonPlatform,
46
+ AddonPlatforms,
47
+ AddonTrust,
48
+ AlertActionButtonComponent,
12
49
  AlertActionButtonProps,
50
+ AlertActionsProps,
51
+ AlertModalComponent,
52
+ AlertModalContainerComponent,
53
+ AlertModalContainerProps,
13
54
  AlertModalProps,
55
+ AssetName,
56
+ AssetType,
14
57
  AssetsModule,
15
- ButtonComponent,
16
- ButtonProps,
17
- ButtonSize,
18
- ButtonVariant,
19
- CardProps,
20
- CheckboxProps,
21
- ContextMenuItem,
58
+ AuthoredAddonManifest,
59
+ AvatarDuoPileComponent,
60
+ AvatarDuoPileProps,
61
+ AvatarPileComponent,
62
+ AvatarPileProps,
63
+ BackdropComponent,
64
+ BackdropProps,
65
+ BackgroundBlurFillProps,
66
+ BackgroundBlurFillWithPressProps,
67
+ BackgroundBlurViewComponentComponent,
68
+ BackgroundBlurViewComponentProps,
69
+ BadgeProps,
70
+ BadgeVariant,
71
+ BaseIconButtonProps,
72
+ BaseNavigationContainerProps,
73
+ BaseTextButtonComponent,
74
+ BaseTextButtonIconProps,
75
+ BaseTextButtonProps,
76
+ BaseTextButtonStatics,
77
+ BaseTextFieldProps,
78
+ BottomSheetBackdropComponentProps,
79
+ BottomSheetTextInputComponent,
80
+ BottomSheetTextInputProps,
81
+ BottomSheetTitleHeaderComponent,
82
+ BottomSheetTitleHeaderProps,
83
+ ButtonBaseButtonProps,
84
+ ButtonEllipsisComponent,
85
+ ButtonEllipsisProps,
86
+ ButtonGroupComponent,
87
+ ButtonGroupProps,
88
+ ButtonIconButtonComponent,
89
+ ButtonIconButtonProps,
90
+ ButtonPillProps,
91
+ ButtonSchema,
92
+ ButtonShineProps,
93
+ CORE_SETTINGS_STORE,
94
+ Callback,
95
+ CameraLottieComponent,
96
+ CameraLottieProps,
97
+ ChoiceSettingSchema,
98
+ CoachmarkComponent,
99
+ CoachmarkProps,
100
+ CollapsingTextProps,
101
+ ContextMenuComponent,
102
+ ContextMenuContainerComponent,
103
+ ContextMenuContainerProps,
22
104
  ContextMenuProps,
23
105
  CreateStyles,
106
+ DESIGN_COMPONENTS,
107
+ DesignActivityIndicatorComponent,
108
+ DesignActivityIndicatorProps,
109
+ DesignBarrelComponents,
110
+ DesignCardComponent,
111
+ DesignCardProps,
112
+ DesignCheckboxComponent,
113
+ DesignCheckboxProps,
114
+ DesignComponentName,
115
+ DesignComponents,
116
+ DesignHelpers,
117
+ DesignModalComponent,
118
+ DesignModalProps,
24
119
  DesignModule,
120
+ DesignRowGroupComponent,
121
+ DesignRowGroupProps,
122
+ DesignTextComponent,
123
+ DesignTextInputComponent,
124
+ DesignTextInputProps,
125
+ DesignTextProps,
126
+ DialogComponent,
127
+ DialogProps,
128
+ DisableCustomThemeComponent,
129
+ DisableCustomThemeProps,
25
130
  DiscordAsset,
131
+ DiscordAssetName,
132
+ DiscordAssetNames,
133
+ DiscordAssetType,
26
134
  DiscordFunction,
135
+ DiscordIconProps,
136
+ DiscordIconSize,
137
+ DurationUnit,
138
+ EllipsisCircleProps,
139
+ EntityDisplay,
27
140
  EnumLike,
141
+ ErrorTextProps,
142
+ ExpressiveGradientComponent,
143
+ ExpressiveGradientProps,
144
+ FauxHeaderComponent,
145
+ FauxHeaderProps,
146
+ FloatingActionButtonComponent,
28
147
  FloatingActionButtonProps,
29
- FontDescriptor,
30
148
  FontEntity,
149
+ FormLabelProps,
150
+ FormRowProps,
151
+ FormSubLabelProps,
152
+ FormsFormCheckboxComponent,
153
+ FormsFormCheckboxProps,
154
+ FormsFormRadioComponent,
155
+ FormsFormRadioProps,
156
+ FormsFormSwitchComponent,
157
+ FormsFormSwitchProps,
158
+ GhostInputComponent,
31
159
  GhostInputProps,
32
- IconButtonProps,
160
+ GlyphBandProps,
161
+ GuildIconPileComponent,
162
+ GuildIconPileProps,
163
+ HeaderActionButtonComponent,
164
+ HeaderActionButtonProps,
165
+ HeaderBackImageComponent,
166
+ HeaderBackImageProps,
167
+ HeaderSubmittingIndicatorComponent,
168
+ HeaderSubmittingIndicatorProps,
169
+ IconInput,
33
170
  IconPack,
34
171
  IconPackManifest,
35
- IconSlot,
36
- InputSize,
37
- InputStatus,
172
+ ImageButtonComponent,
173
+ ImageButtonProps,
174
+ InlineNoticeComponent,
175
+ InlineNoticeProps,
176
+ InputComponent,
177
+ InputFieldContainerComponent,
178
+ InputFieldContainerProps,
179
+ InputProps,
180
+ InputTextInputProps,
38
181
  InternalToastOptions,
182
+ LayerScopeComponent,
183
+ LayerScopeProps,
184
+ LoaderObjCBridge,
185
+ LoadingButtonPillProps,
186
+ LooseComponent,
187
+ LooseModule,
188
+ LoosePropValue,
189
+ LooseProps,
190
+ LottieIconProps,
191
+ ManaContextProviderComponent,
192
+ ManaContextProviderProps,
193
+ MarkdownNestedParse,
194
+ MarkdownNode,
195
+ MarkdownOutput,
196
+ MarkdownParserModule,
197
+ MarkdownReactParser,
198
+ MarkdownRule,
199
+ MarkdownRules,
200
+ MarkdownState,
201
+ MenuComponent,
202
+ MenuGroupComponent,
203
+ MenuGroupProps,
204
+ MenuItemComponent,
205
+ MenuItemProps,
206
+ MenuPopoutComponent,
207
+ MenuPopoutProps,
208
+ MenuProps,
209
+ MessageRequestLottieComponent,
210
+ MessageRequestLottieProps,
211
+ MessagesTabLottieComponent,
212
+ MessagesTabLottieProps,
213
+ MicrophoneLottieComponent,
214
+ MicrophoneLottieProps,
215
+ ModalActionButtonComponent,
216
+ ModalActionButtonProps,
217
+ ModalContentComponent,
218
+ ModalContentProps,
219
+ ModalDisclaimerComponent,
220
+ ModalDisclaimerProps,
221
+ ModalFloatingActionComponent,
222
+ ModalFloatingActionProps,
223
+ ModalFloatingActionSpacerComponent,
224
+ ModalFloatingActionSpacerProps,
225
+ ModalFooterComponent,
226
+ ModalFooterProps,
227
+ ModalScreenComponent,
228
+ ModalScreenProps,
229
+ ModalStepIndicatorComponent,
230
+ ModalStepIndicatorProps,
39
231
  NATIVE_PLUGIN_CAPABILITIES,
232
+ NATIVE_PLUGIN_METHOD_CAPABILITIES,
233
+ NATIVE_PLUGIN_PLATFORMS,
234
+ NATIVE_PLUGIN_PLATFORM_CAPABILITIES,
235
+ NEWER_DESIGN_COMPONENTS,
236
+ NativeAddonVerification,
237
+ NativeAndroidInstallPhase,
238
+ NativeAndroidInstallProgress,
239
+ NativeAndroidInstallSplit,
240
+ NativeAndroidInstallerAvailability,
241
+ NativeAndroidInstallerStatus,
40
242
  NativeAssociationKey,
243
+ NativeBatchReference,
244
+ NativeBatchStep,
41
245
  NativeCallOptions,
246
+ NativeCancelablePromise,
42
247
  NativeClassHandle,
248
+ NativeCompiledPlugin,
249
+ NativeCrashPhase,
250
+ NativeCrashedAddon,
251
+ NativeDebugBridge,
252
+ NativeDebugEnvironment,
253
+ NativeDebugEnvironmentOptions,
254
+ NativeDebugEvaluation,
255
+ NativeDebugEvaluationLog,
43
256
  NativeFFIBridge,
44
257
  NativeFFISignature,
45
258
  NativeFFIType,
46
259
  NativeFFITypeName,
47
260
  NativeFabricBridge,
48
261
  NativeFabricFrame,
262
+ NativeFabricMountOptions,
49
263
  NativeFabricSize,
50
264
  NativeFabricSurface,
265
+ NativeFontEntry,
266
+ NativeFontSource,
267
+ NativeGarbageCollection,
51
268
  NativeHandle,
52
269
  NativeHookContext,
53
270
  NativeHookHandlers,
54
271
  NativeHookOptions,
272
+ NativeHookPayload,
55
273
  NativeHookToken,
274
+ NativeJavaArgument,
275
+ NativeJavaAssociationKey,
276
+ NativeJavaBatchOperation,
277
+ NativeJavaBridge,
278
+ NativeJavaCallPlan,
279
+ NativeJavaClassDescription,
280
+ NativeJavaFieldDescription,
281
+ NativeJavaHandle,
282
+ NativeJavaHandleValue,
283
+ NativeJavaHookEvent,
284
+ NativeJavaHookOptions,
285
+ NativeJavaHookToken,
286
+ NativeJavaHooksBridge,
287
+ NativeJavaMethodDescription,
288
+ NativeJavaReference,
289
+ NativeJavaValue,
290
+ NativeMainWaitCounts,
291
+ NativeMainWorkCounts,
56
292
  NativeObjCBridge,
293
+ NativeObjCCallPlan,
294
+ NativeObjCResult,
57
295
  NativeObjectHandle,
296
+ NativePlatformAddons,
297
+ NativePlatformAndroidBridge,
298
+ NativePlatformAndroidInstaller,
58
299
  NativePlatformApp,
59
300
  NativePlatformBridge,
301
+ NativePlatformCrashGuard,
60
302
  NativePlatformDevice,
303
+ NativePlatformFiles,
304
+ NativePlatformFonts,
305
+ NativePlatformIOSBridge,
306
+ NativePlatformProfiler,
307
+ NativePlatformSettings,
61
308
  NativePluginBridge,
62
309
  NativePluginCapability,
63
310
  NativePluginError,
64
311
  NativePluginErrorCode,
312
+ NativePluginMethod,
313
+ NativePluginNamespace,
314
+ NativePluginPlatform,
315
+ NativePluginPlatformCapability,
316
+ NativePluginRuntimeBridge,
65
317
  NativePointer,
318
+ NativeResourceCounts,
319
+ NativeRuntimeBridge,
320
+ NativeRuntimeEventName,
321
+ NativeRuntimeEventToken,
66
322
  NativeSerializable,
67
323
  NativeSerializableObject,
324
+ NativeSettingsChange,
68
325
  NativeStruct,
69
326
  NativeStructField,
70
327
  NativeStructFields,
71
328
  NativeThreadPolicy,
329
+ NativeUIArgument,
330
+ NativeUIBridge,
331
+ NativeUICallback,
332
+ NativeUIScope,
333
+ NativeUIScopeFactory,
334
+ NativeViewSearchOptions,
335
+ NativeViewSnapshotNode,
336
+ NativeViewSnapshotOptions,
337
+ NavScrimComponent,
338
+ NavScrimProps,
72
339
  Navigation,
340
+ NavigationContainerInnerProps,
73
341
  NavigationOptions,
342
+ NavigationStackProps,
343
+ NavigatorComponent,
344
+ NavigatorHeaderComponent,
345
+ NavigatorHeaderProps,
346
+ NavigatorProps,
347
+ NavigatorScreenComponent,
348
+ NavigatorScreenProps,
349
+ NewInlineNoticeProps,
350
+ NewerDesignComponents,
351
+ NitroGem12LottieComponent,
352
+ NitroGem12LottieProps,
353
+ NitroGem15LottieComponent,
354
+ NitroGem15LottieProps,
355
+ NitroGem18LottieComponent,
356
+ NitroGem18LottieProps,
357
+ NitroGem1LottieComponent,
358
+ NitroGem1LottieProps,
359
+ NitroGem24LottieComponent,
360
+ NitroGem24LottieProps,
361
+ NitroGem2LottieComponent,
362
+ NitroGem2LottieProps,
363
+ NitroGem3LottieComponent,
364
+ NitroGem3LottieProps,
365
+ NitroGem6LottieComponent,
366
+ NitroGem6LottieProps,
367
+ NitroGem9LottieComponent,
368
+ NitroGem9LottieProps,
369
+ NoticeSchema,
370
+ NotificationsTabLottieComponent,
371
+ NotificationsTabLottieProps,
372
+ PileComponent,
373
+ PileOverflowComponent,
374
+ PileOverflowProps,
375
+ PileProps,
376
+ PillWrapperProps,
377
+ PlainTextExperimentProviderComponent,
378
+ PlainTextExperimentProviderProps,
74
379
  Plugin,
75
380
  PluginContext,
76
- PluginEntity,
381
+ PluginSelfTestResult,
382
+ PostponeRenderProps,
383
+ PressableBaseProps,
384
+ PressableHighlightProps,
385
+ PressableOpacityProps,
386
+ Primitive,
387
+ PromoSheetComponent,
388
+ PromoSheetProps,
389
+ PushedManifest,
390
+ RedesignBottomSheetTitleHeaderBaseProps,
391
+ RedesignCompatComponent,
392
+ RedesignCompatProps,
77
393
  ResolvedStyles,
394
+ RowButtonComponent,
78
395
  RowButtonProps,
396
+ RowButtonStatics,
397
+ RowButtonWrapperProps,
398
+ SceneLoadingIndicatorComponent,
399
+ SceneLoadingIndicatorProps,
400
+ SearchFieldComponent,
401
+ SearchFieldProps,
402
+ SegmentedControlComponent,
79
403
  SegmentedControlItem,
404
+ SegmentedControlItemProps,
405
+ SegmentedControlPagesComponent,
80
406
  SegmentedControlPagesProps,
81
407
  SegmentedControlProps,
82
408
  SegmentedControlState,
83
409
  SegmentedControlStateOptions,
410
+ SemanticColorToken,
411
+ ServerTabLottieComponent,
412
+ ServerTabLottieProps,
413
+ SettingChoice,
414
+ SettingCommon,
415
+ SettingCondition,
416
+ SettingPrimitive,
417
+ SettingSchema,
418
+ SettingValue,
84
419
  SettingsEntry,
420
+ SettingsGroupSchema,
85
421
  SettingsObject,
422
+ SettingsSchema,
86
423
  SettingsScreen,
87
424
  SettingsValue,
425
+ SheetBottomSheetComponent,
426
+ SheetBottomSheetProps,
427
+ ShimmerLayersProps,
428
+ ShimmerTextSlotProps,
429
+ SimpleActionSheetComponent,
430
+ SimpleActionSheetProps,
431
+ SimpleMarkdownModule,
432
+ SimpleMarkdownParser,
433
+ SliderComponent,
88
434
  SliderProps,
435
+ SlotProps,
436
+ SplitTextFieldProps,
437
+ SplitTextInputComponent,
89
438
  SplitTextInputProps,
439
+ StackComponent,
90
440
  StackProps,
441
+ StepModalComponent,
442
+ StepModalProps,
443
+ StepPillProps,
444
+ StickyWrapperComponent,
445
+ StickyWrapperProps,
446
+ StorelessSchema,
447
+ StringDisplay,
448
+ StringSettingSchema,
91
449
  StyleSheetSpec,
92
450
  StyleSheetSpecOrFactory,
93
- SwitchProps,
451
+ SubtitleProps,
452
+ TabItemCountProps,
453
+ TabItemProps,
454
+ TableCheckboxRowComponent,
94
455
  TableCheckboxRowProps,
456
+ TableRadioGroupComponent,
95
457
  TableRadioGroupProps,
458
+ TableRadioRowComponent,
96
459
  TableRadioRowProps,
460
+ TableRowArrowComponent,
461
+ TableRowArrowProps,
97
462
  TableRowComponent,
463
+ TableRowDividerProps,
464
+ TableRowGroupComponent,
98
465
  TableRowGroupProps,
466
+ TableRowGroupTitleComponent,
99
467
  TableRowGroupTitleProps,
468
+ TableRowIconComponent,
100
469
  TableRowIconProps,
470
+ TableRowInnerProps,
101
471
  TableRowProps,
472
+ TableRowStatics,
473
+ TableRowTrailingTextComponent,
474
+ TableRowTrailingTextProps,
475
+ TableSwitchRowComponent,
102
476
  TableSwitchRowProps,
477
+ TabsComponent,
478
+ TabsProps,
479
+ TagGroupComponent,
480
+ TagGroupProps,
481
+ TextAreaComponent,
482
+ TextAreaFieldComponent,
483
+ TextAreaFieldProps,
103
484
  TextAreaProps,
485
+ TextButtonIconComponent,
486
+ TextButtonIconProps,
487
+ TextFieldComponent,
104
488
  TextFieldProps,
105
- TextInputPassthrough,
106
- TextInputProps,
107
- TextProps,
489
+ TextHeadingComponent,
490
+ TextHeadingProps,
108
491
  TextVariant,
109
492
  TextWeight,
110
493
  Theme,
111
- ThemeEntity,
494
+ ThemeContextProviderRootThemeContextProviderComponent,
495
+ ThemeContextProviderRootThemeContextProviderProps,
496
+ ThemeProviderProps,
112
497
  ThemeSemanticColor,
498
+ TitleProps,
113
499
  ToastButton,
500
+ ToastComponent,
501
+ ToastContainerComponent,
502
+ ToastContainerProps,
503
+ ToastEntityContentProps,
504
+ ToastEntityProps,
114
505
  ToastHandle,
115
506
  ToastOptions,
507
+ ToastProps,
116
508
  ToastStoreState,
117
- TrailingTextProps,
509
+ ToggleIconButtonComponent,
510
+ ToggleIconButtonProps,
118
511
  TransitionState,
512
+ UnboundAppIcon,
119
513
  UnboundAsset,
514
+ UncertainValue,
515
+ VisualEffectViewProps,
516
+ VoidIconProps,
517
+ VoidTextInputProps,
518
+ WrappedNavigationStackProps,
519
+ YouTabLottieComponent,
520
+ YouTabLottieProps,
120
521
  } from './_internal';
121
- import type { NativePlatformBridge } from './_internal';
122
- import * as ReactModule from 'react';
123
- import * as ReactNativeModule from 'react-native';
522
+ import type { AddonHandle, AddonLogger, NativePlatformBridge } from './_internal';
523
+ import * as React$1 from 'react';
524
+ import * as RN from 'react-native';
124
525
 
125
526
  declare global {
126
527
  /**
@@ -129,26 +530,108 @@ declare global {
129
530
  */
130
531
  var $$DEV$$: boolean;
131
532
  var NativePlatform: NativePlatformBridge | undefined;
132
- var React: typeof ReactModule;
133
- var ReactNative: typeof ReactNativeModule;
533
+ /**
534
+ * The message keys command text takes, one member per key. A plugin's generated `src/unbound-i18n.d.ts` fills it
535
+ * from its `i18n/en-US.json` and the client from Unbound's; an interface so each declaration merges into it.
536
+ */
537
+ // oxlint-disable-next-line typescript/consistent-type-definitions -- only an interface merges across files.
538
+ interface UnboundMessageKeys {}
539
+
540
+ var React: typeof React$1;
541
+ var ReactNative: typeof RN;
542
+ }
543
+
544
+ /** The globals a plugin runs with, keyed by name. Plugin code reads them without an import. */
545
+ export type AddonScope = {
546
+ /** Discord's React, whose `createElement` keeps a reloaded plugin's components matched to their mounted ones. */ React: typeof React;
547
+ /** The Unbound API, with the `metro`, `storage`, `flux`, `patcher`, `commands`, `settings` and `assets` registrations scoped to this plugin, and `toasts`, `dialogs` and `i18n` reading its own messages. */ unbound: UnboundGlobal;
548
+ /** This plugin's handle: its manifest and state. */ addon: AddonHandle;
549
+ /** The patcher, tagging each patch with this plugin's id; Unbound removes them when it stops. */ patcher: UnboundGlobal['patcher'];
550
+ /** A logger that prefixes each line with this plugin's name. */ logger: AddonLogger;
551
+ /** `setTimeout`, cleared when this plugin stops. */ setTimeout: typeof setTimeout;
552
+ /** `setInterval`, cleared when this plugin stops. */ setInterval: typeof setInterval;
553
+ /** Clears a timer this plugin set with `setTimeout`. */ clearTimeout: typeof clearTimeout;
554
+ /** Clears a timer this plugin set with `setInterval`. */ clearInterval: typeof clearInterval;
555
+ /** The commands API, registering each command under this plugin's id; Unbound removes them when it stops. */ commands: Omit<
556
+ ReturnType<UnboundGlobal['commands']['createCommands']>,
557
+ keyof UnboundGlobal['commands']
558
+ > &
559
+ UnboundGlobal['commands'];
560
+ };
561
+
562
+ /** The lifecycle entry points, all the global `unbound` object keeps after {@link shutdown}. */
563
+ export interface UnboundLifecycle {
564
+ /**
565
+ * @description Brings up the client, initialising the built-ins, plugins, and themes managers in turn. Twin of
566
+ * {@link shutdown}.
567
+ */
568
+ initialize(): void;
569
+ /**
570
+ * @description Tears the client back down, shutting down the built-ins, plugins, and themes managers and persisting
571
+ * settings before clearing the global down to the lifecycle entry points. Twin of {@link initialize}.
572
+ * @returns A promise that resolves once settings have been persisted and shutdown is complete.
573
+ */
574
+ shutdown(): Promise<void>;
134
575
  }
135
576
 
136
- export interface UnboundGlobal {
577
+ /** The global `unbound` object while the client is initialized: the API plus the lifecycle. */
578
+ export interface UnboundGlobal extends UnboundLifecycle {
579
+ /** The `assets` module, which plugins also import from `@unbound-app/api/assets`. */
137
580
  assets: typeof import('./assets.d.ts');
581
+ /** The `builtins` module, which plugins also import from `@unbound-app/api/builtins`. */
582
+ builtins: typeof import('./builtins.d.ts');
583
+ /** The `commands` module, which plugins also import from `@unbound-app/api/commands`. */
584
+ commands: typeof import('./commands.d.ts');
585
+ /** The `dialogs` module, which plugins also import from `@unbound-app/api/dialogs`. */
586
+ dialogs: typeof import('./dialogs.d.ts');
587
+ /** The `flux` module, which plugins also import from `@unbound-app/api/flux`. */
588
+ flux: typeof import('./flux.d.ts');
589
+ /** The `fonts` module, which plugins also import from `@unbound-app/api/fonts`. */
590
+ fonts: typeof import('./fonts.d.ts');
591
+ /** The `fs` module, which plugins also import from `@unbound-app/api/fs`. */
138
592
  fs: typeof import('./fs.d.ts');
593
+ /** The `i18n` module, which plugins also import from `@unbound-app/api/i18n`. */
139
594
  i18n: typeof import('./i18n.d.ts');
595
+ /** The `iconPacks` module, which plugins also import from `@unbound-app/api/iconPacks`. */
596
+ iconPacks: typeof import('./iconPacks.d.ts');
597
+ /** The `marketplace` module, which plugins also import from `@unbound-app/api/marketplace`. */
598
+ marketplace: typeof import('./marketplace.d.ts');
599
+ /** The `metro` module, which plugins also import from `@unbound-app/api/metro`. */
140
600
  metro: typeof import('./metro/index.d.ts');
601
+ /** The `native` module, which plugins also import from `@unbound-app/api/native`. */
141
602
  native: typeof import('./native.d.ts');
603
+ /** The `patcher` module, which plugins also import from `@unbound-app/api/patcher`. */
142
604
  patcher: typeof import('./patcher.d.ts');
605
+ /** The `plugins` module, which plugins also import from `@unbound-app/api/plugins`. */
606
+ plugins: typeof import('./plugins.d.ts');
607
+ /** The `settings` module, which plugins also import from `@unbound-app/api/settings`. */
143
608
  settings: typeof import('./settings.d.ts');
609
+ /** The `shims` module, which plugins also import from `@unbound-app/api/shims`. */
610
+ shims: typeof import('./shims.d.ts');
611
+ /** The `storage` module, which plugins also import from `@unbound-app/api/storage`. */
144
612
  storage: typeof import('./storage.d.ts');
613
+ /** The `sync` module, which plugins also import from `@unbound-app/api/sync`. */
614
+ sync: typeof import('./sync.d.ts');
615
+ /** The `themes` module, which plugins also import from `@unbound-app/api/themes`. */
616
+ themes: typeof import('./themes.d.ts');
617
+ /** The `toasts` module, which plugins also import from `@unbound-app/api/toasts`. */
145
618
  toasts: typeof import('./toasts.d.ts');
619
+ /** The `ui` module, which plugins also import from `@unbound-app/api/ui`. */
620
+ ui: typeof import('./ui.d.ts');
621
+ /** The `updates` module, which plugins also import from `@unbound-app/api/updates`. */
622
+ updates: typeof import('./updates.d.ts');
623
+ /** The `utils` module, which plugins also import from `@unbound-app/api/utils`. */
624
+ utils: typeof import('./utils/index.d.ts');
146
625
  }
147
626
 
148
627
  declare global {
149
628
  interface Window {
150
- unbound: UnboundGlobal;
629
+ unbound: UnboundGlobal | UnboundLifecycle;
151
630
  }
152
631
 
153
- const unbound: Window['unbound'];
632
+ const unbound: AddonScope['unbound'];
633
+ const addon: AddonScope['addon'];
634
+ const patcher: AddonScope['patcher'];
635
+ const logger: AddonScope['logger'];
636
+ const commands: AddonScope['commands'];
154
637
  }