@casual-simulation/aux-common 3.1.36 → 3.2.1-alpha.5646793078

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.
@@ -23,7 +23,7 @@ export type ExtraActions = ShoutAction | RejectAction | ShowToastAction | ShowHt
23
23
  /**
24
24
  * Defines a set of possible async action types.
25
25
  */
26
- export type AsyncActions = AsyncResultAction | AsyncErrorAction | ShowInputAction | ShowConfirmAction | ShareAction | ImportAUXAction | RegisterBuiltinPortalAction | RegisterPrefixAction | RunScriptAction | LoadBotsAction | ClearSpaceAction | SendWebhookAction | AnimateTagAction | UnlockSpaceAction | SetSpacePasswordAction | LoadFileAction | SaveFileAction | SetupChannelAction | RpioInitAction | RpioExitAction | RpioOpenAction | RpioModeAction | RpioReadAction | RpioReadSequenceAction | RpioWriteAction | RpioWriteSequenceAction | RpioReadpadAction | RpioWritepadAction | RpioPudAction | RpioPollAction | RpioCloseAction | RpioI2CBeginAction | RpioI2CSetSlaveAddressAction | RpioI2CSetBaudRateAction | RpioI2CSetClockDividerAction | RpioI2CReadAction | RpioI2CWriteAction | RpioI2CEndAction | RpioPWMSetClockDividerAction | RpioPWMSetRangeAction | RpioPWMSetDataAction | RpioSPIBeginAction | RpioSPIChipSelectAction | RpioSPISetCSPolarityAction | RpioSPISetClockDividerAction | RpioSPISetDataModeAction | RpioSPITransferAction | RpioSPIWriteAction | RpioSPIEndAction | SerialConnectAction | SerialStreamAction | SerialOpenAction | SerialUpdateAction | SerialWriteAction | SerialReadAction | SerialCloseAction | SerialFlushAction | SerialDrainAction | SerialPauseAction | SerialResumeAction | CreateCertificateAction | SignTagAction | RevokeCertificateAction | RemoteAction | RemoteActionResult | RemoteActionError | DeviceAction | DeviceActionResult | DeviceActionError | PlaySoundAction | BufferSoundAction | CancelSoundAction | LocalPositionTweenAction | LocalRotationTweenAction | ShowUploadFilesAction | OpenCircleWipeAction | FocusOnBotAction | FocusOnPositionAction | BeginAudioRecordingAction | EndAudioRecordingAction | CancelAnimationAction | BeginRecordingAction | EndRecordingAction | SpeakTextAction | GetVoicesAction | GetGeolocationAction | RegisterCustomAppAction | UnregisterCustomAppAction | RegisterHtmlAppAction | RequestAuthDataAction | DefineGlobalBotAction | ConvertGeolocationToWhat3WordsAction | GetPublicRecordKeyAction | GrantRecordMarkerPermissionAction | RevokeRecordMarkerPermissionAction | GrantInstAdminPermissionAction | GrantRoleAction | RevokeRoleAction | RecordDataAction | GetRecordDataAction | ListRecordDataAction | EraseRecordDataAction | RecordFileAction | GetFileAction | EraseFileAction | RecordEventAction | GetEventCountAction | ARSupportedAction | VRSupportedAction | MediaPermissionAction | GetAverageFrameRateAction | OpenImageClassifierAction | MeetCommandAction | MeetFunctionAction | ShowTooltipAction | HideTooltipAction | JoinRoomAction | LeaveRoomAction | SetRoomOptionsAction | GetRoomOptionsAction | GetRoomTrackOptionsAction | SetRoomTrackOptionsAction | GetRoomRemoteOptionsAction | RaycastFromCameraAction | RaycastInPortalAction | CalculateRayFromCameraAction | BufferFormAddressGLTFAction | StartFormAnimationAction | StopFormAnimationAction | ListFormAnimationsAction | ConfigureWakeLockAction | GetWakeLockConfigurationAction | AnalyticsRecordEventAction | HtmlAppMethodCallAction | AttachRuntimeAction | DetachRuntimeAction;
26
+ export type AsyncActions = AsyncResultAction | AsyncErrorAction | ShowInputAction | ShowConfirmAction | ShareAction | ImportAUXAction | RegisterBuiltinPortalAction | RegisterPrefixAction | RunScriptAction | LoadBotsAction | ClearSpaceAction | SendWebhookAction | AnimateTagAction | UnlockSpaceAction | SetSpacePasswordAction | LoadFileAction | SaveFileAction | SetupChannelAction | RpioInitAction | RpioExitAction | RpioOpenAction | RpioModeAction | RpioReadAction | RpioReadSequenceAction | RpioWriteAction | RpioWriteSequenceAction | RpioReadpadAction | RpioWritepadAction | RpioPudAction | RpioPollAction | RpioCloseAction | RpioI2CBeginAction | RpioI2CSetSlaveAddressAction | RpioI2CSetBaudRateAction | RpioI2CSetClockDividerAction | RpioI2CReadAction | RpioI2CWriteAction | RpioI2CEndAction | RpioPWMSetClockDividerAction | RpioPWMSetRangeAction | RpioPWMSetDataAction | RpioSPIBeginAction | RpioSPIChipSelectAction | RpioSPISetCSPolarityAction | RpioSPISetClockDividerAction | RpioSPISetDataModeAction | RpioSPITransferAction | RpioSPIWriteAction | RpioSPIEndAction | SerialConnectAction | SerialStreamAction | SerialOpenAction | SerialUpdateAction | SerialWriteAction | SerialReadAction | SerialCloseAction | SerialFlushAction | SerialDrainAction | SerialPauseAction | SerialResumeAction | CreateCertificateAction | SignTagAction | RevokeCertificateAction | RemoteAction | RemoteActionResult | RemoteActionError | DeviceAction | DeviceActionResult | DeviceActionError | PlaySoundAction | BufferSoundAction | CancelSoundAction | LocalPositionTweenAction | LocalRotationTweenAction | ShowUploadFilesAction | OpenCircleWipeAction | FocusOnBotAction | FocusOnPositionAction | BeginAudioRecordingAction | EndAudioRecordingAction | CancelAnimationAction | BeginRecordingAction | EndRecordingAction | SpeakTextAction | GetVoicesAction | GetGeolocationAction | RegisterCustomAppAction | UnregisterCustomAppAction | RegisterHtmlAppAction | RequestAuthDataAction | DefineGlobalBotAction | ConvertGeolocationToWhat3WordsAction | GetPublicRecordKeyAction | GrantRecordMarkerPermissionAction | RevokeRecordMarkerPermissionAction | GrantInstAdminPermissionAction | GrantRoleAction | RevokeRoleAction | RecordDataAction | GetRecordDataAction | ListRecordDataAction | EraseRecordDataAction | RecordFileAction | GetFileAction | EraseFileAction | RecordEventAction | GetEventCountAction | ARSupportedAction | VRSupportedAction | MediaPermissionAction | GetAverageFrameRateAction | OpenImageClassifierAction | MeetCommandAction | MeetFunctionAction | ShowTooltipAction | HideTooltipAction | JoinRoomAction | LeaveRoomAction | SetRoomOptionsAction | GetRoomOptionsAction | GetRoomTrackOptionsAction | SetRoomTrackOptionsAction | GetRoomRemoteOptionsAction | RaycastFromCameraAction | RaycastInPortalAction | CalculateRayFromCameraAction | BufferFormAddressGLTFAction | StartFormAnimationAction | StopFormAnimationAction | ListFormAnimationsAction | ConfigureWakeLockAction | GetWakeLockConfigurationAction | AnalyticsRecordEventAction | HtmlAppMethodCallAction | AttachRuntimeAction | DetachRuntimeAction | OpenPhotoCameraAction;
27
27
  /**
28
28
  * Defines an interface for actions that represent asynchronous tasks.
29
29
  */
@@ -447,58 +447,79 @@ export interface HideHtmlAction extends Action {
447
447
  visible: false;
448
448
  }
449
449
  /**
450
- * Options for the os.tweenTo(), os.moveTo(), and os.focusOn() actions.
450
+ * Options for {@link os.focusOn-bot}, and {@link os.focusOn-position} actions.
451
+ *
452
+ * @dochash types/os
453
+ * @docname FocusOnOptions
451
454
  */
452
455
  export interface FocusOnOptions {
453
456
  zoom?: number;
454
- rotation?: {
455
- x: number;
456
- y: number;
457
- /**
458
- * Whether to normalize the rotation values to between 0 and 2*PI.
459
- * Defaults to true. Setting this to false can be useful for rotating around a bot multiple times.
460
- */
461
- normalize?: boolean;
462
- };
457
+ rotation?: FocusOnRotation;
463
458
  /**
464
- * The duration in seconds that the tween should take.
459
+ * The duration in seconds that the animation should take.
460
+ * Defaults to 1.
465
461
  */
466
462
  duration?: number;
467
463
  /**
468
- * The type of easing to use.
469
- * If not specified then "linear" "inout" will be used.
464
+ * The options for easing.
465
+ * Can be an "easing type" or an object that specifies the type and mode.
466
+ * If an easing type is specified, then "inout" mode is used.
467
+ * If omitted, then "quadratic" "inout" is used.
470
468
  */
471
469
  easing?: EaseType | Easing;
472
470
  /**
473
471
  * The tag that should be focused.
472
+ * Only supported in the system portal.
474
473
  */
475
474
  tag?: string;
476
475
  /**
477
- * The space of the tag that should be focused.
476
+ * The tag space that should be focused.
477
+ * Only supported in the system portal, sheet portal, and tag portals.
478
478
  */
479
479
  space?: string;
480
480
  /**
481
- * The line number that should be focued.
481
+ * The line number that should be selected in the editor.
482
+ * Only supported in the system portal, sheet portal, and tag portals.
482
483
  */
483
484
  lineNumber?: number;
484
485
  /**
485
- * The column number that should be focused.
486
+ * The column number that should be selected in the editor.
487
+ * Only supported in the system portal, sheet portal, and tag portals.
486
488
  */
487
489
  columnNumber?: number;
488
490
  /**
489
491
  * The index of the first character that should be selected.
492
+ * Only supported in the system portal, sheet portal, and tag portals.
490
493
  */
491
494
  startIndex?: number;
492
495
  /**
493
496
  * The index of the last character that should be selected.
497
+ * Only supported in the system portal, sheet portal, and tag portals.
494
498
  */
495
499
  endIndex?: number;
496
500
  /**
497
- * The portal that the bot is in.
498
- * If not specified, then the bot will be focused in all portals.
501
+ * The portal that the bot should be focused in.
502
+ * If not specified, then the bot will be focused in all the portals it is in. (bot, mini and menu)
503
+ * Useful if a bot is in two portals but you only want to focus it in one portal.
499
504
  */
500
505
  portal?: PortalType;
501
506
  }
507
+ /**
508
+ * Defines an interface that represents a rotation in polar coordinates for use with {@link os.focusOn-bot}.
509
+ *
510
+ * @dochash types/os
511
+ * @docname FocusOnRotation
512
+ */
513
+ export interface FocusOnRotation {
514
+ x: number;
515
+ y: number;
516
+ /**
517
+ * Whether to normalize the rotation. Normalized rotations are clamped to between 0 and Math.PI*2.
518
+ * You can set this to false to allow using angles more than Math.PI*2. This would allow the camera to rotate around an object multiple times.
519
+ * Defaults to true.
520
+ */
521
+ normalize?: boolean;
522
+ }
502
523
  /**
503
524
  * An event that is used to focus on a given bot.
504
525
  */
@@ -531,6 +552,9 @@ export interface CancelAnimationAction extends AsyncAction {
531
552
  }
532
553
  /**
533
554
  * The possible camera types.
555
+ *
556
+ * @dochash types/os
557
+ * @docname CameraType
534
558
  */
535
559
  export type CameraType = 'front' | 'rear';
536
560
  /**
@@ -569,6 +593,89 @@ export interface OpenBarcodeScannerAction extends Action {
569
593
  */
570
594
  disallowSwitchingCameras: boolean;
571
595
  }
596
+ /**
597
+ * An event that is used to show or hide the photo camera.
598
+ */
599
+ export interface OpenPhotoCameraAction extends AsyncAction {
600
+ type: 'open_photo_camera';
601
+ /**
602
+ * Whether the photo camera should be visible.
603
+ */
604
+ open: boolean;
605
+ /**
606
+ * Whether only a single photo should be taken.
607
+ */
608
+ singlePhoto: boolean;
609
+ /**
610
+ * The options for the action.
611
+ */
612
+ options: OpenPhotoCameraOptions;
613
+ }
614
+ /**
615
+ * Defines a photo that was taken.
616
+ *
617
+ * @dochash types/camera
618
+ * @docname Photo
619
+ */
620
+ export interface Photo {
621
+ /**
622
+ * The photo data.
623
+ */
624
+ data: Blob;
625
+ /**
626
+ * The width of the photo in pixels.
627
+ */
628
+ width: number;
629
+ /**
630
+ * The height of the photo in pixels.
631
+ */
632
+ height: number;
633
+ }
634
+ /**
635
+ * Options for {@link os.openPhotoCamera}.
636
+ *
637
+ * @dochash types/camera
638
+ * @doctitle Camera Types
639
+ * @docsidebar Camera
640
+ * @docdescription Types that are used in camera actions.
641
+ * @docname PhotoCameraOptions
642
+ */
643
+ export interface OpenPhotoCameraOptions {
644
+ /**
645
+ * The camera that should be used.
646
+ */
647
+ cameraType?: CameraType;
648
+ /**
649
+ * Whether to not allow switching the camera.
650
+ */
651
+ disallowSwitchingCameras?: boolean;
652
+ /**
653
+ * The image format that should be used.
654
+ *
655
+ * Defaults to "png".
656
+ */
657
+ imageFormat?: 'png' | 'jpeg';
658
+ /**
659
+ * A number between 0 and 1 indicating the image quality to be used.
660
+ *
661
+ * If not specified, then the browser will use its own default.
662
+ */
663
+ imageQuality?: number;
664
+ /**
665
+ * Whether to skip allowing the user to confirm their photo.
666
+ *
667
+ * Defaults to false.
668
+ */
669
+ skipConfirm?: boolean;
670
+ /**
671
+ * Whether to automatically take a photo after a number of seconds.
672
+ *
673
+ * If null, then there is no timer and the user is allowed to take the photo manually.
674
+ * If positive, then the timer will start counting down from the given number of seconds.
675
+ * The user can always cancel the operation manually.
676
+ */
677
+ takePhotoAfterSeconds?: number;
678
+ }
572
679
  /**
573
680
  * An event that is used to toggle whether the console is open.
574
681
  */
@@ -595,6 +702,9 @@ export interface ShowQRCodeAction extends Action {
595
702
  }
596
703
  /**
597
704
  * The list of possible barcode formats.
705
+ *
706
+ * @dochash types/os
707
+ * @docname BarcodeFormat
598
708
  */
599
709
  export type BarcodeFormat = 'code128' | 'code39' | 'ean13' | 'ean8' | 'upc' | 'itf14' | 'msi' | 'pharmacode' | 'codabar';
600
710
  /**
@@ -618,12 +728,20 @@ export interface ShowBarcodeAction extends Action {
618
728
  /**
619
729
  * An event that is used to show or hide an image classifier on screen.
620
730
  */
621
- export interface OpenImageClassifierAction extends AsyncAction {
731
+ export interface OpenImageClassifierAction extends AsyncAction, ImageClassifierOptions {
622
732
  type: 'show_image_classifier';
623
733
  /**
624
734
  * Whether the image classifier should be visible.
625
735
  */
626
736
  open: boolean;
737
+ }
738
+ /**
739
+ * Defines an interface that represents a set of options for {@link os.openImageClassifier}.
740
+ *
741
+ * @dochash types/os
742
+ * @docname ImageClassifierOptions
743
+ */
744
+ export interface ImageClassifierOptions {
627
745
  /**
628
746
  * The URL that the model should be loaded from.
629
747
  */
@@ -643,7 +761,6 @@ export interface OpenImageClassifierAction extends AsyncAction {
643
761
  */
644
762
  cameraType?: CameraType;
645
763
  }
646
- export type ImageClassifierOptions = Pick<OpenImageClassifierAction, 'modelUrl' | 'modelJsonUrl' | 'modelMetadataUrl' | 'cameraType'>;
647
764
  /**
648
765
  * An event that is used to load a simulation.
649
766
  */
@@ -946,6 +1063,9 @@ export interface ShowConfirmAction extends AsyncAction {
946
1063
  }
947
1064
  /**
948
1065
  * Defines an interface that represents the options that can be used for a confirmation dialog.
1066
+ *
1067
+ * @dochash types/os
1068
+ * @docname ShowConfirmOptions
949
1069
  */
950
1070
  export interface ShowConfirmOptions {
951
1071
  /**
@@ -1051,6 +1171,9 @@ export interface DownloadAction extends Action {
1051
1171
  }
1052
1172
  /**
1053
1173
  * Defines an interface for options that a show input event can use.
1174
+ *
1175
+ * @dochash types/os
1176
+ * @docname ShowInputOptions
1054
1177
  */
1055
1178
  export interface ShowInputOptions {
1056
1179
  /**
@@ -1770,6 +1893,9 @@ export interface ShowChatBarAction {
1770
1893
  }
1771
1894
  /**
1772
1895
  * Defines the possible options for showing the chat bar.
1896
+ *
1897
+ * @dochash types/os
1898
+ * @docname ShowChatOptions
1773
1899
  */
1774
1900
  export interface ShowChatOptions {
1775
1901
  /**
@@ -1953,10 +2079,38 @@ export interface LocalFormAnimationAction {
1953
2079
  animation: number | string;
1954
2080
  }
1955
2081
  export type TweenType = 'position' | 'rotation';
2082
+ /**
2083
+ * The possible easing types.
2084
+ * @dochash types/animation
2085
+ * @docname EaseType
2086
+ */
1956
2087
  export type EaseType = 'linear' | 'quadratic' | 'cubic' | 'quartic' | 'quintic' | 'sinusoidal' | 'exponential' | 'circular' | 'elastic';
2088
+ /**
2089
+ * The possible easing modes.
2090
+ * @dochash types/animation
2091
+ * @docname EaseMode
2092
+ */
1957
2093
  export type EaseMode = 'in' | 'out' | 'inout';
2094
+ /**
2095
+ * Defines an interface that represents easing types.
2096
+ *
2097
+ * @example Create an object that represents "quadratic" "inout" easing
2098
+ * let easing = {
2099
+ * type: "quadratic",
2100
+ * mode: "inout"
2101
+ * };
2102
+ *
2103
+ * @dochash types/animation
2104
+ * @docname Easing
2105
+ */
1958
2106
  export interface Easing {
2107
+ /**
2108
+ * The type of easing to use.
2109
+ */
1959
2110
  type: EaseType;
2111
+ /**
2112
+ * The mode of easing to use.
2113
+ */
1960
2114
  mode: EaseMode;
1961
2115
  }
1962
2116
  /**
@@ -2013,6 +2167,9 @@ export interface LocalRotationTweenAction extends LocalTweenAction {
2013
2167
  }
2014
2168
  /**
2015
2169
  * Defines an interface that represents the options that an EnableARAction or EnableVRAction can have.
2170
+ *
2171
+ * @dochash types/os
2172
+ * @docname EnableXROptions
2016
2173
  */
2017
2174
  export interface EnableXROptions {
2018
2175
  /**
@@ -2115,6 +2272,9 @@ export interface ExitFullscreenAction {
2115
2272
  }
2116
2273
  /**
2117
2274
  * Defines the options that a share action can have.
2275
+ *
2276
+ * @dochash types/os
2277
+ * @docname ShareOptions
2118
2278
  */
2119
2279
  export interface ShareOptions {
2120
2280
  /**
@@ -2322,6 +2482,9 @@ export interface RegisterPrefixAction extends AsyncAction {
2322
2482
  }
2323
2483
  /**
2324
2484
  * Defines an interface that contains options for register prefix actions.
2485
+ *
2486
+ * @dochash types/core
2487
+ * @docname RegisterPrefixOptions
2325
2488
  */
2326
2489
  export interface RegisterPrefixOptions {
2327
2490
  /**
@@ -2383,10 +2546,17 @@ export interface AddDropSnapTargetsAction extends AddDropSnapAction {
2383
2546
  /**
2384
2547
  * Defines an interface that represents a snap point.
2385
2548
  * That is, a point in 3D space with an associated snap distance.
2549
+ *
2550
+ * @dochash types/os
2551
+ * @docgroup 10-snap
2552
+ * @docorder 1
2553
+ * @docname SnapPoint
2386
2554
  */
2387
2555
  export interface SnapPoint {
2388
2556
  /**
2389
2557
  * The 3D position for the point.
2558
+ *
2559
+ * @docsource Vector3
2390
2560
  */
2391
2561
  position: {
2392
2562
  x: number;
@@ -2401,10 +2571,17 @@ export interface SnapPoint {
2401
2571
  /**
2402
2572
  * Defines an interface that represents a snap axis.
2403
2573
  * That is, a ray in 3D space with an associated snap distance.
2574
+ *
2575
+ * @dochash types/os
2576
+ * @docgroup 10-snap
2577
+ * @docorder 2
2578
+ * @docname SnapAxis
2404
2579
  */
2405
2580
  export interface SnapAxis {
2406
2581
  /**
2407
2582
  * The 3D direction that the axis ray travels along.
2583
+ *
2584
+ * @docsource Vector3
2408
2585
  */
2409
2586
  direction: {
2410
2587
  x: number;
@@ -2413,6 +2590,8 @@ export interface SnapAxis {
2413
2590
  };
2414
2591
  /**
2415
2592
  * The 3D position that the ray starts at.
2593
+ *
2594
+ * @docsource Vector3
2416
2595
  */
2417
2596
  origin: {
2418
2597
  x: number;
@@ -2426,10 +2605,15 @@ export interface SnapAxis {
2426
2605
  }
2427
2606
  /**
2428
2607
  * The list of possible snap targets.
2429
- * - "ground" means that the dragged bot should snap to the ground plane. This option is overriden by "grid".
2430
- * - "grid" means that the dragged bot should snap to grid tiles.
2431
- * - "face" means that the dragged bot should snap to other bot faces.
2432
- * - "bots" means that the dragged bot will snap to other bots.
2608
+ * - `"ground"` means that the dragged bot should snap to the ground plane. This option is overriden by "grid".
2609
+ * - `"grid"` means that the dragged bot should snap to grid tiles.
2610
+ * - `"face"` means that the dragged bot should snap to other bot faces.
2611
+ * - `"bots"` means that the dragged bot will snap to other bots.
2612
+ *
2613
+ * @dochash types/os
2614
+ * @docgroup 10-snap
2615
+ * @docorder 0
2616
+ * @docname SnapTarget
2433
2617
  */
2434
2618
  export type SnapTarget = 'ground' | 'grid' | 'face' | 'bots' | SnapPoint | SnapAxis;
2435
2619
  /**
@@ -2541,19 +2725,38 @@ export interface EndAudioRecordingAction extends AsyncAction {
2541
2725
  }
2542
2726
  /**
2543
2727
  * An interface that represents the options that can be used for making recordings.
2728
+ *
2729
+ * @dochash types/experimental
2730
+ * @doctitle Experimental Types
2731
+ * @docsidebar Experimental
2732
+ * @docdescription Defines the types that are used by experimental actions.
2733
+ * @docname RecordingOptions
2544
2734
  */
2545
2735
  export interface RecordingOptions {
2546
2736
  /**
2547
2737
  * Whether to record audio.
2738
+ *
2739
+ * If the computer does not have an audio device attached, then setting this to true
2740
+ * will cause an error.
2741
+ *
2548
2742
  * If an array is specified, only the specified audio sources will be recorded.
2743
+ *
2744
+ * Defaults to true.
2549
2745
  */
2550
2746
  audio: boolean | ('screen' | 'microphone')[];
2551
2747
  /**
2552
2748
  * Whether to record video.
2749
+ *
2750
+ * If the computer does not have a video device attached (like a web cam),
2751
+ * then setting this to true will cause an error.
2752
+ *
2753
+ * Defaults to true.
2553
2754
  */
2554
2755
  video: boolean;
2555
2756
  /**
2556
2757
  * Whether to record the screen.
2758
+ *
2759
+ * Defaults to false.
2557
2760
  */
2558
2761
  screen: boolean;
2559
2762
  }
@@ -2629,6 +2832,9 @@ export interface GetVoicesAction extends AsyncAction {
2629
2832
  }
2630
2833
  /**
2631
2834
  * Defines an interface that represents a synthetic voice.
2835
+ *
2836
+ * @dochash types/experimental
2837
+ * @docname SyntheticVoice
2632
2838
  */
2633
2839
  export interface SyntheticVoice {
2634
2840
  /**
@@ -2650,6 +2856,26 @@ export interface SyntheticVoice {
2650
2856
  export interface GetGeolocationAction extends AsyncAction {
2651
2857
  type: 'get_geolocation';
2652
2858
  }
2859
+ /**
2860
+ * Defines the possible geolocation results.
2861
+ *
2862
+ * @dochash types/os
2863
+ * @doctitle OS Types
2864
+ * @docsidebar OS
2865
+ * @docdescription Defines the types that are used by OS actions.
2866
+ * @docgroup 01-geo
2867
+ * @docorder 0
2868
+ * @docname Geolocation
2869
+ */
2870
+ export type Geolocation = SuccessfulGeolocation | UnsuccessfulGeolocation;
2871
+ /**
2872
+ * Defines an interface that represents a successful geolocation result.
2873
+ *
2874
+ * @dochash types/os
2875
+ * @docgroup 01-geo
2876
+ * @docorder 1
2877
+ * @docname SuccessfulGeolocation
2878
+ */
2653
2879
  export interface SuccessfulGeolocation {
2654
2880
  success: true;
2655
2881
  /**
@@ -2690,6 +2916,14 @@ export interface SuccessfulGeolocation {
2690
2916
  */
2691
2917
  timestamp: number;
2692
2918
  }
2919
+ /**
2920
+ * Defines an interface that represents an unsuccessful geolocation result.
2921
+ *
2922
+ * @dochash types/os
2923
+ * @docgroup 01-geo
2924
+ * @docorder 2
2925
+ * @docname UnsuccessfulGeolocation
2926
+ */
2693
2927
  export interface UnsuccessfulGeolocation {
2694
2928
  success: false;
2695
2929
  /**
@@ -2701,12 +2935,11 @@ export interface UnsuccessfulGeolocation {
2701
2935
  */
2702
2936
  errorMessage?: string;
2703
2937
  }
2704
- /**
2705
- * Defines an interface that represents a geolocation result.
2706
- */
2707
- export type Geolocation = SuccessfulGeolocation | UnsuccessfulGeolocation;
2708
2938
  /**
2709
2939
  * Defines an interface that contains recorded data.
2940
+ *
2941
+ * @dochash types/experimental
2942
+ * @docname Recording
2710
2943
  */
2711
2944
  export interface Recording {
2712
2945
  /**
@@ -2714,6 +2947,12 @@ export interface Recording {
2714
2947
  */
2715
2948
  files: RecordedFile[];
2716
2949
  }
2950
+ /**
2951
+ * Defines an interface that represents a recorded file.
2952
+ *
2953
+ * @dochash types/experimental
2954
+ * @docname RecordedFile
2955
+ */
2717
2956
  export interface RecordedFile {
2718
2957
  /**
2719
2958
  * Whether the file contains the recorded audio.
@@ -2809,6 +3048,12 @@ export interface DefineGlobalBotAction extends AsyncAction {
2809
3048
  export declare const APPROVED_SYMBOL: unique symbol;
2810
3049
  /**
2811
3050
  * Defines an interface that represents the base for options for a records action.
3051
+ *
3052
+ * @dochash types/records/extra
3053
+ * @doctitle Extra Record Types
3054
+ * @docsidebar Extra
3055
+ * @docdescription Extra types that are used for records.
3056
+ * @docname RecordActionOptions
2812
3057
  */
2813
3058
  export interface RecordActionOptions {
2814
3059
  /**
@@ -2828,12 +3073,18 @@ export interface RecordsAction extends AsyncAction {
2828
3073
  /**
2829
3074
  * Defines a type that represents a policy that indicates which users are allowed to affect a record.
2830
3075
  *
2831
- * True indicates that any user can edit the record.
2832
- * An array of strings indicates the list of users that are allowed to edit the record.
3076
+ * - `true` indicates that any user can edit the record.
3077
+ * - An array of strings indicates the list of users that are allowed to edit the record.
3078
+ *
3079
+ * @dochash types/records
3080
+ * @docname RecordUserPolicyType
2833
3081
  */
2834
3082
  export type RecordUserPolicyType = true | string[];
2835
3083
  /**
2836
3084
  * The options for data record actions.
3085
+ *
3086
+ * @dochash types/records
3087
+ * @docName DataRecordOptions
2837
3088
  */
2838
3089
  export interface DataRecordOptions extends RecordActionOptions {
2839
3090
  /**
@@ -2848,6 +3099,10 @@ export interface DataRecordOptions extends RecordActionOptions {
2848
3099
  * The markers that should be applied to the record.
2849
3100
  */
2850
3101
  markers?: string[];
3102
+ /**
3103
+ * The marker that should be applied to the record.
3104
+ */
3105
+ marker?: string;
2851
3106
  }
2852
3107
  /**
2853
3108
  * Defines an interface that represents the base for actions that deal with data records.
@@ -3030,6 +3285,11 @@ export interface GetRecordsActionResult {
3030
3285
  }
3031
3286
  /**
3032
3287
  * Defines an interface that represents options for converting a geolocation to a what3words address.
3288
+ *
3289
+ * @dochash types/os
3290
+ * @docgroup 01-geo
3291
+ * @docorder 3
3292
+ * @docname ConvertGeolocationToWhat3WordsOptions
3033
3293
  */
3034
3294
  export interface ConvertGeolocationToWhat3WordsOptions {
3035
3295
  /**
@@ -3173,6 +3433,12 @@ export interface RevokeRoleAction extends RecordsAction {
3173
3433
  */
3174
3434
  inst?: string;
3175
3435
  }
3436
+ /**
3437
+ * Defines an interface that represents options for requesting media permissions.
3438
+ *
3439
+ * @dochash types/os
3440
+ * @docname MediaPermissionOptions
3441
+ */
3176
3442
  export interface MediaPermssionOptions {
3177
3443
  /**
3178
3444
  * Should include audio permission.
@@ -3195,6 +3461,10 @@ export interface MediaPermissionAction extends AsyncAction, MediaPermssionOption
3195
3461
  export interface GetAverageFrameRateAction extends AsyncAction {
3196
3462
  type: 'get_average_frame_rate';
3197
3463
  }
3464
+ /**
3465
+ * @docid JoinRoomActionOptions
3466
+ * @docrename RoomJoinOptions
3467
+ */
3198
3468
  export type JoinRoomActionOptions = RecordActionOptions & Partial<RoomJoinOptions>;
3199
3469
  /**
3200
3470
  * Defines an event that attempts to join a meeting room.
@@ -3236,6 +3506,9 @@ export interface SetRoomOptionsAction extends AsyncAction {
3236
3506
  }
3237
3507
  /**
3238
3508
  * Defines a set of options that the local user can have for a room.
3509
+ *
3510
+ * @dochash types/os
3511
+ * @docname RoomOptions
3239
3512
  */
3240
3513
  export interface RoomOptions {
3241
3514
  /**
@@ -3253,6 +3526,9 @@ export interface RoomOptions {
3253
3526
  }
3254
3527
  /**
3255
3528
  * Defines a set of options that the local usr can specify when joining a room.
3529
+ *
3530
+ * @dochash types/os
3531
+ * @docname RoomJoinOptions
3256
3532
  */
3257
3533
  export interface RoomJoinOptions extends RoomOptions {
3258
3534
  /**
@@ -3320,6 +3596,12 @@ export interface SetRoomTrackOptionsAction extends AsyncAction {
3320
3596
  */
3321
3597
  options: SetRoomTrackOptions;
3322
3598
  }
3599
+ /**
3600
+ * Defines an interface that represents the set of options that can be set on a room video/audio track.
3601
+ *
3602
+ * @dochash types/os
3603
+ * @docname SetRoomTrackOptions
3604
+ */
3323
3605
  export interface SetRoomTrackOptions {
3324
3606
  /**
3325
3607
  * Whether to mute the track locally.
@@ -3331,6 +3613,12 @@ export interface SetRoomTrackOptions {
3331
3613
  */
3332
3614
  videoQuality?: TrackVideoQuality;
3333
3615
  }
3616
+ /**
3617
+ * Defines an interface that represents the options that a audio/video track has.
3618
+ *
3619
+ * @dochash types/os
3620
+ * @docname RoomTrackOptions
3621
+ */
3334
3622
  export interface RoomTrackOptions {
3335
3623
  /**
3336
3624
  * Whether the track is being sourced from a remote user.
@@ -3370,6 +3658,12 @@ export interface RoomTrackOptions {
3370
3658
  }
3371
3659
  export type TrackKind = 'video' | 'audio';
3372
3660
  export type TrackSource = 'camera' | 'microphone' | 'screen_share' | 'screen_share_audio';
3661
+ /**
3662
+ * Defines the possible qualities that a track can stream at.
3663
+ *
3664
+ * @dochash types/os
3665
+ * @docname TrackVideoQuality
3666
+ */
3373
3667
  export type TrackVideoQuality = 'high' | 'medium' | 'low' | 'off';
3374
3668
  /**
3375
3669
  * Defines an event that retrieves the options for a remote multimedia chat room user.
@@ -3387,6 +3681,9 @@ export interface GetRoomRemoteOptionsAction extends AsyncAction {
3387
3681
  }
3388
3682
  /**
3389
3683
  * Defines an interface that contains options for a remote room user.
3684
+ *
3685
+ * @dochash types/os
3686
+ * @docname RoomRemoteOptions
3390
3687
  */
3391
3688
  export interface RoomRemoteOptions {
3392
3689
  /**
@@ -3469,6 +3766,9 @@ export interface BufferFormAddressGLTFAction extends AsyncAction {
3469
3766
  }
3470
3767
  /**
3471
3768
  * Defines an interface that contains a bunch of options for starting an animation.
3769
+ *
3770
+ * @dochash types/os
3771
+ * @docname StartFormAnimationOptions
3472
3772
  */
3473
3773
  export interface StartFormAnimationOptions {
3474
3774
  /**
@@ -3539,6 +3839,9 @@ export interface StartFormAnimationAction extends AsyncAction, StartFormAnimatio
3539
3839
  }
3540
3840
  /**
3541
3841
  * Defines an interface that contains a bunch of options for stopping an animation.
3842
+ *
3843
+ * @dochash types/os
3844
+ * @docname StopFormAnimationOptions
3542
3845
  */
3543
3846
  export interface StopFormAnimationOptions {
3544
3847
  /**
@@ -3573,6 +3876,9 @@ export interface ListFormAnimationsAction extends AsyncAction {
3573
3876
  }
3574
3877
  /**
3575
3878
  * Defines an interface that contains animation information.
3879
+ *
3880
+ * @dochash types/os
3881
+ * @docname FormAnimationData
3576
3882
  */
3577
3883
  export interface FormAnimationData {
3578
3884
  /**
@@ -3862,6 +4168,13 @@ export declare function showQRCode(open: boolean, code?: string): ShowQRCodeActi
3862
4168
  * @param cameraType The camera type that should be used.
3863
4169
  */
3864
4170
  export declare function openBarcodeScanner(open: boolean, cameraType?: CameraType): OpenBarcodeScannerAction;
4171
+ /**
4172
+ * Creates a new OpenPhotoCameraAction.
4173
+ * @param open Whether the barcode scanner should be open or closed.
4174
+ * @param singlePhoto Whether only a single photo should be taken.
4175
+ * @param cameraType The camera type that should be used.
4176
+ */
4177
+ export declare function openPhotoCamera(open: boolean, singlePhoto: boolean, options?: OpenPhotoCameraOptions, taskId?: string | number): OpenPhotoCameraAction;
3865
4178
  /**
3866
4179
  * Creates a new ShowBarcodeAction.
3867
4180
  * @param open Whether the barcode should be visible.