@decky/ui 4.9.1 → 4.10.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 (184) hide show
  1. package/dist/components/SidebarNavigation.d.ts +1 -1
  2. package/dist/globals/SteamClient.d.ts +1 -304
  3. package/dist/globals/steam-client/App.d.ts +880 -0
  4. package/dist/globals/steam-client/App.js +320 -0
  5. package/dist/globals/steam-client/Auth.d.ts +57 -0
  6. package/dist/globals/steam-client/Auth.js +19 -0
  7. package/dist/globals/steam-client/Broadcast.d.ts +22 -0
  8. package/dist/globals/steam-client/Broadcast.js +1 -0
  9. package/dist/globals/steam-client/Browser.d.ts +45 -0
  10. package/dist/globals/steam-client/Browser.js +17 -0
  11. package/dist/globals/steam-client/ClientNotifications.d.ts +20 -0
  12. package/dist/globals/steam-client/ClientNotifications.js +6 -0
  13. package/dist/globals/steam-client/Cloud.d.ts +4 -0
  14. package/dist/globals/steam-client/Cloud.js +1 -0
  15. package/dist/globals/steam-client/CommunityItems.d.ts +5 -0
  16. package/dist/globals/steam-client/CommunityItems.js +1 -0
  17. package/dist/globals/steam-client/Console.d.ts +11 -0
  18. package/dist/globals/steam-client/Console.js +1 -0
  19. package/dist/globals/steam-client/Customization.d.ts +8 -0
  20. package/dist/globals/steam-client/Customization.js +1 -0
  21. package/dist/globals/steam-client/Downloads.d.ts +63 -0
  22. package/dist/globals/steam-client/Downloads.js +1 -0
  23. package/dist/globals/steam-client/FamilySharing.d.ts +20 -0
  24. package/dist/globals/steam-client/FamilySharing.js +1 -0
  25. package/dist/globals/steam-client/FriendSettings.d.ts +49 -0
  26. package/dist/globals/steam-client/FriendSettings.js +6 -0
  27. package/dist/globals/steam-client/Friends.d.ts +27 -0
  28. package/dist/globals/steam-client/Friends.js +1 -0
  29. package/dist/globals/steam-client/GameNotes.d.ts +41 -0
  30. package/dist/globals/steam-client/GameNotes.js +1 -0
  31. package/dist/globals/steam-client/GameRecording.d.ts +20 -0
  32. package/dist/globals/steam-client/GameRecording.js +1 -0
  33. package/dist/globals/steam-client/GameSessions.d.ts +26 -0
  34. package/dist/globals/steam-client/GameSessions.js +1 -0
  35. package/dist/globals/steam-client/Input.d.ts +421 -0
  36. package/dist/globals/steam-client/Input.js +170 -0
  37. package/dist/globals/steam-client/InstallFolder.d.ts +57 -0
  38. package/dist/globals/steam-client/InstallFolder.js +1 -0
  39. package/dist/globals/steam-client/Installs.d.ts +60 -0
  40. package/dist/globals/steam-client/Installs.js +20 -0
  41. package/dist/globals/steam-client/Messaging.d.ts +5 -0
  42. package/dist/globals/steam-client/Messaging.js +1 -0
  43. package/dist/globals/steam-client/Music.d.ts +36 -0
  44. package/dist/globals/steam-client/Music.js +14 -0
  45. package/dist/globals/steam-client/Notifications.d.ts +260 -0
  46. package/dist/globals/steam-client/Notifications.js +73 -0
  47. package/dist/globals/steam-client/OpenVR.d.ts +85 -0
  48. package/dist/globals/steam-client/OpenVR.js +16 -0
  49. package/dist/globals/steam-client/Overlay.d.ts +58 -0
  50. package/dist/globals/steam-client/Overlay.js +18 -0
  51. package/dist/globals/steam-client/Parental.d.ts +69 -0
  52. package/dist/globals/steam-client/Parental.js +19 -0
  53. package/dist/globals/steam-client/RemotePlay.d.ts +225 -0
  54. package/dist/globals/steam-client/RemotePlay.js +71 -0
  55. package/dist/globals/steam-client/Screenshots.d.ts +47 -0
  56. package/dist/globals/steam-client/Screenshots.js +8 -0
  57. package/dist/globals/steam-client/ServerBrowser.d.ts +117 -0
  58. package/dist/globals/steam-client/ServerBrowser.js +26 -0
  59. package/dist/globals/steam-client/Settings.d.ts +398 -0
  60. package/dist/globals/steam-client/Settings.js +96 -0
  61. package/dist/globals/steam-client/SharedConnection.d.ts +22 -0
  62. package/dist/globals/steam-client/SharedConnection.js +1 -0
  63. package/dist/globals/steam-client/Stats.d.ts +4 -0
  64. package/dist/globals/steam-client/Stats.js +1 -0
  65. package/dist/globals/steam-client/SteamChina.d.ts +3 -0
  66. package/dist/globals/steam-client/SteamChina.js +1 -0
  67. package/dist/globals/steam-client/Storage.d.ts +8 -0
  68. package/dist/globals/steam-client/Storage.js +1 -0
  69. package/dist/globals/steam-client/Streaming.d.ts +15 -0
  70. package/dist/globals/steam-client/Streaming.js +1 -0
  71. package/dist/globals/steam-client/UI.d.ts +44 -0
  72. package/dist/globals/steam-client/UI.js +12 -0
  73. package/dist/globals/steam-client/URL.d.ts +16 -0
  74. package/dist/globals/steam-client/URL.js +1 -0
  75. package/dist/globals/steam-client/Updates.d.ts +68 -0
  76. package/dist/globals/steam-client/Updates.js +34 -0
  77. package/dist/globals/steam-client/User.d.ts +130 -0
  78. package/dist/globals/steam-client/User.js +33 -0
  79. package/dist/globals/steam-client/WebChat.d.ts +60 -0
  80. package/dist/globals/steam-client/WebChat.js +6 -0
  81. package/dist/globals/steam-client/WebUITransport.d.ts +11 -0
  82. package/dist/globals/steam-client/WebUITransport.js +1 -0
  83. package/dist/globals/steam-client/Window.d.ts +66 -0
  84. package/dist/globals/steam-client/Window.js +6 -0
  85. package/dist/globals/steam-client/browser-view/BrowserViewPopup.d.ts +124 -0
  86. package/dist/globals/steam-client/browser-view/BrowserViewPopup.js +35 -0
  87. package/dist/globals/steam-client/browser-view/index.d.ts +20 -0
  88. package/dist/globals/steam-client/browser-view/index.js +1 -0
  89. package/dist/globals/steam-client/index.d.ts +89 -0
  90. package/dist/globals/steam-client/index.js +1 -0
  91. package/dist/globals/steam-client/shared.d.ts +166 -0
  92. package/dist/globals/steam-client/shared.js +146 -0
  93. package/dist/globals/steam-client/system/Audio.d.ts +42 -0
  94. package/dist/globals/steam-client/system/Audio.js +1 -0
  95. package/dist/globals/steam-client/system/AudioDevice.d.ts +92 -0
  96. package/dist/globals/steam-client/system/AudioDevice.js +33 -0
  97. package/dist/globals/steam-client/system/Bluetooth.d.ts +47 -0
  98. package/dist/globals/steam-client/system/Bluetooth.js +15 -0
  99. package/dist/globals/steam-client/system/Devkit.d.ts +7 -0
  100. package/dist/globals/steam-client/system/Devkit.js +1 -0
  101. package/dist/globals/steam-client/system/Display.d.ts +10 -0
  102. package/dist/globals/steam-client/system/Display.js +1 -0
  103. package/dist/globals/steam-client/system/DisplayManager.d.ts +9 -0
  104. package/dist/globals/steam-client/system/DisplayManager.js +1 -0
  105. package/dist/globals/steam-client/system/Dock.d.ts +19 -0
  106. package/dist/globals/steam-client/system/Dock.js +1 -0
  107. package/dist/globals/steam-client/system/Perf.d.ts +159 -0
  108. package/dist/globals/steam-client/system/Perf.js +53 -0
  109. package/dist/globals/steam-client/system/Report.d.ts +13 -0
  110. package/dist/globals/steam-client/system/Report.js +1 -0
  111. package/dist/globals/steam-client/system/UI.d.ts +28 -0
  112. package/dist/globals/steam-client/system/UI.js +1 -0
  113. package/dist/globals/steam-client/system/index.d.ts +243 -0
  114. package/dist/globals/steam-client/system/index.js +111 -0
  115. package/dist/globals/steam-client/system/network/Device.d.ts +10 -0
  116. package/dist/globals/steam-client/system/network/Device.js +1 -0
  117. package/dist/globals/steam-client/system/network/index.d.ts +312 -0
  118. package/dist/globals/steam-client/system/network/index.js +55 -0
  119. package/dist/globals/stores.d.ts +26 -13
  120. package/dist/modules/Router.d.ts +2 -39
  121. package/dist/modules/Router.js +0 -39
  122. package/package.json +1 -1
  123. package/src/components/SidebarNavigation.ts +1 -1
  124. package/src/globals/SteamClient.ts +4 -320
  125. package/src/globals/steam-client/App.ts +1749 -0
  126. package/src/globals/steam-client/Auth.ts +105 -0
  127. package/src/globals/steam-client/Broadcast.ts +56 -0
  128. package/src/globals/steam-client/Browser.ts +91 -0
  129. package/src/globals/steam-client/ClientNotifications.ts +39 -0
  130. package/src/globals/steam-client/Cloud.ts +14 -0
  131. package/src/globals/steam-client/CommunityItems.ts +24 -0
  132. package/src/globals/steam-client/Console.ts +43 -0
  133. package/src/globals/steam-client/Customization.ts +12 -0
  134. package/src/globals/steam-client/Downloads.ts +175 -0
  135. package/src/globals/steam-client/FamilySharing.ts +30 -0
  136. package/src/globals/steam-client/FriendSettings.ts +80 -0
  137. package/src/globals/steam-client/Friends.ts +70 -0
  138. package/src/globals/steam-client/GameNotes.ts +73 -0
  139. package/src/globals/steam-client/GameRecording.ts +29 -0
  140. package/src/globals/steam-client/GameSessions.ts +59 -0
  141. package/src/globals/steam-client/Input.ts +762 -0
  142. package/src/globals/steam-client/InstallFolder.ts +167 -0
  143. package/src/globals/steam-client/Installs.ts +131 -0
  144. package/src/globals/steam-client/Messaging.ts +20 -0
  145. package/src/globals/steam-client/Music.ts +99 -0
  146. package/src/globals/steam-client/Notifications.ts +333 -0
  147. package/src/globals/steam-client/OpenVR.ts +122 -0
  148. package/src/globals/steam-client/Overlay.ts +172 -0
  149. package/src/globals/steam-client/Parental.ts +129 -0
  150. package/src/globals/steam-client/RemotePlay.ts +342 -0
  151. package/src/globals/steam-client/Screenshots.ts +149 -0
  152. package/src/globals/steam-client/ServerBrowser.ts +372 -0
  153. package/src/globals/steam-client/Settings.ts +663 -0
  154. package/src/globals/steam-client/SharedConnection.ts +43 -0
  155. package/src/globals/steam-client/Stats.ts +10 -0
  156. package/src/globals/steam-client/SteamChina.ts +3 -0
  157. package/src/globals/steam-client/Storage.ts +24 -0
  158. package/src/globals/steam-client/Streaming.ts +59 -0
  159. package/src/globals/steam-client/UI.ts +90 -0
  160. package/src/globals/steam-client/URL.ts +174 -0
  161. package/src/globals/steam-client/Updates.ts +101 -0
  162. package/src/globals/steam-client/User.ts +266 -0
  163. package/src/globals/steam-client/WebChat.ts +164 -0
  164. package/src/globals/steam-client/WebUITransport.ts +21 -0
  165. package/src/globals/steam-client/Window.ts +235 -0
  166. package/src/globals/steam-client/browser-view/BrowserViewPopup.ts +393 -0
  167. package/src/globals/steam-client/browser-view/index.ts +54 -0
  168. package/src/globals/steam-client/index.ts +90 -0
  169. package/src/globals/steam-client/shared.ts +262 -0
  170. package/src/globals/steam-client/system/Audio.ts +202 -0
  171. package/src/globals/steam-client/system/AudioDevice.ts +116 -0
  172. package/src/globals/steam-client/system/Bluetooth.ts +171 -0
  173. package/src/globals/steam-client/system/Devkit.ts +11 -0
  174. package/src/globals/steam-client/system/Display.ts +15 -0
  175. package/src/globals/steam-client/system/DisplayManager.ts +16 -0
  176. package/src/globals/steam-client/system/Dock.ts +34 -0
  177. package/src/globals/steam-client/system/Perf.ts +194 -0
  178. package/src/globals/steam-client/system/Report.ts +39 -0
  179. package/src/globals/steam-client/system/UI.ts +38 -0
  180. package/src/globals/steam-client/system/index.ts +390 -0
  181. package/src/globals/steam-client/system/network/Device.ts +17 -0
  182. package/src/globals/steam-client/system/network/index.ts +403 -0
  183. package/src/globals/stores.ts +30 -13
  184. package/src/modules/Router.ts +2 -40
@@ -0,0 +1,333 @@
1
+ import { JsPbMessage, Unregisterable } from "./shared";
2
+
3
+ /**
4
+ * Everything is taken from here:
5
+ * https://github.com/SteamDatabase/SteamTracking/blob/master/Protobufs/steammessages_clientnotificationtypes.proto
6
+ */
7
+ export interface Notifications {
8
+ /**
9
+ * If `data` is deserialized, returns one of the following here: {@link Notifications}
10
+ * @returns an object that can be used to unregister the callback.
11
+ */
12
+ RegisterForNotifications(
13
+ callback: (notificationIndex: number, type: EClientNotificationType, data: ArrayBuffer) => void,
14
+ ): Unregisterable;
15
+ }
16
+
17
+ export enum EClientNotificationType {
18
+ Invalid,
19
+ DownloadComplete,
20
+ FriendInvite,
21
+ FriendInGame,
22
+ FriendOnline,
23
+ Achievement,
24
+ LowBattery,
25
+ SystemUpdate,
26
+ FriendMessage,
27
+ GroupChatMessage,
28
+ FriendInviteRollup,
29
+ FamilySharingDeviceAuthorizationChanged,
30
+ FamilySharingStopPlaying,
31
+ FamilySharingLibraryAvailable,
32
+ Screenshot,
33
+ CloudSyncFailure,
34
+ CloudSyncConflict,
35
+ IncomingVoiceChat,
36
+ ClaimSteamDeckRewards,
37
+ GiftReceived,
38
+ ItemAnnouncement,
39
+ HardwareSurvey,
40
+ LowDiskSpace,
41
+ BatteryTemperature,
42
+ DockUnsupportedFirmware,
43
+ PeerContentUpload,
44
+ CannotReadControllerGuideButton,
45
+ Comment,
46
+ Wishlist,
47
+ TradeOffer,
48
+ AsyncGame,
49
+ General,
50
+ HelpRequest,
51
+ OverlaySplashScreen,
52
+ BroadcastAvailableToWatch,
53
+ TimedTrialRemaining,
54
+ LoginRefresh,
55
+ MajorSale,
56
+ TimerExpired,
57
+ ModeratorMsg,
58
+ SteamInputActionSetChanged,
59
+ RemoteClientConnection,
60
+ RemoteClientStartStream,
61
+ StreamingClientConnection,
62
+ FamilyInvite,
63
+ PlaytimeWarning,
64
+ FamilyPurchaseRequest,
65
+ FamilyPurchaseRequestResponse,
66
+ ParentalFeatureRequest,
67
+ ParentalPlaytimeRequest,
68
+ GameRecordingError,
69
+ ParentalFeatureResponse,
70
+ ParentalPlaytimeResponse,
71
+ RequestedGameAdded,
72
+ ClipDownloaded,
73
+ GameRecordingStart,
74
+ GameRecordingStop,
75
+ GameRecordingUserMarkerAdded,
76
+ GameRecordingInstantClip,
77
+ }
78
+
79
+ export enum ESystemUpdateNotificationType {
80
+ Invalid,
81
+ Available,
82
+ NeedsRestart,
83
+ }
84
+
85
+ export enum EGameRecordingErrorType {
86
+ General = 1,
87
+ LowDiskSpace,
88
+ }
89
+
90
+ export interface ClientNotificationGroupChatMessage extends JsPbMessage {
91
+ tag(): string;
92
+
93
+ /** A Steam64 ID. */
94
+ steamid_sender(): string;
95
+
96
+ chat_group_id(): string;
97
+
98
+ chat_id(): string;
99
+
100
+ title(): string;
101
+
102
+ body(): string;
103
+
104
+ rawbody(): string;
105
+
106
+ icon(): string;
107
+
108
+ notificationid(): number;
109
+ }
110
+
111
+ export interface ClientNotificationFriendMessage extends JsPbMessage {
112
+ body(): string;
113
+
114
+ icon(): string;
115
+
116
+ notificationid(): number;
117
+
118
+ response_steamurl(): string;
119
+
120
+ /** A Steam64 ID. */
121
+ steamid(): string;
122
+
123
+ tag(): string;
124
+
125
+ title(): string;
126
+ }
127
+
128
+ export interface ClientNotificationCloudSyncFailure extends JsPbMessage {
129
+ appid(): number;
130
+ }
131
+
132
+ export interface ClientNotificationCloudSyncConflict extends JsPbMessage {
133
+ appid(): number;
134
+ }
135
+
136
+ export interface ClientNotificationScreenshot extends JsPbMessage {
137
+ screenshot_handle(): string;
138
+ description(): string;
139
+ local_url(): string;
140
+ }
141
+
142
+ export interface ClientNotificationDownloadCompleted extends JsPbMessage {
143
+ appid(): number;
144
+ dlc_appid(): number;
145
+ }
146
+
147
+ export interface ClientNotificationFriendInvite extends JsPbMessage {
148
+ steamid(): number;
149
+ }
150
+
151
+ export interface ClientNotificationFriendInviteRollup extends JsPbMessage {
152
+ new_invite_count(): number;
153
+ }
154
+
155
+ export interface ClientNotificationFriendInGame extends JsPbMessage {
156
+ steamid(): number;
157
+ game_name(): string;
158
+ }
159
+
160
+ export interface ClientNotificationFriendOnline extends JsPbMessage {
161
+ steamid(): number;
162
+ }
163
+
164
+ export interface ClientNotificationAchievement extends JsPbMessage {
165
+ achievement_id(): string;
166
+ appid(): number;
167
+ name(): string;
168
+ description(): string;
169
+ image_url(): string;
170
+ achieved(): boolean;
171
+ rtime_unlocked(): number;
172
+ min_progress(): number;
173
+ current_progress(): number;
174
+ max_progress(): number;
175
+ global_achieved_pct(): number;
176
+ }
177
+
178
+ export interface ClientNotificationLowBattery extends JsPbMessage {
179
+ pct_remaining(): number;
180
+ }
181
+
182
+ export interface ClientNotificationSystemUpdate extends JsPbMessage {
183
+ type(): ESystemUpdateNotificationType;
184
+ }
185
+
186
+ export interface ClientNotificationFriendMessage extends JsPbMessage {
187
+ tag(): string;
188
+ steamid(): string;
189
+ title(): string;
190
+ body(): string;
191
+ icon(): string;
192
+ notificationid(): number;
193
+ response_steamurl(): string;
194
+ }
195
+
196
+ export interface ClientNotificationGroupChatMessage extends JsPbMessage {
197
+ tag(): string;
198
+ steamid_sender(): string;
199
+ chat_group_id(): string;
200
+ chat_id(): string;
201
+ title(): string;
202
+ body(): string;
203
+ rawbody(): string;
204
+ icon(): string;
205
+ notificationid(): number;
206
+ }
207
+
208
+ export interface ClientNotificationFamilySharingDeviceAuthorizationChanged extends JsPbMessage {
209
+ accountid_owner(): number;
210
+ authorized(): boolean;
211
+ }
212
+
213
+ export interface ClientNotificationFamilySharingStopPlaying extends JsPbMessage {
214
+ accountid_owner(): number;
215
+ seconds_remaining(): number;
216
+ appid(): number;
217
+ }
218
+
219
+ export interface ClientNotificationFamilySharingLibraryAvailable extends JsPbMessage {
220
+ accountid_owner(): number;
221
+ }
222
+
223
+ export interface ClientNotificationIncomingVoiceChat extends JsPbMessage {
224
+ steamid(): number;
225
+ }
226
+
227
+ export interface ClientNotificationClaimSteamDeckRewards extends JsPbMessage {
228
+ }
229
+
230
+ export interface ClientNotificationGiftReceived extends JsPbMessage {
231
+ sender_name(): string;
232
+ }
233
+
234
+ export interface ClientNotificationItemAnnouncement extends JsPbMessage {
235
+ new_item_count(): number;
236
+ new_backpack_items(): boolean;
237
+ }
238
+
239
+ export interface ClientNotificationHardwareSurveyPending extends JsPbMessage {
240
+ }
241
+
242
+ export interface ClientNotificationLowDiskSpace extends JsPbMessage {
243
+ folder_index(): number;
244
+ }
245
+
246
+ export interface ClientNotificationBatteryTemperature extends JsPbMessage {
247
+ temperature(): number;
248
+ notification_type(): string;
249
+ }
250
+
251
+ export interface ClientNotificationDockUnsupportedFirmware extends JsPbMessage {
252
+ }
253
+
254
+ export interface ClientNotificationPeerContentUpload extends JsPbMessage {
255
+ appid(): number;
256
+ peer_name(): string;
257
+ }
258
+
259
+ export interface ClientNotificationCannotReadControllerGuideButton extends JsPbMessage {
260
+ controller_index(): number;
261
+ }
262
+
263
+ export interface ClientNotificationOverlaySplashScreen extends JsPbMessage {
264
+ }
265
+
266
+ export interface ClientNotificationBroadcastAvailableToWatch extends JsPbMessage {
267
+ broadcast_permission(): number;
268
+ }
269
+
270
+ export interface ClientNotificationTimedTrialRemaining extends JsPbMessage {
271
+ appid(): number;
272
+ icon(): string;
273
+ offline(): boolean;
274
+ allowed_seconds(): number;
275
+ played_seconds(): number;
276
+ }
277
+
278
+ export interface ClientNotificationLoginRefresh extends JsPbMessage {
279
+ }
280
+
281
+ export interface ClientNotificationTimerExpired extends JsPbMessage {
282
+ }
283
+
284
+ export interface ClientNotificationSteamInputActionSetChanged extends JsPbMessage {
285
+ controller_index(): number;
286
+ action_set_name(): string;
287
+ }
288
+
289
+ export interface ClientNotificationRemoteClientConnection extends JsPbMessage {
290
+ machine(): string;
291
+ connected(): boolean;
292
+ }
293
+
294
+ export interface ClientNotificationRemoteClientStartStream extends JsPbMessage {
295
+ machine(): string;
296
+ game_name(): string;
297
+ }
298
+
299
+ export interface ClientNotificationStreamingClientConnection extends JsPbMessage {
300
+ hostname(): string;
301
+ machine(): string;
302
+ connected(): boolean;
303
+ }
304
+
305
+ export interface ClientNotificationPlaytimeWarning extends JsPbMessage {
306
+ type(): string;
307
+ playtime_remaining(): number;
308
+ }
309
+
310
+ export interface ClientNotificationGameRecordingError extends JsPbMessage {
311
+ game_id(): number;
312
+ error_type(): EGameRecordingErrorType;
313
+ }
314
+
315
+ export interface ClientNotificationGameRecordingStart extends JsPbMessage {
316
+ game_id(): number;
317
+ }
318
+
319
+ export interface ClientNotificationGameRecordingStop extends JsPbMessage {
320
+ game_id(): number;
321
+ clip_id(): string;
322
+ duration_secs(): number;
323
+ }
324
+
325
+ export interface ClientNotificationGameRecordingUserMarkerAdded extends JsPbMessage {
326
+ game_id(): number;
327
+ }
328
+
329
+ export interface CClientNotificationGameRecordingInstantClip extends JsPbMessage {
330
+ game_id(): number;
331
+ clip_id(): string;
332
+ duration_secs(): number;
333
+ }
@@ -0,0 +1,122 @@
1
+ import { Unregisterable } from "./shared";
2
+
3
+
4
+ export interface OpenVR {
5
+ Device: VRDevice;
6
+ DeviceProperties: DeviceProperties;
7
+
8
+ /**
9
+ * @throws OperationResponse if mutual capabilities haven't been loaded.
10
+ */
11
+ GetMutualCapabilities(): Promise<any>;
12
+
13
+ GetWebSecret(): Promise<string>;
14
+
15
+ InstallVR(): any;
16
+
17
+ Keyboard: Keyboard;
18
+ PathProperties: PathProperties;
19
+
20
+ QuitAllVR(): any;
21
+
22
+ RegisterForButtonPress: Unregisterable;
23
+
24
+ RegisterForHMDActivityLevelChanged(callback: (m_eHMDActivityLevel: EHMDActivityLevel) => void): Unregisterable;
25
+
26
+ RegisterForInstallDialog: Unregisterable;
27
+
28
+ RegisterForStartupErrors(callback: (clientError: any, initError: any, initErrorString: string) => void): Unregisterable;
29
+
30
+ RegisterForVRHardwareDetected(callback: (m_bHMDPresent: any, m_bHMDHardwareDetected: any, m_strHMDName: any) => void): Unregisterable;
31
+
32
+ RegisterForVRModeChange(callback: (m_bIsVRRunning: boolean) => void): Unregisterable;
33
+
34
+ RegisterForVRSceneAppChange(callback: (param0: number) => void): Unregisterable;
35
+
36
+ SetOverlayInteractionAffordance: any;
37
+
38
+ StartVR: any;
39
+ TriggerOverlayHapticEffect: any;
40
+ VRNotifications: VRNotifications;
41
+ VROverlay: VROverlay;
42
+ }
43
+
44
+ export interface VRDevice {
45
+ BIsConnected: any;
46
+ RegisterForDeviceConnectivityChange: Unregisterable;
47
+
48
+ RegisterForVRDeviceSeenRecently(callback: (m_bVRDeviceSeenRecently: any) => void): Unregisterable;
49
+ }
50
+
51
+ export interface DeviceProperties {
52
+ GetBoolDeviceProperty: any;
53
+ GetDoubleDeviceProperty: any;
54
+ GetFloatDeviceProperty: any;
55
+ GetInt32DeviceProperty: any;
56
+ GetStringDeviceProperty: any;
57
+ RegisterForDevicePropertyChange: Unregisterable;
58
+ }
59
+
60
+ export interface Keyboard {
61
+ Hide(): any;
62
+
63
+ /**
64
+ * {@link EKeyboardFlags} could be useful here
65
+ */
66
+ RegisterForStatus(callback: (m_bIsKeyboardOpen: boolean, m_eKeyboardFlags: number, m_sInitialKeyboardText: string) => void): Unregisterable;
67
+
68
+ SendDone(): any;
69
+
70
+ SendText(key: string): any; //???
71
+ Show(): any;
72
+ }
73
+
74
+ export interface PathProperties {
75
+ GetBoolPathProperty: any;
76
+ GetDoublePathProperty: any;
77
+ GetFloatPathProperty: any;
78
+ GetInt32PathProperty: any;
79
+ GetStringPathProperty: any;
80
+ RegisterForPathPropertyChange: any;
81
+ SetBoolPathProperty: any;
82
+ SetDoublePathProperty: any;
83
+ SetFloatPathProperty: any;
84
+ SetInt32PathProperty: any;
85
+ SetStringPathProperty: any;
86
+ }
87
+
88
+ export interface VRNotifications {
89
+ HideCustomNotification: any;
90
+ RegisterForNotificationEvent: Unregisterable;
91
+ ShowCustomNotification: any;
92
+ }
93
+
94
+ export interface VROverlay {
95
+ HideDashboard: any;
96
+
97
+ IsDashboardVisible(): Promise<boolean>;
98
+
99
+ RegisterForButtonPress: Unregisterable;
100
+ RegisterForCursorMovement: Unregisterable;
101
+ RegisterForThumbnailChanged: Unregisterable;
102
+ RegisterForVisibilityChanged: Unregisterable;
103
+ ShowDashboard: any;
104
+
105
+ SwitchToDashboardOverlay(param0: string): void;
106
+ }
107
+
108
+ export enum EHMDActivityLevel {
109
+ Unknown = -1,
110
+ Idle,
111
+ UserInteraction,
112
+ UserInteraction_Timeout,
113
+ Standby,
114
+ Idle_Timeout,
115
+ }
116
+
117
+ export enum EKeyboardFlags {
118
+ Minimal = 1 << 0,
119
+ Modal = 1 << 1,
120
+ ShowArrowKeys = 1 << 2,
121
+ HideDoneKey = 1 << 3,
122
+ }
@@ -0,0 +1,172 @@
1
+ import type { EBrowserType, ESteamRealm, EUIComposition, EUIMode, Unregisterable } from "./shared";
2
+
3
+ export interface Overlay {
4
+ /**
5
+ * Destroys the gamepad UI desktop configurator window if open.
6
+ */
7
+ DestroyGamePadUIDesktopConfiguratorWindow(): void;
8
+
9
+ GetOverlayBrowserInfo(): Promise<OverlayBrowserInfo[]>;
10
+
11
+ // steam://gamewebcallback
12
+ HandleGameWebCallback(url: string): void;
13
+
14
+ /**
15
+ * @param protocol Something like {@link OverlayBrowserProtocols.strScheme}
16
+ */
17
+ HandleProtocolForOverlayBrowser(appId: number, protocol: string): void;
18
+
19
+ /**
20
+ * Registers a callback function to be called when an overlay is activated from an app.
21
+ * @param callback The callback function to be called.
22
+ * @returns an object that can be used to unregister the callback.
23
+ */
24
+ RegisterForActivateOverlayRequests(callback: (request: ActivateOverlayRequest) => void): Unregisterable;
25
+
26
+ /**
27
+ * Registers a callback function to be called when a microtransaction authorization is requested.
28
+ * @param callback The callback function to be called.
29
+ * @returns an object that can be used to unregister the callback.
30
+ */
31
+ RegisterForMicroTxnAuth(
32
+ callback: (appId: number, microTxnId: string, realm: ESteamRealm, microTxnUrl: string) => void,
33
+ ): Unregisterable;
34
+
35
+ /**
36
+ * Registers a callback function to be called when a microtransaction authorization is dismissed by the user in Steam's authorization page.
37
+ * @param callback The callback function to be called.
38
+ * @returns an object that can be used to unregister the callback.
39
+ */
40
+ RegisterForMicroTxnAuthDismiss(callback: (appId: number, microTxnId: string) => void): Unregisterable;
41
+
42
+ RegisterForNotificationPositionChanged(
43
+ callback: (appId: number, position: ENotificationPosition, horizontalInset: number, verticalInset: number) => void,
44
+ ): Unregisterable;
45
+
46
+ /**
47
+ * Registers a callback function to be called when an overlay is activated or closed.
48
+ * @param callback The callback function to be called.
49
+ * @returns an object that can be used to unregister the callback.
50
+ */
51
+ RegisterForOverlayActivated(
52
+ callback: (overlayProcessPid: number, appId: number, active: boolean, param3: boolean) => void,
53
+ ): Unregisterable;
54
+
55
+ /**
56
+ * Registers a callback function to be called when the overlay browser protocols change.
57
+ * @param callback The callback function to be called.
58
+ * @returns an object that can be used to unregister the callback.
59
+ */
60
+ RegisterForOverlayBrowserProtocols(
61
+ callback: (browseProtocols: OverlayBrowserProtocols) => void,
62
+ ): Unregisterable;
63
+
64
+ /**
65
+ * Registers **the** callback function to be called when the overlay browser information changes.
66
+ * @param callback The callback function to be called when the overlay browser information changes.
67
+ * @returns an object that can be used to unregister the callback.
68
+ * @remarks Do Not Use, this will break the overlay unless you know what you are doing.
69
+ */
70
+ RegisterOverlayBrowserInfoChanged(callback: () => void): Unregisterable;
71
+
72
+ SetOverlayState(appId: string, state: EUIComposition): void;
73
+ }
74
+
75
+ type OverlayRequestDialog_t =
76
+ | 'achievements'
77
+ | 'asyncnotificationsrequested'
78
+ | 'chat'
79
+ | 'community'
80
+ | 'friendadd'
81
+ | 'friendremove'
82
+ | 'friendrequestaccept'
83
+ | 'friendrequestignore'
84
+ | 'friendremove'
85
+ | 'jointrade'
86
+ | 'leaderboards'
87
+ | 'lobbyinvite'
88
+ | 'lobbyinviteconnectstring'
89
+ | 'officialgamegroup'
90
+ | 'requestplaytime'
91
+ | 'remoteplaytogether'
92
+ | 'remoteplaytogetherinvite'
93
+ | 'settings'
94
+ | 'stats'
95
+ | 'steamid'
96
+ | 'store';
97
+
98
+ // EPosition
99
+ export enum ENotificationPosition {
100
+ TopLeft,
101
+ TopRight,
102
+ BottomLeft,
103
+ BottomRight,
104
+ }
105
+
106
+ export interface ActivateOverlayRequest {
107
+ /**
108
+ * The app ID that just had an overlay request.
109
+ */
110
+ appid: number;
111
+
112
+ /**
113
+ * `true` if webpage, and so {@link strDialog} will start with `https://`.
114
+ */
115
+ bWebPage: boolean;
116
+
117
+ eFlag: EOverlayToStoreFlag;
118
+
119
+ eWebPageMode: EActivateGameOverlayToWebPageMode;
120
+
121
+ /**
122
+ * Steam64 ID.
123
+ */
124
+ steamidTarget: string;
125
+
126
+ /**
127
+ * Game invites string for `Friends.InviteUserToGame`.
128
+ */
129
+ strConnectString: string;
130
+
131
+ /**
132
+ * Web page URL if starts with `https://`, so cast the type to `string` if it is.
133
+ */
134
+ strDialog: OverlayRequestDialog_t;
135
+
136
+ /**
137
+ * App ID of the requesting game.
138
+ */
139
+ unRequestingAppID: number;
140
+ }
141
+
142
+ export interface OverlayBrowserInfo {
143
+ appID: number;
144
+ eBrowserType: EBrowserType;
145
+ eUIMode: EUIMode;
146
+ flDisplayScale?: number;
147
+ gameID: string;
148
+ nBrowserID: number;
149
+ nScreenHeight: number;
150
+ nScreenWidth: number;
151
+ /**
152
+ * The PID of the overlay process.
153
+ */
154
+ unPID: number;
155
+ }
156
+
157
+ export interface OverlayBrowserProtocols {
158
+ unAppID: number;
159
+ strScheme: string;
160
+ bAdded: boolean;
161
+ }
162
+
163
+ export enum EActivateGameOverlayToWebPageMode {
164
+ Default,
165
+ Modal,
166
+ }
167
+
168
+ export enum EOverlayToStoreFlag {
169
+ None,
170
+ AddToCart,
171
+ AddToCartAndShow,
172
+ }