@decky/ui 4.9.2 → 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 (182) hide show
  1. package/dist/globals/SteamClient.d.ts +1 -304
  2. package/dist/globals/steam-client/App.d.ts +880 -0
  3. package/dist/globals/steam-client/App.js +320 -0
  4. package/dist/globals/steam-client/Auth.d.ts +57 -0
  5. package/dist/globals/steam-client/Auth.js +19 -0
  6. package/dist/globals/steam-client/Broadcast.d.ts +22 -0
  7. package/dist/globals/steam-client/Broadcast.js +1 -0
  8. package/dist/globals/steam-client/Browser.d.ts +45 -0
  9. package/dist/globals/steam-client/Browser.js +17 -0
  10. package/dist/globals/steam-client/ClientNotifications.d.ts +20 -0
  11. package/dist/globals/steam-client/ClientNotifications.js +6 -0
  12. package/dist/globals/steam-client/Cloud.d.ts +4 -0
  13. package/dist/globals/steam-client/Cloud.js +1 -0
  14. package/dist/globals/steam-client/CommunityItems.d.ts +5 -0
  15. package/dist/globals/steam-client/CommunityItems.js +1 -0
  16. package/dist/globals/steam-client/Console.d.ts +11 -0
  17. package/dist/globals/steam-client/Console.js +1 -0
  18. package/dist/globals/steam-client/Customization.d.ts +8 -0
  19. package/dist/globals/steam-client/Customization.js +1 -0
  20. package/dist/globals/steam-client/Downloads.d.ts +63 -0
  21. package/dist/globals/steam-client/Downloads.js +1 -0
  22. package/dist/globals/steam-client/FamilySharing.d.ts +20 -0
  23. package/dist/globals/steam-client/FamilySharing.js +1 -0
  24. package/dist/globals/steam-client/FriendSettings.d.ts +49 -0
  25. package/dist/globals/steam-client/FriendSettings.js +6 -0
  26. package/dist/globals/steam-client/Friends.d.ts +27 -0
  27. package/dist/globals/steam-client/Friends.js +1 -0
  28. package/dist/globals/steam-client/GameNotes.d.ts +41 -0
  29. package/dist/globals/steam-client/GameNotes.js +1 -0
  30. package/dist/globals/steam-client/GameRecording.d.ts +20 -0
  31. package/dist/globals/steam-client/GameRecording.js +1 -0
  32. package/dist/globals/steam-client/GameSessions.d.ts +26 -0
  33. package/dist/globals/steam-client/GameSessions.js +1 -0
  34. package/dist/globals/steam-client/Input.d.ts +421 -0
  35. package/dist/globals/steam-client/Input.js +170 -0
  36. package/dist/globals/steam-client/InstallFolder.d.ts +57 -0
  37. package/dist/globals/steam-client/InstallFolder.js +1 -0
  38. package/dist/globals/steam-client/Installs.d.ts +60 -0
  39. package/dist/globals/steam-client/Installs.js +20 -0
  40. package/dist/globals/steam-client/Messaging.d.ts +5 -0
  41. package/dist/globals/steam-client/Messaging.js +1 -0
  42. package/dist/globals/steam-client/Music.d.ts +36 -0
  43. package/dist/globals/steam-client/Music.js +14 -0
  44. package/dist/globals/steam-client/Notifications.d.ts +260 -0
  45. package/dist/globals/steam-client/Notifications.js +73 -0
  46. package/dist/globals/steam-client/OpenVR.d.ts +85 -0
  47. package/dist/globals/steam-client/OpenVR.js +16 -0
  48. package/dist/globals/steam-client/Overlay.d.ts +58 -0
  49. package/dist/globals/steam-client/Overlay.js +18 -0
  50. package/dist/globals/steam-client/Parental.d.ts +69 -0
  51. package/dist/globals/steam-client/Parental.js +19 -0
  52. package/dist/globals/steam-client/RemotePlay.d.ts +225 -0
  53. package/dist/globals/steam-client/RemotePlay.js +71 -0
  54. package/dist/globals/steam-client/Screenshots.d.ts +47 -0
  55. package/dist/globals/steam-client/Screenshots.js +8 -0
  56. package/dist/globals/steam-client/ServerBrowser.d.ts +117 -0
  57. package/dist/globals/steam-client/ServerBrowser.js +26 -0
  58. package/dist/globals/steam-client/Settings.d.ts +398 -0
  59. package/dist/globals/steam-client/Settings.js +96 -0
  60. package/dist/globals/steam-client/SharedConnection.d.ts +22 -0
  61. package/dist/globals/steam-client/SharedConnection.js +1 -0
  62. package/dist/globals/steam-client/Stats.d.ts +4 -0
  63. package/dist/globals/steam-client/Stats.js +1 -0
  64. package/dist/globals/steam-client/SteamChina.d.ts +3 -0
  65. package/dist/globals/steam-client/SteamChina.js +1 -0
  66. package/dist/globals/steam-client/Storage.d.ts +8 -0
  67. package/dist/globals/steam-client/Storage.js +1 -0
  68. package/dist/globals/steam-client/Streaming.d.ts +15 -0
  69. package/dist/globals/steam-client/Streaming.js +1 -0
  70. package/dist/globals/steam-client/UI.d.ts +44 -0
  71. package/dist/globals/steam-client/UI.js +12 -0
  72. package/dist/globals/steam-client/URL.d.ts +16 -0
  73. package/dist/globals/steam-client/URL.js +1 -0
  74. package/dist/globals/steam-client/Updates.d.ts +68 -0
  75. package/dist/globals/steam-client/Updates.js +34 -0
  76. package/dist/globals/steam-client/User.d.ts +130 -0
  77. package/dist/globals/steam-client/User.js +33 -0
  78. package/dist/globals/steam-client/WebChat.d.ts +60 -0
  79. package/dist/globals/steam-client/WebChat.js +6 -0
  80. package/dist/globals/steam-client/WebUITransport.d.ts +11 -0
  81. package/dist/globals/steam-client/WebUITransport.js +1 -0
  82. package/dist/globals/steam-client/Window.d.ts +66 -0
  83. package/dist/globals/steam-client/Window.js +6 -0
  84. package/dist/globals/steam-client/browser-view/BrowserViewPopup.d.ts +124 -0
  85. package/dist/globals/steam-client/browser-view/BrowserViewPopup.js +35 -0
  86. package/dist/globals/steam-client/browser-view/index.d.ts +20 -0
  87. package/dist/globals/steam-client/browser-view/index.js +1 -0
  88. package/dist/globals/steam-client/index.d.ts +89 -0
  89. package/dist/globals/steam-client/index.js +1 -0
  90. package/dist/globals/steam-client/shared.d.ts +166 -0
  91. package/dist/globals/steam-client/shared.js +146 -0
  92. package/dist/globals/steam-client/system/Audio.d.ts +42 -0
  93. package/dist/globals/steam-client/system/Audio.js +1 -0
  94. package/dist/globals/steam-client/system/AudioDevice.d.ts +92 -0
  95. package/dist/globals/steam-client/system/AudioDevice.js +33 -0
  96. package/dist/globals/steam-client/system/Bluetooth.d.ts +47 -0
  97. package/dist/globals/steam-client/system/Bluetooth.js +15 -0
  98. package/dist/globals/steam-client/system/Devkit.d.ts +7 -0
  99. package/dist/globals/steam-client/system/Devkit.js +1 -0
  100. package/dist/globals/steam-client/system/Display.d.ts +10 -0
  101. package/dist/globals/steam-client/system/Display.js +1 -0
  102. package/dist/globals/steam-client/system/DisplayManager.d.ts +9 -0
  103. package/dist/globals/steam-client/system/DisplayManager.js +1 -0
  104. package/dist/globals/steam-client/system/Dock.d.ts +19 -0
  105. package/dist/globals/steam-client/system/Dock.js +1 -0
  106. package/dist/globals/steam-client/system/Perf.d.ts +159 -0
  107. package/dist/globals/steam-client/system/Perf.js +53 -0
  108. package/dist/globals/steam-client/system/Report.d.ts +13 -0
  109. package/dist/globals/steam-client/system/Report.js +1 -0
  110. package/dist/globals/steam-client/system/UI.d.ts +28 -0
  111. package/dist/globals/steam-client/system/UI.js +1 -0
  112. package/dist/globals/steam-client/system/index.d.ts +243 -0
  113. package/dist/globals/steam-client/system/index.js +111 -0
  114. package/dist/globals/steam-client/system/network/Device.d.ts +10 -0
  115. package/dist/globals/steam-client/system/network/Device.js +1 -0
  116. package/dist/globals/steam-client/system/network/index.d.ts +312 -0
  117. package/dist/globals/steam-client/system/network/index.js +55 -0
  118. package/dist/globals/stores.d.ts +26 -13
  119. package/dist/modules/Router.d.ts +2 -39
  120. package/dist/modules/Router.js +0 -39
  121. package/package.json +1 -1
  122. package/src/globals/SteamClient.ts +4 -320
  123. package/src/globals/steam-client/App.ts +1749 -0
  124. package/src/globals/steam-client/Auth.ts +105 -0
  125. package/src/globals/steam-client/Broadcast.ts +56 -0
  126. package/src/globals/steam-client/Browser.ts +91 -0
  127. package/src/globals/steam-client/ClientNotifications.ts +39 -0
  128. package/src/globals/steam-client/Cloud.ts +14 -0
  129. package/src/globals/steam-client/CommunityItems.ts +24 -0
  130. package/src/globals/steam-client/Console.ts +43 -0
  131. package/src/globals/steam-client/Customization.ts +12 -0
  132. package/src/globals/steam-client/Downloads.ts +175 -0
  133. package/src/globals/steam-client/FamilySharing.ts +30 -0
  134. package/src/globals/steam-client/FriendSettings.ts +80 -0
  135. package/src/globals/steam-client/Friends.ts +70 -0
  136. package/src/globals/steam-client/GameNotes.ts +73 -0
  137. package/src/globals/steam-client/GameRecording.ts +29 -0
  138. package/src/globals/steam-client/GameSessions.ts +59 -0
  139. package/src/globals/steam-client/Input.ts +762 -0
  140. package/src/globals/steam-client/InstallFolder.ts +167 -0
  141. package/src/globals/steam-client/Installs.ts +131 -0
  142. package/src/globals/steam-client/Messaging.ts +20 -0
  143. package/src/globals/steam-client/Music.ts +99 -0
  144. package/src/globals/steam-client/Notifications.ts +333 -0
  145. package/src/globals/steam-client/OpenVR.ts +122 -0
  146. package/src/globals/steam-client/Overlay.ts +172 -0
  147. package/src/globals/steam-client/Parental.ts +129 -0
  148. package/src/globals/steam-client/RemotePlay.ts +342 -0
  149. package/src/globals/steam-client/Screenshots.ts +149 -0
  150. package/src/globals/steam-client/ServerBrowser.ts +372 -0
  151. package/src/globals/steam-client/Settings.ts +663 -0
  152. package/src/globals/steam-client/SharedConnection.ts +43 -0
  153. package/src/globals/steam-client/Stats.ts +10 -0
  154. package/src/globals/steam-client/SteamChina.ts +3 -0
  155. package/src/globals/steam-client/Storage.ts +24 -0
  156. package/src/globals/steam-client/Streaming.ts +59 -0
  157. package/src/globals/steam-client/UI.ts +90 -0
  158. package/src/globals/steam-client/URL.ts +174 -0
  159. package/src/globals/steam-client/Updates.ts +101 -0
  160. package/src/globals/steam-client/User.ts +266 -0
  161. package/src/globals/steam-client/WebChat.ts +164 -0
  162. package/src/globals/steam-client/WebUITransport.ts +21 -0
  163. package/src/globals/steam-client/Window.ts +235 -0
  164. package/src/globals/steam-client/browser-view/BrowserViewPopup.ts +393 -0
  165. package/src/globals/steam-client/browser-view/index.ts +54 -0
  166. package/src/globals/steam-client/index.ts +90 -0
  167. package/src/globals/steam-client/shared.ts +262 -0
  168. package/src/globals/steam-client/system/Audio.ts +202 -0
  169. package/src/globals/steam-client/system/AudioDevice.ts +116 -0
  170. package/src/globals/steam-client/system/Bluetooth.ts +171 -0
  171. package/src/globals/steam-client/system/Devkit.ts +11 -0
  172. package/src/globals/steam-client/system/Display.ts +15 -0
  173. package/src/globals/steam-client/system/DisplayManager.ts +16 -0
  174. package/src/globals/steam-client/system/Dock.ts +34 -0
  175. package/src/globals/steam-client/system/Perf.ts +194 -0
  176. package/src/globals/steam-client/system/Report.ts +39 -0
  177. package/src/globals/steam-client/system/UI.ts +38 -0
  178. package/src/globals/steam-client/system/index.ts +390 -0
  179. package/src/globals/steam-client/system/network/Device.ts +17 -0
  180. package/src/globals/steam-client/system/network/index.ts +403 -0
  181. package/src/globals/stores.ts +30 -13
  182. package/src/modules/Router.ts +2 -40
@@ -0,0 +1,105 @@
1
+ import { EResult, JsPbMessage, OperationResponse } from "./shared";
2
+ import {EOSType} from "./system";
3
+
4
+ export interface Auth {
5
+ /**
6
+ * @returns a boolean indicating if the operation succeeded.
7
+ */
8
+ ClearCachedSignInPin(): Promise<boolean>;
9
+
10
+ CurrentUserHasCachedSignInPin(): Promise<boolean>;
11
+
12
+ GetLocalHostname(): Promise<string>;
13
+
14
+ /**
15
+ * @returns a ProtoBuf message. If deserialized, returns {@link CAuthentication_DeviceDetails}.
16
+ */
17
+ GetMachineID(): Promise<ArrayBuffer>;
18
+
19
+ GetRefreshInfo(): Promise<AuthRefreshInfo>;
20
+
21
+ GetSteamGuardData(param0: string): Promise<SteamGuardData>;
22
+
23
+ /**
24
+ * "Secured" refers to unshared.
25
+ */
26
+ IsSecureComputer(): Promise<boolean>;
27
+
28
+ SetCachedSignInPin(pin: string): Promise<boolean>;
29
+
30
+ SetLoginToken(refreshToken: string, accountName: string): Promise<OperationResponse>;
31
+
32
+ SetSteamGuardData(accountName: string, newGuardData: string): void;
33
+
34
+ StartSignInFromCache(accountName: string, offlineMode: boolean): Promise<OperationResponse | void>;
35
+
36
+ UserHasCachedSignInPin(accountName: string): Promise<boolean>;
37
+
38
+ ValidateCachedSignInPin(accountName: string, pin: string): Promise<boolean>;
39
+ }
40
+
41
+ export interface AuthRefreshInfo {
42
+ reason: number;
43
+ account_name: string;
44
+ login_id_token: string;
45
+ }
46
+
47
+ export interface SteamGuardData {
48
+ data: string;
49
+ eresult: EResult;
50
+ }
51
+
52
+ /**
53
+ * `deserializeBinary` argument:
54
+ * ```
55
+ * [
56
+ * await SteamClient.System.GetOSType(),
57
+ * await SteamClient.Auth.GetLocalHostname(),
58
+ * await SteamClient.Auth.GetMachineID(),
59
+ * ];
60
+ * ```
61
+ */
62
+ export interface CAuthentication_DeviceDetails extends JsPbMessage {
63
+ client_count(): number | undefined;
64
+
65
+ device_friendly_name(): string | undefined;
66
+
67
+ gaming_device_type(): EGamingDeviceType | undefined;
68
+
69
+ machine_id(): Uint8Array | string;
70
+
71
+ os_type(): EOSType | undefined;
72
+
73
+ platform_type(): EAuthTokenPlatformType | undefined;
74
+
75
+ set_client_count(): any;
76
+
77
+ set_device_friendly_name(): any;
78
+
79
+ set_gaming_device_type(): any;
80
+
81
+ set_machine_id(): any;
82
+
83
+ set_os_type(): any;
84
+
85
+ set_platform_type(): any;
86
+ }
87
+
88
+ export enum EAuthTokenPlatformType {
89
+ Unknown,
90
+ SteamClient,
91
+ WebBrowser,
92
+ MobileApp,
93
+ }
94
+
95
+ export enum EGamingDeviceType {
96
+ Unknown,
97
+ StandardPC,
98
+ Console = 256,
99
+ PS3 = 272,
100
+ Steambox = 288,
101
+ Tesla = 320,
102
+ Handheld = 512,
103
+ Phone = 528,
104
+ SteamDeck = 544,
105
+ }
@@ -0,0 +1,56 @@
1
+ import { EResult, Unregisterable } from "./shared";
2
+
3
+ export interface Broadcast {
4
+ /**
5
+ * Approves a viewer request for the broadcast.
6
+ * @param steamId64 The SteamID64 of the user whose request is to be approved.
7
+ */
8
+ ApproveViewerRequest(steamId64: string, param1: number): void;
9
+
10
+ /**
11
+ * Invites a user identified by their SteamID64 to watch the broadcast.
12
+ * @param steamId64 The SteamID64 of the user to invite.
13
+ */
14
+ InviteToWatch(steamId64: string): Promise<EResult>;
15
+
16
+ /**
17
+ * Registers a callback to be called when the broadcast status changes.
18
+ * @param callback The callback function to be called.
19
+ * @returns an object that can be used to unregister the callback.
20
+ */
21
+ RegisterForBroadcastStatus(callback: (status: BroadcastStatus) => void): Unregisterable;
22
+
23
+ /**
24
+ * Registers a callback to be called when viewer requests are received.
25
+ * @param callback The callback function to be called.
26
+ * @returns an object that can be used to unregister the callback.
27
+ */
28
+ RegisterForViewerRequests(
29
+ callback: (viewerFriendCode: number, param1: number, param2: number) => void,
30
+ ): Unregisterable;
31
+
32
+ /**
33
+ * Rejects a viewer request for the broadcast.
34
+ * @param steamId64 The SteamID64 of the user whose request is to be rejected.
35
+ */
36
+ RejectViewerRequest(steamId64: string, param1: number): void;
37
+
38
+ /**
39
+ * Stops the broadcast.
40
+ */
41
+ StopBroadcasting(): void;
42
+ }
43
+
44
+ export interface BroadcastStatus {
45
+ broadcastid: string;
46
+ nViewers: number;
47
+ nRequests: number;
48
+ bIsBroadcasting: boolean;
49
+ bIsRecordingDesktop: boolean;
50
+ eBroadcastReady: EResult;
51
+ bBroadcastCapable: boolean;
52
+ bMicrophoneEnabled: boolean;
53
+ bMicrophoneActive: boolean;
54
+ nCurrentFPS: number;
55
+ nUploadKbps: number;
56
+ }
@@ -0,0 +1,91 @@
1
+ import { Unregisterable } from "./shared";
2
+
3
+ export interface Browser {
4
+ AddWordToDictionary(word: string): void;
5
+
6
+ ClearAllBrowsingData(): void;
7
+
8
+ ClearHistory(): void;
9
+
10
+ CloseDevTools(): void;
11
+
12
+ GetBrowserID(): Promise<number>;
13
+
14
+ GetSpellingSuggestions(word: string): string[];
15
+
16
+ GetSteamBrowserID(): Promise<number>; // 16-bit unsigned integer?
17
+
18
+ /**
19
+ * Hides the mouse cursor until input.
20
+ */
21
+ HideCursorUntilMouseEvent(): void;
22
+
23
+ /**
24
+ * yup that's right, clientY and clientX are reversed
25
+ */
26
+ InspectElement(clientY: number, clientX: number): void;
27
+
28
+ NotifyUserActivation(): void;
29
+
30
+ OpenDevTools(): void;
31
+
32
+ /**
33
+ * Pastes the clipboard contents.
34
+ */
35
+ Paste(): void;
36
+
37
+ /**
38
+ * @note Not available on a created BrowserView.
39
+ * @todo unconfirmed
40
+ */
41
+ RegisterForGestureEvents(callback: (gesture: TouchGesture) => void): Unregisterable;
42
+
43
+ /**
44
+ * @note Not available on a created BrowserView.
45
+ */
46
+ RegisterForOpenNewTab: Unregisterable;
47
+
48
+ ReplaceMisspelling(param0: string): void;
49
+
50
+ /**
51
+ * Restarts the Steam JS context.
52
+ */
53
+ RestartJSContext(): void;
54
+
55
+ SetBackgroundThrottlingDisabled(value: boolean): void;
56
+
57
+ SetPendingFilePath(path: string): Promise<boolean>;
58
+
59
+ SetShouldExitSteamOnBrowserClosed(value: boolean): Promise<void>;
60
+
61
+ SetTouchGesturesToCancel(gestures: ETouchGesture[]): void;
62
+
63
+ /**
64
+ * Prompts and downloads a file.
65
+ * @param url The URL of the file to download.
66
+ */
67
+ StartDownload(url: string): void;
68
+ }
69
+
70
+ export interface TouchGesture {
71
+ eTouchGesture: ETouchGesture;
72
+ x: number;
73
+ y: number;
74
+ }
75
+
76
+ export enum ETouchGesture {
77
+ None,
78
+ Touch,
79
+ Tap,
80
+ DoubleTap,
81
+ ShortPress,
82
+ LongPress,
83
+ LongTap,
84
+ TwoFingerTap,
85
+ TapCancelled,
86
+ PinchBegin,
87
+ PinchUpdate,
88
+ PinchEnd,
89
+ FlingStart,
90
+ FlingCancelled,
91
+ }
@@ -0,0 +1,39 @@
1
+ import { BrowserContext } from "./shared";
2
+
3
+ export interface ClientNotifications {
4
+ /**
5
+ * Displays a Steam notification.
6
+ * @param notification Notification type.
7
+ * @param options Stringified object of {@link SteamNotificationOptions}.
8
+ * @param callback
9
+ */
10
+ DisplayClientNotification(
11
+ notification: EClientUINotificationType,
12
+ options: string,
13
+ callback: (context: BrowserContext) => void,
14
+ ): void;
15
+
16
+ /**
17
+ * @param notificationId The ID of the notification to handle.
18
+ * @param handleAction `true` to execute the callback function associated with the notification.
19
+ */
20
+ OnRespondToClientNotification(notificationId: number, handleAction: boolean): void;
21
+ }
22
+
23
+ export interface SteamNotificationOptions {
24
+ body: string;
25
+ chatroomgroupid?: number;
26
+ chatroomid?: number;
27
+ icon?: string;
28
+ state: string;
29
+ /** A Steam64 ID. */
30
+ steamid: string;
31
+ tag?: string;
32
+ title?: string;
33
+ }
34
+
35
+ export enum EClientUINotificationType {
36
+ GroupChatMessage = 1,
37
+ FriendChatMessage,
38
+ FriendPersonaState,
39
+ }
@@ -0,0 +1,14 @@
1
+ export interface Cloud {
2
+ /**
3
+ * Resolves a synchronization conflict for an app in the cloud.
4
+ * @param appId The ID of the app with the sync conflict.
5
+ * @param keepLocal Whether to keep the local version during conflict resolution.
6
+ */
7
+ ResolveAppSyncConflict(appId: number, keepLocal: boolean): void;
8
+
9
+ /**
10
+ * Retries syncing an app with the cloud.
11
+ * @param appId The ID of the app to retry syncing.
12
+ */
13
+ RetryAppSync(appId: number): void;
14
+ }
@@ -0,0 +1,24 @@
1
+ export interface CommunityItems {
2
+ /*
3
+ DownloadMovie(e) {
4
+ return (0, o.mG)(this, void 0, void 0, (function* () {
5
+ if (0 != e.movie_webm_local_path.length) return !0;
6
+ let t = yield SteamClient.CommunityItems.DownloadItemAsset(e.communityitemid, w, e.movie_webm),
7
+ n = 1 == t.result;
8
+ if (n) {
9
+ e.movie_webm_local_path = t.path;
10
+ let n = [];
11
+ this.m_startupMovies.forEach((t => {
12
+ t.movie_webm == e.movie_webm ? n.push(e) : n.push(t)
13
+ })), this.m_startupMovies = n
14
+ }
15
+ return n
16
+ }))
17
+ }
18
+ */
19
+ DownloadItemAsset(communityItemId: string, param1: any, param2: string): any;
20
+
21
+ GetItemAssetPath(communityItemId: string, param1: any, param2: string): any;
22
+
23
+ RemoveDownloadedItemAsset(communityItemId: string, param1: any, param2: string): any;
24
+ }
@@ -0,0 +1,43 @@
1
+ import { Unregisterable } from "./shared";
2
+
3
+ /**
4
+ * Represents the console functionality for executing commands and handling spew output.
5
+ */
6
+ export interface Console {
7
+ /**
8
+ * Executes a console command.
9
+ * @param command The command to execute in the console.
10
+ */
11
+ ExecCommand(command: string): void;
12
+
13
+ /**
14
+ * Retrieves autocomplete suggestions for a given console command.
15
+ * @param command The console command to provide autocomplete suggestions for.
16
+ * @returns an array of autocomplete suggestions.
17
+ */
18
+ GetAutocompleteSuggestions(command: string): Promise<string[]>;
19
+
20
+ /**
21
+ * Registers a callback function to receive spew output.
22
+ * @param callback The callback function that will receive spew output.
23
+ * @returns an object that can be used to unregister the callback.
24
+ */
25
+ RegisterForSpewOutput(callback: (output: SpewOutput) => void): Unregisterable;
26
+ }
27
+
28
+ export type SpewType_t = "assert" | "error" | "warning" | "info" | "input";
29
+
30
+ /**
31
+ * Represents spew output information.
32
+ */
33
+ export interface SpewOutput {
34
+ /**
35
+ * The content of the spew output.
36
+ */
37
+ spew: string;
38
+
39
+ /**
40
+ * The type or category of the spew output.
41
+ */
42
+ spew_type: SpewType_t;
43
+ }
@@ -0,0 +1,12 @@
1
+ export interface Customization {
2
+ GenerateLocalStartupMoviesThumbnails(param0: number): Promise<number>;
3
+
4
+ //param0: "startupmovies"
5
+ GetDownloadedStartupMovies(param0: string): Promise<StartupMovie[]>;
6
+
7
+ GetLocalStartupMovies(): Promise<StartupMovie[]>;
8
+ }
9
+
10
+ export interface StartupMovie {
11
+ strMovieURL: string;
12
+ }
@@ -0,0 +1,175 @@
1
+ import { Unregisterable } from "./shared";
2
+ import {EAppUpdateError} from "./App";
3
+
4
+ /**
5
+ * Represents functions related to managing downloads in Steam.
6
+ */
7
+ export interface Downloads {
8
+ /**
9
+ * Enables or disables all downloads in Steam.
10
+ * @param enable True to enable downloads, false to disable.
11
+ */
12
+ EnableAllDownloads(enable: boolean): void;
13
+
14
+ /**
15
+ * Moves the update for a specific app down the download queue.
16
+ * @param appId The ID of the application to move.
17
+ */
18
+ MoveAppUpdateDown(appId: number): void;
19
+
20
+ /**
21
+ * Moves the update for a specific app up the download queue.
22
+ * @param appId The ID of the application to move.
23
+ */
24
+ MoveAppUpdateUp(appId: number): void;
25
+
26
+ PauseAppUpdate(appId: number): void; // Broken? It seems to be removing it from download list like RemoveFromDownloadList
27
+
28
+ /**
29
+ * Adds the update for a specific app to the download queue.
30
+ * @param appId The ID of the application to queue.
31
+ */
32
+ QueueAppUpdate(appId: number): void;
33
+
34
+ /**
35
+ * Registers a callback function to be called when download items change.
36
+ * @param callback The callback function to be called.
37
+ * @returns an object that can be used to unregister the callback.
38
+ */
39
+ RegisterForDownloadItems(
40
+ callback: (isDownloading: boolean, downloadItems: DownloadItem[]) => void,
41
+ ): Unregisterable;
42
+
43
+ /**
44
+ * Registers a callback function to be called when download overview changes.
45
+ * @param callback The callback function to be called.
46
+ * @returns an object that can be used to unregister the callback.
47
+ */
48
+ RegisterForDownloadOverview(callback: (overview: DownloadOverview) => void): Unregisterable;
49
+
50
+ /**
51
+ * Removes the update for a specific app from the download list and places it in the unscheduled list.
52
+ * @param appId The ID of the application to remove.
53
+ */
54
+ RemoveFromDownloadList(appId: number): void;
55
+
56
+ /**
57
+ * Resumes the update for a specific app in the queue.
58
+ * @param appId The ID of the application to resume.
59
+ */
60
+ ResumeAppUpdate(appId: number): void;
61
+
62
+ /**
63
+ * Sets an app to launch when its download is complete.
64
+ * @param appId The ID of the application to set.
65
+ */
66
+ SetLaunchOnUpdateComplete(appId: number): void;
67
+
68
+ /**
69
+ * Sets the queue index for an app in the download queue.
70
+ * @param appId The ID of the application to set the index for.
71
+ * @param index The index to set.
72
+ * @remarks Index of 0 is the current download in progress.
73
+ */
74
+ SetQueueIndex(appId: number, index: number): void;
75
+
76
+ /**
77
+ * Suspends or resumes download throttling.
78
+ * @param suspend Whether to suspend or resume download throttling.
79
+ */
80
+ SuspendDownloadThrottling(suspend: boolean): void;
81
+
82
+ /**
83
+ * Suspends or resumes local transfers.
84
+ * @param suspend Whether to suspend or resume local transfers.
85
+ */
86
+ SuspendLanPeerContent(suspend: boolean): void;
87
+ }
88
+
89
+ export interface DownloadItem {
90
+ /** True if this app is currently downloading */
91
+ active: boolean;
92
+ /** Appid of app */
93
+ appid: number;
94
+ /** Current build ID for the installed app, zero if the app isn't installed yet */
95
+ buildid: number;
96
+ /** True if this update has been completed */
97
+ completed: boolean;
98
+ /** For completed downloads, time of completion, 0 if not completed */
99
+ completed_time: number;
100
+ deferred_time: number;
101
+ /** Bytes already downloaded, sum across all content types */
102
+ downloaded_bytes: number;
103
+ /** If true, game will launch when its download completes successfully */
104
+ launch_on_completion: boolean;
105
+ /** True if this app has been paused by the user or the system */
106
+ paused: boolean;
107
+ /** Queue index, -1 if the item is unqueued */
108
+ queue_index: number;
109
+ /** Build ID that this download is moving towards. This can be the same as buildid.*/
110
+ target_buildid: number;
111
+ /** Total bytes to download, sum across all content types */
112
+ total_bytes: number;
113
+ /**
114
+ * Update error description, when paused and there has been an error.
115
+ * Unlocalized and shouldn't be displayed to the user.
116
+ */
117
+ update_error: string;
118
+ update_result: EAppUpdateError;
119
+ update_type_info: UpdateTypeInfo[];
120
+ }
121
+
122
+ export interface DownloadOverview {
123
+ /** Set if we are downloading from LAN peer content server */
124
+ lan_peer_hostname: string;
125
+ /** True if all downloads are paused */
126
+ paused: boolean;
127
+ /** True if download throttling has been temporarily suspended for the current download */
128
+ throttling_suspended: boolean;
129
+ /** Appid of currently updating app */
130
+ update_appid: number;
131
+ /** Bytes already downloaded */
132
+ update_bytes_downloaded: number;
133
+ /** Bytes already processed in current phase - resets to zero when update stage changes */
134
+ update_bytes_processed: number;
135
+ /** Bytes already staged */
136
+ update_bytes_staged: number;
137
+ /** Total bytes to download */
138
+ update_bytes_to_download: number;
139
+ /** Total bytes to process in current phase - resets to zero when update stage changes */
140
+ update_bytes_to_process: number;
141
+ /** Total bytes to be staged */
142
+ update_bytes_to_stage: number;
143
+ /** Current disk throughput estimate */
144
+ update_disc_bytes_per_second: number;
145
+ /** True if the current update is an initial install */
146
+ update_is_install: boolean;
147
+ /** True if download and staging sizes are prefetch estimates */
148
+ update_is_prefetch_estimate: boolean;
149
+ /** True if the current update is for shader update */
150
+ update_is_shader: boolean;
151
+ /** True if the client is running in peer content server mode serving other peers */
152
+ update_is_upload: boolean;
153
+ /** True if the current update is for workshop content */
154
+ update_is_workshop: boolean;
155
+ /** Current bandwidth estimate for download */
156
+ update_network_bytes_per_second: number;
157
+ /** Peak bandwidth estimate for download */
158
+ update_peak_network_bytes_per_second: number;
159
+ /** Estimate of remaining time (in seconds) until download completes (not including staging) */
160
+ update_seconds_remaining: number;
161
+ /** Time current update started */
162
+ update_start_time: number;
163
+ update_state: 'None' | 'Starting' | 'Updating' | 'Stopping';
164
+ }
165
+
166
+ export interface UpdateTypeInfo {
167
+ /** True if this content type had an update and it has completed */
168
+ completed_update: boolean;
169
+ /** Bytes already downloaded for this content type */
170
+ downloaded_bytes: number;
171
+ /** True if this content type has or had an update */
172
+ has_update: boolean;
173
+ /** Total bytes to download for this content type */
174
+ total_bytes: number;
175
+ }
@@ -0,0 +1,30 @@
1
+ import { EResult, Unregisterable } from "./shared";
2
+
3
+ /**
4
+ * Represents functions related to Steam Family Sharing.
5
+ */
6
+ export interface FamilySharing {
7
+ GetAvailableLenders(appId: number): Promise<Lender[]>;
8
+
9
+ RegisterForKickedBorrower: Unregisterable;
10
+
11
+ SetPreferredLender(appId: number, param1: number): Promise<EResult>;
12
+ }
13
+
14
+ interface LenderDLC {
15
+ rtStoreAssetModifyTime: number;
16
+ strHeaderFilename: string;
17
+ strName: string;
18
+ unAppID: number;
19
+ }
20
+
21
+ export interface Lender {
22
+ /**
23
+ * A Steam64 ID.
24
+ */
25
+ steamid: string;
26
+ appid: number;
27
+ numDlc: number;
28
+ bPreferred: boolean;
29
+ vecDLC: LenderDLC[];
30
+ }
@@ -0,0 +1,80 @@
1
+ import { VDFBoolean_t } from "./shared";
2
+
3
+ /**
4
+ * Represents friend settings and configuration.
5
+ */
6
+ export interface FriendSettings {
7
+ /**
8
+ * Retrieves a list of enabled friend settings features.
9
+ * @returns an array of enabled friend settings features.
10
+ */
11
+ GetEnabledFeatures(): Promise<FriendSettingsFeatureObject[]>;
12
+
13
+ /**
14
+ * Registers a callback function to be notified of friend settings changes.
15
+ * @param callback The callback function to be called when friend settings change.
16
+ * @remarks The callback receives a JSON object string which may be parsed into {@link FriendSettingsChange}.
17
+ */
18
+ RegisterForSettingsChanges(callback: (settings: string) => void): void;
19
+
20
+ /**
21
+ * @param details Stringified {@link FriendSettingsChange}.
22
+ */
23
+ SetFriendSettings(details: string): void;
24
+ }
25
+
26
+ export enum EChatFlashMode {
27
+ Always,
28
+ Minimized,
29
+ Never,
30
+ }
31
+
32
+ export interface FriendSettingsFeatureObject {
33
+ feature: FriendSettingsFeature_t;
34
+ bEnabled: boolean;
35
+ }
36
+
37
+ export type FriendSettingsFeature_t =
38
+ | "DoNotDisturb"
39
+ | "FriendsFilter"
40
+ | "LoaderWindowSynchronization"
41
+ | "NewVoiceHotKeyState"
42
+ | "NonFriendMessageHandling"
43
+ | "PersonaNotifications"
44
+ | "ServerVirtualizedMemberLists"
45
+ | "SteamworksChatAPI";
46
+
47
+ export type FriendSettingsEnabledFeatures<T> = {
48
+ [feature in FriendSettingsFeature_t]: T;
49
+ };
50
+
51
+ export interface FriendSettingsChange {
52
+ bNotifications_ShowIngame: VDFBoolean_t;
53
+ bNotifications_ShowOnline: VDFBoolean_t;
54
+ bNotifications_ShowMessage: VDFBoolean_t;
55
+ bNotifications_EventsAndAnnouncements: VDFBoolean_t;
56
+ bSounds_PlayIngame: VDFBoolean_t;
57
+ bSounds_PlayOnline: VDFBoolean_t;
58
+ bSounds_PlayMessage: VDFBoolean_t;
59
+ bSounds_EventsAndAnnouncements: VDFBoolean_t;
60
+ bAlwaysNewChatWindow: VDFBoolean_t;
61
+ bForceAlphabeticFriendSorting: VDFBoolean_t;
62
+ nChatFlashMode: EChatFlashMode;
63
+ bRememberOpenChats: VDFBoolean_t;
64
+ bCompactQuickAccess: VDFBoolean_t;
65
+ bCompactFriendsList: VDFBoolean_t;
66
+ bNotifications_ShowChatRoomNotification: VDFBoolean_t;
67
+ bSounds_PlayChatRoomNotification: VDFBoolean_t;
68
+ bHideOfflineFriendsInTagGroups: VDFBoolean_t;
69
+ bHideCategorizedFriends: VDFBoolean_t;
70
+ bCategorizeInGameFriendsByGame: VDFBoolean_t;
71
+ nChatFontSize: number;
72
+ b24HourClock: VDFBoolean_t;
73
+ bDoNotDisturbMode: VDFBoolean_t;
74
+ bDisableEmbedInlining: VDFBoolean_t;
75
+ bSignIntoFriends: VDFBoolean_t;
76
+ bDisableSpellcheck: VDFBoolean_t;
77
+ bDisableRoomEffects: VDFBoolean_t;
78
+ bAnimatedAvatars: VDFBoolean_t;
79
+ featuresEnabled: FriendSettingsEnabledFeatures<VDFBoolean_t>;
80
+ }