deeke-script-app 1.6.6 → 1.6.8

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 (98) hide show
  1. package/@deekeScript/@type/Class/Global.d.ts +1 -1
  2. package/@deekeScript/@type/Class/Rect.d.ts +16 -16
  3. package/@deekeScript/@type/Class/UiSelector.d.ts +201 -201
  4. package/@deekeScript/@type/Class/WebSocket.d.ts +49 -49
  5. package/@deekeScript/@type/interface/Access.d.ts +71 -71
  6. package/@deekeScript/@type/interface/App.d.ts +16 -8
  7. package/@deekeScript/@type/interface/Device.d.ts +88 -88
  8. package/@deekeScript/@type/interface/Encrypt.d.ts +58 -58
  9. package/@deekeScript/@type/interface/Engines.d.ts +39 -39
  10. package/@deekeScript/@type/interface/Files.d.ts +283 -0
  11. package/@deekeScript/@type/interface/FloatDialogs.d.ts +41 -35
  12. package/@deekeScript/@type/interface/ForegroundServiceBridge.d.ts +31 -31
  13. package/@deekeScript/@type/interface/Hid.d.ts +342 -342
  14. package/@deekeScript/@type/interface/Http.d.ts +41 -41
  15. package/@deekeScript/@type/interface/Images.d.ts +71 -71
  16. package/@deekeScript/@type/interface/Java.d.ts +7 -7
  17. package/@deekeScript/@type/interface/KeyBoards.d.ts +27 -27
  18. package/@deekeScript/@type/interface/Log.d.ts +16 -16
  19. package/@deekeScript/@type/interface/NotificationBridge.d.ts +28 -28
  20. package/@deekeScript/@type/interface/SocketIoClient.d.ts +76 -76
  21. package/@deekeScript/@type/interface/Storage.d.ts +11 -2
  22. package/@deekeScript/@type/interface/System.d.ts +114 -114
  23. package/@deekeScript/@type/interface/UiObject.d.ts +197 -197
  24. package/README.md +67 -67
  25. package/deekeScript.json +669 -669
  26. package/deekeScriptZipBuild +48 -48
  27. package/gulpfile +17 -17
  28. package/images/test/statistics.png +0 -0
  29. package/init +32 -32
  30. package/jsconfig.json +11 -11
  31. package/package.json +43 -42
  32. package/script/statistics/statistics.js +120 -120
  33. package/script/task/douyin_zan.js +37 -37
  34. package/script/task/dy.js +6 -6
  35. package/script/task/dyApp.js +6 -6
  36. package/script/task/tool.js +9 -9
  37. package/script/task.html +4 -4
  38. package/src/statistics/statistics.js +120 -120
  39. package/src/task/douyin_zan.js +89 -89
  40. package/src/task/dy.js +14 -14
  41. package/src/task/dyApp.js +7 -7
  42. package/src/task/tool.js +19 -19
  43. package/src/task.html +4 -4
  44. package/uglify-config.json +15 -15
  45. package/script/9/common/util.js +0 -20
  46. package/script/9/dy/common/common.js +0 -10
  47. package/script/9/dy/common/version.js +0 -4
  48. package/script/9/dy/common/video.js +0 -8
  49. package/script/9/dy/task/taskOne.js +0 -7
  50. package/script/9/dy/version/310701.js +0 -7
  51. package/script/test/2.js +0 -1
  52. package/script/test/5.js +0 -3
  53. package/script/test/8.js +0 -17
  54. package/src/12/main.js +0 -40
  55. package/src/12/task.js +0 -10
  56. package/src/9/common/util.js +0 -28
  57. package/src/9/dy/common/common.js +0 -13
  58. package/src/9/dy/common/version.js +0 -12
  59. package/src/9/dy/common/video.js +0 -14
  60. package/src/9/dy/task/taskOne.js +0 -13
  61. package/src/9/dy/version/310701.js +0 -7
  62. package/src/test/2.js +0 -2
  63. package/src/test/5.js +0 -4
  64. package/src/test/8.js +0 -36
  65. package/test/2.0/engines/enginesSimple.js +0 -72
  66. package/test/2.js +0 -6
  67. package/test/Access.js +0 -10
  68. package/test/SocketIOClient.js +0 -39
  69. package/test/SocketIOServer.js +0 -49
  70. package/test/Storage.js +0 -3
  71. package/test/augment/test.js +0 -0
  72. package/test/console.js +0 -5
  73. package/test/deekeScriptJson.js +0 -5
  74. package/test/device.js +0 -11
  75. package/test/encrypt.js +0 -4
  76. package/test/engines/1.js +0 -4
  77. package/test/engines/eng/1.js +0 -8
  78. package/test/engines/engines.js +0 -6
  79. package/test/engines/relative.dir.js +0 -8
  80. package/test/engines/relative.js +0 -1
  81. package/test/engines/test.js +0 -6
  82. package/test/engines.js +0 -5
  83. package/test/extension.js +0 -27
  84. package/test/files.js +0 -7
  85. package/test/foreground.js +0 -23
  86. package/test/http.js +0 -19
  87. package/test/images/findColor.js +0 -15
  88. package/test/java.js +0 -28
  89. package/test/log.js +0 -10
  90. package/test/module/module.js +0 -5
  91. package/test/notification.js +0 -26
  92. package/test/package.js +0 -3
  93. package/test/permise.js +0 -29
  94. package/test/thread.js +0 -11
  95. package/test/timer.close.js +0 -27
  96. package/test/timer.js +0 -25
  97. package/test/timer.stop.js +0 -28
  98. package/test/webSocket.js +0 -22
@@ -19,14 +19,9 @@ declare global {
19
19
 
20
20
  /**
21
21
  * 获取包信息
22
+ * @param packageName 包名
22
23
  */
23
- public packageInfo(): any;//这里是返回的PackageInfo(Android对象)
24
-
25
- /**
26
- * 创建一个Intent对象
27
- * @param i Intent对象
28
- */
29
- public intent(i: Intent): Intent;
24
+ public packageInfo(packageName: string): any;//这里是返回的PackageInfo(Android对象)
30
25
 
31
26
  /**
32
27
  * 调整到某个Activity
@@ -86,7 +81,20 @@ declare global {
86
81
  * 通过包名,进入某个App设置界面
87
82
  * @param packageName 包名
88
83
  */
89
- public openAppSettings(packageName: string): void;
84
+ public openAppSetting(packageName: string): void;
85
+
86
+ /**
87
+ * 判断应用是否已安装
88
+ * @param packageName 包名
89
+ */
90
+ public isAppInstalled(packageName: string): boolean;
91
+
92
+ /**
93
+ * 通过指定应用打开URL,如果应用未安装则使用浏览器打开
94
+ * @param url URL地址
95
+ * @param packageName 包名(可选,用于指定打开URL的应用)
96
+ */
97
+ public openUrl(url: string, packageName: string): void;
90
98
  }
91
99
  }
92
100
 
@@ -1,88 +1,88 @@
1
- declare global {
2
- var Device: Device;
3
- }
4
-
5
- interface Device {
6
- /**
7
- * 息屏后,保持 CPU 唤醒,延时释放
8
- * @param second 保持 CPU 唤醒,延时释放,单位秒
9
- */
10
- public keepCpuAwake(second: number): void;
11
-
12
- /**
13
- * 关闭CPU唤醒状态
14
- */
15
- public releaseCpuWakeLock(): void;
16
-
17
- /**
18
- * 获取屏幕宽度
19
- */
20
- public width(): number;
21
-
22
- /**
23
- * 获取屏幕高度
24
- */
25
- public height(): number;
26
-
27
- /**
28
- * 获取设备版本,如 26
29
- */
30
- public sdkInt(): number;
31
-
32
- /**
33
- * 获取设备
34
- */
35
- public device(): string;
36
-
37
- /**
38
- * 获取设备版本,如 "8.1.0"
39
- */
40
- public androidVersion(): string;
41
-
42
- /**
43
- * 生成设备唯一标识符, 卸载App前,可以通过getUuid获取,卸载后丢失
44
- */
45
- public createUuid(): string;
46
-
47
- /**
48
- * 获取设备唯一标识符
49
- */
50
- public getUuid(): string;
51
-
52
- /**
53
- * 获取设备卡密
54
- */
55
- public getToken(): string;
56
-
57
- /**
58
- * 获取设备其他信息(此方法可以取代getToken和getUuid)
59
- */
60
- public getAttr(key: string): string;
61
-
62
- /**
63
- * 判断屏幕是否亮着
64
- */
65
- public isScreenOn(): boolean;
66
-
67
- /**
68
- * 获取设备品牌, 如 "HUAWEI" 或 "Xiaomi"
69
- */
70
- public brand(): string;
71
-
72
- /**
73
- * 获取设备操作系统名称, 如 "Android"
74
- */
75
- public os(): string;
76
-
77
- /**
78
- * 获取设备型号名称, 如 "Honor V30" 或类似的字符串
79
- */
80
- public model(): string;
81
-
82
- /**
83
- * 获取设备代号, 例如 "REL" 表示正式发布的版本
84
- */
85
- public codename(): string;
86
- }
87
-
88
- export { };
1
+ declare global {
2
+ var Device: Device;
3
+ }
4
+
5
+ interface Device {
6
+ /**
7
+ * 息屏后,保持 CPU 唤醒,延时释放
8
+ * @param second 保持 CPU 唤醒,延时释放,单位秒
9
+ */
10
+ public keepCpuAwake(second: number): void;
11
+
12
+ /**
13
+ * 关闭CPU唤醒状态
14
+ */
15
+ public releaseCpuWakeLock(): void;
16
+
17
+ /**
18
+ * 获取屏幕宽度
19
+ */
20
+ public width(): number;
21
+
22
+ /**
23
+ * 获取屏幕高度
24
+ */
25
+ public height(): number;
26
+
27
+ /**
28
+ * 获取设备版本,如 26
29
+ */
30
+ public sdkInt(): number;
31
+
32
+ /**
33
+ * 获取设备
34
+ */
35
+ public device(): string;
36
+
37
+ /**
38
+ * 获取设备版本,如 "8.1.0"
39
+ */
40
+ public androidVersion(): string;
41
+
42
+ /**
43
+ * 生成设备唯一标识符, 卸载App前,可以通过getUuid获取,卸载后丢失
44
+ */
45
+ public createUuid(): string;
46
+
47
+ /**
48
+ * 获取设备唯一标识符
49
+ */
50
+ public getUuid(): string;
51
+
52
+ /**
53
+ * 获取设备卡密
54
+ */
55
+ public getToken(): string;
56
+
57
+ /**
58
+ * 获取设备其他信息(此方法可以取代getToken和getUuid)
59
+ */
60
+ public getAttr(key: string): string;
61
+
62
+ /**
63
+ * 判断屏幕是否亮着
64
+ */
65
+ public isScreenOn(): boolean;
66
+
67
+ /**
68
+ * 获取设备品牌, 如 "HUAWEI" 或 "Xiaomi"
69
+ */
70
+ public brand(): string;
71
+
72
+ /**
73
+ * 获取设备操作系统名称, 如 "Android"
74
+ */
75
+ public os(): string;
76
+
77
+ /**
78
+ * 获取设备型号名称, 如 "Honor V30" 或类似的字符串
79
+ */
80
+ public model(): string;
81
+
82
+ /**
83
+ * 获取设备代号, 例如 "REL" 表示正式发布的版本
84
+ */
85
+ public codename(): string;
86
+ }
87
+
88
+ export { };
@@ -1,58 +1,58 @@
1
- declare global {
2
- var Encrypt: Encrypt;
3
- }
4
-
5
- interface Encrypt {
6
- /**
7
- * md5加密
8
- * @param input
9
- */
10
- public md5(input: string): string;
11
-
12
- /**
13
- * sha1加密
14
- * @param input
15
- */
16
- public sha1(input: string): string;
17
-
18
- /**
19
- * sha256加密
20
- * @param input
21
- */
22
- public sha256(input: string): string;
23
-
24
- /**
25
- * base64 encode
26
- * @param input
27
- */
28
- public base64Encode(input: string|byte[]): string;
29
-
30
- /**
31
- * base64 decode
32
- * @param input
33
- */
34
- public base64Decode(input: string): string;
35
-
36
- /**
37
- * 生成iv
38
- */
39
- public generateIv(): string;
40
-
41
- /**
42
- * aescbc加密
43
- * @param key
44
- * @param iv
45
- * @param input
46
- */
47
- public aesCbcEncrypt(key: string, iv: string, input: string): string;
48
-
49
- /**
50
- * aescbc解密
51
- * @param key
52
- * @param iv
53
- * @param input
54
- */
55
- public aesCbcDecrypt(key: string, iv: string, input: string): string;
56
- }
57
-
58
- export { };
1
+ declare global {
2
+ var Encrypt: Encrypt;
3
+ }
4
+
5
+ interface Encrypt {
6
+ /**
7
+ * md5加密
8
+ * @param input
9
+ */
10
+ public md5(input: string): string;
11
+
12
+ /**
13
+ * sha1加密
14
+ * @param input
15
+ */
16
+ public sha1(input: string): string;
17
+
18
+ /**
19
+ * sha256加密
20
+ * @param input
21
+ */
22
+ public sha256(input: string): string;
23
+
24
+ /**
25
+ * base64 encode
26
+ * @param input
27
+ */
28
+ public base64Encode(input: string|byte[]): string;
29
+
30
+ /**
31
+ * base64 decode
32
+ * @param input
33
+ */
34
+ public base64Decode(input: string): string;
35
+
36
+ /**
37
+ * 生成iv
38
+ */
39
+ public generateIv(): string;
40
+
41
+ /**
42
+ * aescbc加密
43
+ * @param key
44
+ * @param iv
45
+ * @param input
46
+ */
47
+ public aesCbcEncrypt(key: string, iv: string, input: string): string;
48
+
49
+ /**
50
+ * aescbc解密
51
+ * @param key
52
+ * @param iv
53
+ * @param input
54
+ */
55
+ public aesCbcDecrypt(key: string, iv: string, input: string): string;
56
+ }
57
+
58
+ export { };
@@ -1,39 +1,39 @@
1
- declare global {
2
- var Engines: Engines;
3
- }
4
-
5
- interface Engines {
6
- /**
7
- * 执行脚本
8
- * @param file 文件路径,相对根目录的路径
9
- */
10
- public executeScript(file: string): void;
11
-
12
- /**
13
- * 执行脚本
14
- * @param content 脚本内容
15
- */
16
- public executeScriptStr(name: string, content: string): void;
17
-
18
- /**
19
- * 关闭当前线程和子线程所有脚本(包含定时器、socket、Hid等;不会关闭hooks脚本)
20
- */
21
- public closeAll(): void;
22
-
23
- /**
24
- * 关闭当前线程之外的其他线程和子线程(包含定时器、socket、Hid等;不会关闭hooks脚本)
25
- */
26
- public closeOther(): void;
27
-
28
- /**
29
- * 关闭hooks脚本
30
- */
31
- public closeHook(): void;
32
-
33
- /**
34
- * 返回所有子脚本的数量
35
- */
36
- public childScriptCount(): number;
37
- }
38
-
39
- export { };
1
+ declare global {
2
+ var Engines: Engines;
3
+ }
4
+
5
+ interface Engines {
6
+ /**
7
+ * 执行脚本
8
+ * @param file 文件路径,相对根目录的路径
9
+ */
10
+ public executeScript(file: string): void;
11
+
12
+ /**
13
+ * 执行脚本
14
+ * @param content 脚本内容
15
+ */
16
+ public executeScriptStr(name: string, content: string): void;
17
+
18
+ /**
19
+ * 关闭当前线程和子线程所有脚本(包含定时器、socket、Hid等;不会关闭hooks脚本)
20
+ */
21
+ public closeAll(): void;
22
+
23
+ /**
24
+ * 关闭当前线程之外的其他线程和子线程(包含定时器、socket、Hid等;不会关闭hooks脚本)
25
+ */
26
+ public closeOther(): void;
27
+
28
+ /**
29
+ * 关闭hooks脚本
30
+ */
31
+ public closeHook(): void;
32
+
33
+ /**
34
+ * 返回所有子脚本的数量
35
+ */
36
+ public childScriptCount(): number;
37
+ }
38
+
39
+ export { };
@@ -0,0 +1,283 @@
1
+ declare global {
2
+ var Files: files;
3
+ }
4
+
5
+ interface files {
6
+ /**
7
+ * 读取文件内容
8
+ * @param path 文件路径
9
+ * @return 文件内容,如果失败返回null
10
+ */
11
+ public read(path: string): string | null;
12
+
13
+ /**
14
+ * 写入内容到文件
15
+ * @param path 文件路径
16
+ * @param content 要写入的内容
17
+ * @return 成功返回true,失败返回false
18
+ */
19
+ public write(path: string, content: string): boolean;
20
+
21
+ /**
22
+ * 追加内容到文件
23
+ * @param path 文件路径
24
+ * @param content 要追加的内容
25
+ * @return 成功返回true,失败返回false
26
+ */
27
+ public append(path: string, content: string): boolean;
28
+
29
+ /**
30
+ * 删除文件或目录
31
+ * @param path 文件或目录路径
32
+ * @return 成功返回true,失败返回false
33
+ */
34
+ public delete(path: string): boolean;
35
+
36
+ /**
37
+ * 检查文件或目录是否存在
38
+ * @param path 文件或目录路径
39
+ * @return 存在返回true,不存在返回false
40
+ */
41
+ public exists(path: string): boolean;
42
+
43
+ /**
44
+ * 创建目录(包括父目录)
45
+ * @param path 目录路径
46
+ * @return 成功返回true,失败返回false
47
+ */
48
+ public mkdirs(path: string): boolean;
49
+
50
+ /**
51
+ * 列出目录中的文件
52
+ * @param path 目录路径
53
+ * @return 文件名数组
54
+ */
55
+ public list(path: string): string[];
56
+
57
+ /**
58
+ * 列出目录中的文件(包含完整路径)
59
+ * @param path 目录路径
60
+ * @return 文件完整路径数组
61
+ */
62
+ public listFiles(path: string): string[];
63
+
64
+ /**
65
+ * 复制文件
66
+ * @param source 源文件路径
67
+ * @param destination 目标文件路径
68
+ * @return 成功返回true,失败返回false
69
+ */
70
+ public copy(source: string, destination: string): boolean;
71
+
72
+ /**
73
+ * 移动文件
74
+ * @param source 源文件路径
75
+ * @param destination 目标文件路径
76
+ * @return 成功返回true,失败返回false
77
+ */
78
+ public move(source: string, destination: string): boolean;
79
+
80
+ /**
81
+ * 获取文件大小(字节)
82
+ * @param path 文件路径
83
+ * @return 文件大小(字节),如果文件不存在或为目录返回-1
84
+ */
85
+ public size(path: string): number;
86
+
87
+ /**
88
+ * 检查路径是否为目录
89
+ * @param path 路径
90
+ * @return 是目录返回true,否则返回false
91
+ */
92
+ public isDirectory(path: string): boolean;
93
+
94
+ /**
95
+ * 检查路径是否为文件
96
+ * @param path 路径
97
+ * @return 是文件返回true,否则返回false
98
+ */
99
+ public isFile(path: string): boolean;
100
+
101
+ /**
102
+ * 获取文件名
103
+ * @param path 文件路径
104
+ * @return 文件名
105
+ */
106
+ public getName(path: string): string;
107
+
108
+ /**
109
+ * 获取父目录路径
110
+ * @param path 文件路径
111
+ * @return 父目录路径
112
+ */
113
+ public getParent(path: string): string;
114
+
115
+ /**
116
+ * 获取绝对路径
117
+ * @param path 文件路径
118
+ * @return 绝对路径
119
+ */
120
+ public getAbsolutePath(path: string): string;
121
+
122
+ /**
123
+ * 重命名文件或目录
124
+ * @param oldPath 旧路径
125
+ * @param newPath 新路径
126
+ * @return 成功返回true,失败返回false
127
+ */
128
+ public rename(oldPath: string, newPath: string): boolean;
129
+
130
+ /**
131
+ * 获取最后修改时间
132
+ * @param path 文件路径
133
+ * @return 最后修改时间(毫秒),如果文件不存在返回-1
134
+ */
135
+ public lastModified(path: string): number;
136
+
137
+ /**
138
+ * 从URI读取内容(支持content://和file://等URI)
139
+ * @param uriString URI字符串
140
+ * @return 内容,如果失败返回null
141
+ */
142
+ public readUri(uriString: string): string | null;
143
+
144
+ /**
145
+ * 从URI读取字节数组(支持content://和file://等URI,用于读取图片等二进制文件)
146
+ * @param uriString URI字符串
147
+ * @return 字节数组,如果失败返回null
148
+ */
149
+ public readBytesFromUri(uriString: string): number[] | null;
150
+
151
+ /**
152
+ * 从content URI获取真实文件路径
153
+ * @param uriString content URI字符串
154
+ * @return 真实文件路径,如果失败返回null
155
+ */
156
+ public getPathFromUri(uriString: string): string | null;
157
+
158
+ /**
159
+ * 从文件读取字节数组
160
+ * @param path 文件路径
161
+ * @return 字节数组,如果失败返回null
162
+ */
163
+ public readBytes(path: string): number[] | null;
164
+
165
+ /**
166
+ * 写入字节数组到文件
167
+ * @param path 文件路径
168
+ * @param bytes 要写入的字节数组
169
+ * @return 成功返回true,失败返回false
170
+ */
171
+ public writeBytes(path: string, bytes: number[]): boolean;
172
+
173
+ /**
174
+ * 从URI复制文件到目标路径
175
+ * @param uriString 源URI字符串
176
+ * @param destination 目标文件路径
177
+ * @return 成功返回true,失败返回false
178
+ */
179
+ public copyFromUri(uriString: string, destination: string): boolean;
180
+
181
+ /**
182
+ * 获取外部存储根目录路径
183
+ * @return 外部存储路径
184
+ */
185
+ public getExternalStoragePath(): string;
186
+
187
+ /**
188
+ * 获取应用私有文件目录路径
189
+ * @return 文件目录路径
190
+ */
191
+ public getFilesPath(): string;
192
+
193
+ /**
194
+ * 获取应用缓存目录路径
195
+ * @return 缓存目录路径
196
+ */
197
+ public getCachePath(): string;
198
+
199
+ /**
200
+ * 获取应用外部私有文件目录路径
201
+ * @param type 文件目录类型(如"Pictures"、"Documents"),null表示根目录
202
+ * @return 外部文件目录路径
203
+ */
204
+ public getExternalFilesPath(type: string | null): string;
205
+
206
+ /**
207
+ * 获取应用外部私有文件根目录路径
208
+ * @return 外部文件目录路径
209
+ */
210
+ public getExternalFilesPath(): string;
211
+
212
+ /**
213
+ * 获取Download目录路径
214
+ * @return Download目录路径
215
+ */
216
+ public getDownloadPath(): string;
217
+
218
+ /**
219
+ * 获取Pictures目录路径
220
+ * @return Pictures目录路径
221
+ */
222
+ public getPicturesPath(): string;
223
+
224
+ /**
225
+ * 获取DCIM目录路径
226
+ * @return DCIM目录路径
227
+ */
228
+ public getDCIMPath(): string;
229
+
230
+ /**
231
+ * 获取Movies目录路径
232
+ * @return Movies目录路径
233
+ */
234
+ public getMoviesPath(): string;
235
+
236
+ /**
237
+ * 获取Music目录路径
238
+ * @return Music目录路径
239
+ */
240
+ public getMusicPath(): string;
241
+
242
+ /**
243
+ * 获取Documents目录路径
244
+ * @return Documents目录路径
245
+ */
246
+ public getDocumentsPath(): string;
247
+
248
+ /**
249
+ * 从assets读取文件
250
+ * @param fileName assets目录中的文件名
251
+ * @return 文件内容,如果失败返回null
252
+ */
253
+ public readAsset(fileName: string): string | null;
254
+
255
+ /**
256
+ * 检查外部存储是否可用且可写
257
+ * @return 可用且可写返回true,否则返回false
258
+ */
259
+ public isExternalStorageWritable(): boolean;
260
+
261
+ /**
262
+ * 检查外部存储是否可读
263
+ * @return 可读返回true,否则返回false
264
+ */
265
+ public isExternalStorageReadable(): boolean;
266
+
267
+ /**
268
+ * 获取文件扩展名
269
+ * @param path 文件路径
270
+ * @return 文件扩展名(不含点),如果没有扩展名返回空字符串
271
+ */
272
+ public getExtension(path: string): string;
273
+
274
+ /**
275
+ * 获取不带扩展名的文件名
276
+ * @param path 文件路径
277
+ * @return 不带扩展名的文件名
278
+ */
279
+ public getNameWithoutExtension(path: string): string;
280
+ }
281
+
282
+ export { };
283
+