@dompling/trollscript-types 1.0.24

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 (2) hide show
  1. package/index.d.ts +2145 -0
  2. package/package.json +14 -0
package/index.d.ts ADDED
@@ -0,0 +1,2145 @@
1
+ // Type definitions for TrollScript
2
+ // Project: https://github.com/dompling/TrollScript-Release
3
+ // Definitions by: TrollScript Auto Generator
4
+
5
+ interface Console {
6
+ /**
7
+ * 输出日志信息
8
+ * @param args 要输出的内容
9
+ * @returns 无返回值
10
+ */
11
+ log(...args: any[]): void;
12
+
13
+ /**
14
+ * 输出错误信息
15
+ * @param args 要输出的内容
16
+ * @returns 无返回值
17
+ */
18
+ error(...args: any[]): void;
19
+
20
+ /**
21
+ * 输出警告信息
22
+ * @param args 要输出的内容
23
+ * @returns 无返回值
24
+ */
25
+ warn(...args: any[]): void;
26
+
27
+ /**
28
+ * 输出提示信息
29
+ * @param args 要输出的内容
30
+ * @returns 无返回值
31
+ */
32
+ info(...args: any[]): void;
33
+
34
+ /**
35
+ * 输出调试信息
36
+ * @param args 要输出的内容
37
+ * @returns 无返回值
38
+ */
39
+ debug(...args: any[]): void;
40
+
41
+ /**
42
+ * 以表格形式输出
43
+ * @param data 要显示的表格数据
44
+ * @returns 无返回值
45
+ */
46
+ table(data: any): void;
47
+
48
+ /**
49
+ * 清空控制台
50
+ * @returns 无返回值
51
+ */
52
+ clear(): void;
53
+
54
+ }
55
+
56
+ declare const console: Console;
57
+
58
+ interface Device {
59
+ /**
60
+ * 获取设备信息
61
+ * @returns 包含设备名称、型号、系统版本等信息的对象
62
+ */
63
+ info(): any;
64
+
65
+ /**
66
+ * 获取电池信息
67
+ * @returns 包含电量(0-1)、充电状态、低电量模式等信息的对象
68
+ */
69
+ battery(): any;
70
+
71
+ /**
72
+ * 获取屏幕信息
73
+ * @returns 包含屏幕尺寸、缩放比例、亮度等信息的对象
74
+ */
75
+ screen(): any;
76
+
77
+ }
78
+
79
+ declare const device: Device;
80
+
81
+ interface Clipboard {
82
+ /**
83
+ * 获取剪贴板文本
84
+ * @returns 剪贴板中的文本内容
85
+ */
86
+ getText(): string;
87
+
88
+ /**
89
+ * 设置剪贴板文本
90
+ * @param text 要设置的文本内容
91
+ * @returns 无返回值
92
+ */
93
+ setText(text: string): void;
94
+
95
+ /**
96
+ * 清空剪贴板
97
+ * @returns 无返回值
98
+ */
99
+ clear(): void;
100
+
101
+ }
102
+
103
+ declare const clipboard: Clipboard;
104
+
105
+ interface Storage {
106
+ /**
107
+ * 获取存储值
108
+ * @param key 键名
109
+ * @returns 存储的值,如果不存在返回 undefined
110
+ */
111
+ get(key: string): any;
112
+
113
+ /**
114
+ * 设置存储值
115
+ * @param key 键名
116
+ * @param value 要存储的值
117
+ * @returns 无返回值
118
+ */
119
+ set(key: string, value: any): void;
120
+
121
+ /**
122
+ * 删除存储值
123
+ * @param key 键名
124
+ * @returns 无返回值
125
+ */
126
+ remove(key: string): void;
127
+
128
+ /**
129
+ * 清空所有存储
130
+ * @returns 无返回值
131
+ */
132
+ clear(): void;
133
+
134
+ /**
135
+ * 检查键是否存在
136
+ * @param key 键名
137
+ * @returns 是否存在
138
+ */
139
+ has(key: string): boolean;
140
+
141
+ }
142
+
143
+ declare const storage: Storage;
144
+
145
+ interface Icloud {
146
+ /**
147
+ * 检查 iCloud 是否可用
148
+ * @returns 是否可用
149
+ */
150
+ isAvailable(): boolean;
151
+
152
+ /**
153
+ * 获取 iCloud 容器路径
154
+ * @returns iCloud 容器的本地路径,不可用时返回 null
155
+ */
156
+ containerPath(): any;
157
+
158
+ /**
159
+ * 读取 iCloud 文件
160
+ * @param path 文件路径(相对于 iCloud 容器)
161
+ * @returns 文件内容
162
+ */
163
+ read(path: string): string;
164
+
165
+ /**
166
+ * 写入 iCloud 文件
167
+ * @param path 文件路径
168
+ * @param content 要写入的内容
169
+ * @returns 是否写入成功
170
+ */
171
+ write(path: string, content: string): boolean;
172
+
173
+ /**
174
+ * 删除 iCloud 文件
175
+ * @param path 文件路径
176
+ * @returns 是否删除成功
177
+ */
178
+ delete(path: string): boolean;
179
+
180
+ /**
181
+ * 列出 iCloud 目录
182
+ * @param path 目录路径,默认为根目录
183
+ * @returns 文件名列表数组
184
+ */
185
+ list(path: string): any;
186
+
187
+ }
188
+
189
+ declare const icloud: Icloud;
190
+
191
+ interface File {
192
+ /**
193
+ * 读取文件内容
194
+ * @param path 文件绝对路径
195
+ * @returns 文件内容
196
+ */
197
+ read(path: string): string;
198
+
199
+ /**
200
+ * 写入文件内容
201
+ * @param path 文件绝对路径
202
+ * @param content 要写入的内容
203
+ * @returns 是否写入成功
204
+ */
205
+ write(path: string, content: string): boolean;
206
+
207
+ /**
208
+ * 追加文件内容
209
+ * @param path 文件绝对路径
210
+ * @param content 要追加的内容
211
+ * @returns 是否追加成功
212
+ */
213
+ append(path: string, content: string): boolean;
214
+
215
+ /**
216
+ * 检查文件是否存在
217
+ * @param path 文件绝对路径
218
+ * @returns 文件是否存在
219
+ */
220
+ exists(path: string): boolean;
221
+
222
+ /**
223
+ * 删除文件
224
+ * @param path 文件绝对路径
225
+ * @returns 是否删除成功
226
+ */
227
+ delete(path: string): boolean;
228
+
229
+ /**
230
+ * 移动文件
231
+ * @param from 源路径
232
+ * @param to 目标路径
233
+ * @returns 是否移动成功
234
+ */
235
+ move(from: string, to: string): boolean;
236
+
237
+ /**
238
+ * 复制文件
239
+ * @param from 源路径
240
+ * @param to 目标路径
241
+ * @returns 是否复制成功
242
+ */
243
+ copy(from: string, to: string): boolean;
244
+
245
+ /**
246
+ * 列出目录内容
247
+ * @param path 目录路径
248
+ * @returns 文件名列表数组
249
+ */
250
+ list(path: string): any;
251
+
252
+ /**
253
+ * 创建目录
254
+ * @param path 目录路径
255
+ * @returns 是否创建成功
256
+ */
257
+ mkdir(path: string): boolean;
258
+
259
+ /**
260
+ * 获取文件信息
261
+ * @param path 文件路径
262
+ * @returns 包含大小(字节)、修改时间(时间戳)、创建时间(时间戳)、类型(file/directory)的对象
263
+ */
264
+ stat(path: string): any;
265
+
266
+ /**
267
+ * 判断是否是目录
268
+ * @param path 文件路径
269
+ * @returns 是否是目录
270
+ */
271
+ isDirectory(path: string): boolean;
272
+
273
+ /**
274
+ * 获取文档目录路径
275
+ * @returns Documents 目录的绝对路径
276
+ */
277
+ documentsPath(): string;
278
+
279
+ /**
280
+ * 获取缓存目录路径
281
+ * @returns Caches 目录的绝对路径
282
+ */
283
+ cachePath(): string;
284
+
285
+ /**
286
+ * 获取临时目录路径
287
+ * @returns Temporary 目录的绝对路径
288
+ */
289
+ tempPath(): string;
290
+
291
+ /**
292
+ * 调试路径访问权限详情
293
+ * @param path 文件路径
294
+ * @returns 调试信息字符串
295
+ */
296
+ debug(path: string): string;
297
+
298
+ /**
299
+ * 使用 Root 权限读取受保护文件(需要 TrollStore)
300
+ * @param path 文件绝对路径
301
+ * @returns 文件内容,读取失败返回 null
302
+ */
303
+ rootRead(path: string): any;
304
+
305
+ /**
306
+ * 使用 Root 权限列出受保护目录(需要 TrollStore)
307
+ * @param path 目录绝对路径
308
+ * @returns 文件名列表,失败返回 null
309
+ */
310
+ rootList(path: string): any;
311
+
312
+ /**
313
+ * 使用 Root 权限复制受保护文件(需要 TrollStore)
314
+ * @param src 源文件路径
315
+ * @param dest 目标文件路径
316
+ * @returns 是否复制成功
317
+ */
318
+ rootCopy(src: string, dest: string): boolean;
319
+
320
+ /**
321
+ * 使用 Root 权限检查路径信息(需要 TrollStore)
322
+ * @param path 文件或目录路径
323
+ * @returns 包含读写权限、存在状态等调试信息的对象
324
+ */
325
+ rootCheck(path: string): any;
326
+
327
+ /**
328
+ * 使用 Root 权限检查文件是否存在(需要 TrollStore)
329
+ * @param path 文件路径
330
+ * @returns 是否存在
331
+ */
332
+ rootExists(path: string): boolean;
333
+
334
+ /**
335
+ * 检查 Root Helper 是否可用
336
+ * @returns 是否可用
337
+ */
338
+ rootAvailable(): boolean;
339
+
340
+ }
341
+
342
+ declare const file: File;
343
+
344
+ interface Http {
345
+ /**
346
+ * 发送 GET 请求
347
+ * @param url 请求地址
348
+ * @param options 请求选项 { headers, timeout }
349
+ * @returns 包含状态码、响应数据、响应头的对象
350
+ */
351
+ get(url: string, options: Record<string, any>): any;
352
+
353
+ /**
354
+ * 发送 POST 请求
355
+ * @param url 请求地址
356
+ * @param options 请求选项 { body, headers, timeout }
357
+ */
358
+ post(url: string, options: Record<string, any>): any;
359
+
360
+ /**
361
+ * 发送 PUT 请求
362
+ * @param url 请求地址
363
+ * @param options 请求选项 { body, headers, timeout }
364
+ */
365
+ put(url: string, options: Record<string, any>): any;
366
+
367
+ /**
368
+ * 发送 DELETE 请求
369
+ * @param url 请求地址
370
+ * @param options 请求选项 { headers, timeout }
371
+ */
372
+ delete(url: string, options: Record<string, any>): any;
373
+
374
+ /**
375
+ * 发送 PATCH 请求
376
+ * @param url 请求地址
377
+ * @param options 请求选项 { body, headers, timeout }
378
+ */
379
+ patch(url: string, options: Record<string, any>): any;
380
+
381
+ /**
382
+ * 发送 HEAD 请求
383
+ * @param url 请求地址
384
+ * @param options 请求选项 { headers, timeout }
385
+ */
386
+ head(url: string, options: Record<string, any>): any;
387
+
388
+ /**
389
+ * 发送自定义请求
390
+ * @param url 请求地址
391
+ * @param options 请求选项 { method, body, headers, timeout }
392
+ */
393
+ request(url: string, options: Record<string, any>): any;
394
+
395
+ /**
396
+ * 下载文件
397
+ * @param url 下载地址
398
+ * @param path 保存路径
399
+ * @returns 包含本地文件路径的对象
400
+ */
401
+ download(url: string, path: string): any;
402
+
403
+ }
404
+
405
+ declare const http: Http;
406
+
407
+ interface Network {
408
+ /**
409
+ * 检查网络是否可用
410
+ * @returns 网络是否可用
411
+ */
412
+ isReachable(): boolean;
413
+
414
+ /**
415
+ * 获取连接类型
416
+ * @returns 连接类型(wifi/cellular/none)
417
+ */
418
+ getConnectionType(): any;
419
+
420
+ /**
421
+ * 获取设备 IP 地址
422
+ * @returns IP 地址
423
+ */
424
+ getIPAddress(): any;
425
+
426
+ /**
427
+ * 获取 WiFi 信息
428
+ * @returns 包含 SSID 和 BSSID 的对象
429
+ */
430
+ getWiFiInfo(): any;
431
+
432
+ /**
433
+ * URL 编码
434
+ * @param string 要编码的字符串
435
+ * @returns 编码后的 URL 字符串
436
+ */
437
+ encodeURL(string: string): string;
438
+
439
+ /**
440
+ * URL 解码
441
+ * @param string 要解码的字符串
442
+ * @returns 解码后的 URL 字符串
443
+ */
444
+ decodeURL(string: string): string;
445
+
446
+ /**
447
+ * 解析 URL 组件
448
+ * @param url 要解析的 URL
449
+ * @returns 包含 URL 组件的对象
450
+ */
451
+ parseURL(url: string): any;
452
+
453
+ /**
454
+ * 构建带参数的 URL
455
+ * @param baseURL 基础 URL
456
+ * @param params 查询参数
457
+ * @returns 构建的 URL 字符串
458
+ */
459
+ buildURL(baseURL: string, params: Record<string, any>): string;
460
+
461
+ /**
462
+ * Ping 主机
463
+ * @param host 主机名或 IP
464
+ * @returns 包含延迟和成功状态的对象
465
+ */
466
+ ping(host: string): any;
467
+
468
+ /**
469
+ * 下载文件
470
+ * @param url 下载地址
471
+ * @param filename 保存文件名
472
+ * @returns 包含本地文件路径的对象
473
+ */
474
+ download(url: string, filename: string): any;
475
+
476
+ /**
477
+ * 获取飞行模式状态
478
+ * @returns 是否开启
479
+ */
480
+ getAirplaneMode(): boolean;
481
+
482
+ /**
483
+ * 设置飞行模式
484
+ * @param enabled 是否开启
485
+ * @returns 是否设置成功
486
+ */
487
+ setAirplaneMode(enabled: boolean): boolean;
488
+
489
+ /**
490
+ * 列出 VPN 配置
491
+ * @returns VPN 配置列表
492
+ */
493
+ listVPNs(): any;
494
+
495
+ /**
496
+ * 连接 VPN
497
+ * @param name VPN 名称,默认第一个
498
+ * @returns 是否发起连接成功
499
+ */
500
+ connectVPN(name: string): boolean;
501
+
502
+ /**
503
+ * 断开 VPN
504
+ * @returns 是否发起断开成功
505
+ */
506
+ disconnectVPN(): boolean;
507
+
508
+ /**
509
+ * 获取 VPN 状态
510
+ * @returns 包含连接状态和 VPN 名称的对象
511
+ */
512
+ getVPNStatus(): any;
513
+
514
+ /**
515
+ * 获取 WiFi 开关状态
516
+ * @returns 是否开启
517
+ */
518
+ getWiFiEnabled(): boolean;
519
+
520
+ /**
521
+ * 设置 WiFi 开关
522
+ * @param enabled 是否开启
523
+ * @returns 是否设置成功
524
+ */
525
+ setWiFi(enabled: boolean): boolean;
526
+
527
+ /**
528
+ * 打开系统设置
529
+ * @param section 设置页面(如 'WIFI')
530
+ * @returns 是否成功打开
531
+ */
532
+ openSettings(section: string): boolean;
533
+
534
+ }
535
+
536
+ declare const network: Network;
537
+
538
+ interface App {
539
+ /**
540
+ * 获取应用版本
541
+ * @returns 应用版本号
542
+ */
543
+ version(): string;
544
+
545
+ /**
546
+ * 打开 URL/Scheme
547
+ * @param url 要打开的 URL
548
+ * @returns 是否成功打开
549
+ */
550
+ open(url: string): any;
551
+
552
+ /**
553
+ * 检查是否能打开
554
+ * @param url 要检查的 URL
555
+ * @returns 是否能打开
556
+ */
557
+ canOpen(url: string): boolean;
558
+
559
+ /**
560
+ * 震动反馈
561
+ * @returns 无返回值
562
+ */
563
+ vibrate(): void;
564
+
565
+ /**
566
+ * 获取应用日志
567
+ * @param limit 返回的日志条数
568
+ * @returns 日志对象数组
569
+ */
570
+ getLogs(limit: number): any;
571
+
572
+ /**
573
+ * 导出日志为字符串
574
+ * @returns 导出的日志内容
575
+ */
576
+ exportLogs(): string;
577
+
578
+ /**
579
+ * 获取所有崩溃报告
580
+ * @returns 崩溃报告数组
581
+ */
582
+ getCrashReports(): any;
583
+
584
+ /**
585
+ * 获取最近一次崩溃报告
586
+ * @returns 最近一次崩溃报告
587
+ */
588
+ getLastCrash(): any;
589
+
590
+ /**
591
+ * 清除所有日志
592
+ * @returns 无返回值
593
+ */
594
+ clearLogs(): void;
595
+
596
+ }
597
+
598
+ declare const app: App;
599
+
600
+ interface Ui {
601
+ /**
602
+ * 显示提示框
603
+ * @param title 标题
604
+ * @param message 内容
605
+ * @param buttonTitle 按钮文字
606
+ * @returns 无返回值
607
+ */
608
+ alert(title: string, message: string, buttonTitle: string): any;
609
+
610
+ /**
611
+ * 显示 Toast 提示
612
+ * @param message 提示内容
613
+ * @param duration 持续时间(秒)
614
+ * @returns 无返回值
615
+ */
616
+ toast(message: string, duration: number): void;
617
+
618
+ /**
619
+ * 显示确认对话框
620
+ * @param title 标题
621
+ * @param message 内容
622
+ * @param confirmTitle 确认按钮文字
623
+ * @param cancelTitle 取消按钮文字
624
+ * @returns 是否点击了确认
625
+ */
626
+ confirm(title: string, message: string, confirmTitle: string, cancelTitle: string): any;
627
+
628
+ /**
629
+ * 显示输入对话框
630
+ * @param title 标题
631
+ * @param message 内容
632
+ * @param defaultValue 默认值
633
+ * @param placeholder 占位符
634
+ * @returns 输入的文本,取消返回 null
635
+ */
636
+ prompt(title: string, message: string, defaultValue: string, placeholder: string): any;
637
+
638
+ /**
639
+ * 显示操作表单
640
+ * @param title 标题
641
+ * @param message 内容
642
+ * @param actions 选项列表
643
+ * @returns 选择的按钮索引(从0开始)
644
+ */
645
+ actionSheet(title: string, message: string, actions: any): any;
646
+
647
+ /**
648
+ * 显示加载指示器
649
+ * @param message 加载提示
650
+ * @returns 无返回值
651
+ */
652
+ showLoading(message: string): void;
653
+
654
+ /**
655
+ * 隐藏加载指示器
656
+ * @returns 无返回值
657
+ */
658
+ hideLoading(): void;
659
+
660
+ }
661
+
662
+ declare const ui: Ui;
663
+
664
+ interface Haptic {
665
+ /**
666
+ * 触觉冲击反馈
667
+ * @param style 'light' | 'medium' | 'heavy' | 'soft' | 'rigid'
668
+ * @returns 无返回值
669
+ */
670
+ impact(style: string): void;
671
+
672
+ /**
673
+ * 通知触觉反馈
674
+ * @param type 'success' | 'warning' | 'error'
675
+ * @returns 无返回值
676
+ */
677
+ notification(type: string): void;
678
+
679
+ /**
680
+ * 选择触觉反馈
681
+ * @returns 无返回值
682
+ */
683
+ selection(): void;
684
+
685
+ /**
686
+ * 设备振动
687
+ * @returns 无返回值
688
+ */
689
+ vibrate(): void;
690
+
691
+ /**
692
+ * 轻度冲击
693
+ * @returns 无返回值
694
+ */
695
+ light(): void;
696
+
697
+ /**
698
+ * 中度冲击
699
+ * @returns 无返回值
700
+ */
701
+ medium(): void;
702
+
703
+ /**
704
+ * 重度冲击
705
+ * @returns 无返回值
706
+ */
707
+ heavy(): void;
708
+
709
+ /**
710
+ * 成功反馈
711
+ * @returns 无返回值
712
+ */
713
+ success(): void;
714
+
715
+ /**
716
+ * 警告反馈
717
+ * @returns 无返回值
718
+ */
719
+ warning(): void;
720
+
721
+ /**
722
+ * 错误反馈
723
+ * @returns 无返回值
724
+ */
725
+ error(): void;
726
+
727
+ }
728
+
729
+ declare const haptic: Haptic;
730
+
731
+ interface Display {
732
+ /**
733
+ * 获取屏幕亮度
734
+ * @returns 当前亮度(0.0-1.0)
735
+ */
736
+ getBrightness(): number;
737
+
738
+ /**
739
+ * 设置屏幕亮度
740
+ * @param value 亮度值 (0.0 - 1.0)
741
+ * @returns 无返回值
742
+ */
743
+ setBrightness(value: number): void;
744
+
745
+ /**
746
+ * 增加亮度
747
+ * @param amount 增加量 (默认 0.1)
748
+ * @returns 无返回值
749
+ */
750
+ increaseBrightness(amount: number): void;
751
+
752
+ /**
753
+ * 降低亮度
754
+ * @param amount 减少量 (默认 0.1)
755
+ * @returns 无返回值
756
+ */
757
+ decreaseBrightness(amount: number): void;
758
+
759
+ /**
760
+ * 获取屏幕信息
761
+ * @returns 包含宽度、高度、缩放比例的对象
762
+ */
763
+ getScreenInfo(): any;
764
+
765
+ /**
766
+ * 获取屏幕方向
767
+ * @returns 屏幕方向
768
+ */
769
+ getOrientation(): any;
770
+
771
+ /**
772
+ * 低电量模式是否开启
773
+ * @returns 是否开启
774
+ */
775
+ isLowPowerModeEnabled(): boolean;
776
+
777
+ /**
778
+ * 设置低电量模式
779
+ * @param enabled 是否开启
780
+ * @returns 是否设置成功
781
+ */
782
+ setLowPowerMode(enabled: boolean): boolean;
783
+
784
+ /**
785
+ * 获取夜览状态
786
+ * @returns 是否开启
787
+ */
788
+ getNightShiftStatus(): boolean;
789
+
790
+ /**
791
+ * 设置夜览
792
+ * @param enabled 是否开启
793
+ * @returns 是否设置成功
794
+ */
795
+ setNightShift(enabled: boolean): boolean;
796
+
797
+ /**
798
+ * 获取原彩显示状态
799
+ * @returns 是否开启
800
+ */
801
+ getTrueToneStatus(): boolean;
802
+
803
+ /**
804
+ * 设置原彩显示
805
+ * @param enabled 是否开启
806
+ * @returns 是否设置成功
807
+ */
808
+ setTrueTone(enabled: boolean): boolean;
809
+
810
+ /**
811
+ * 自动亮度是否开启
812
+ * @returns 是否开启
813
+ */
814
+ isAutoBrightnessEnabled(): boolean;
815
+
816
+ /**
817
+ * 设置自动亮度
818
+ * @param enabled 是否开启
819
+ * @returns 是否设置成功
820
+ */
821
+ setAutoBrightness(enabled: boolean): boolean;
822
+
823
+ /**
824
+ * 打开显示设置
825
+ * @returns 是否成功打开
826
+ */
827
+ openSettings(): boolean;
828
+
829
+ }
830
+
831
+ declare const display: Display;
832
+
833
+ interface Util {
834
+ /**
835
+ * 生成 UUID
836
+ * @returns 生成的 UUID
837
+ */
838
+ uuid(): string;
839
+
840
+ /**
841
+ * 计算 MD5
842
+ * @param string 要计算的字符串
843
+ * @returns MD5 哈希值
844
+ */
845
+ md5(string: string): string;
846
+
847
+ /**
848
+ * Base64 编码
849
+ * @param string 要编码的字符串
850
+ * @returns Base64 编码字符串
851
+ */
852
+ base64Encode(string: string): string;
853
+
854
+ /**
855
+ * Base64 解码
856
+ * @param string 要解码的字符串
857
+ * @returns 解码后的原始字符串
858
+ */
859
+ base64Decode(string: string): string;
860
+
861
+ /**
862
+ * 格式化日期
863
+ * @param date 日期对象
864
+ * @param format 格式字符串 (如 'yyyy-MM-dd')
865
+ * @returns 格式化后的日期字符串
866
+ */
867
+ formatDate(date: any, format: string): string;
868
+
869
+ }
870
+
871
+ declare const util: Util;
872
+
873
+ interface Location {
874
+ /**
875
+ * 请求定位权限
876
+ * @returns 无返回值
877
+ */
878
+ requestAccess(): void;
879
+
880
+ /**
881
+ * 获取权限状态
882
+ * @returns 权限状态
883
+ */
884
+ getAccessStatus(): any;
885
+
886
+ /**
887
+ * 检查是否已授权
888
+ * @returns 是否已授权
889
+ */
890
+ isAuthorized(): boolean;
891
+
892
+ /**
893
+ * 获取当前位置
894
+ * @returns 位置信息对象(包含经纬度、海拔等)
895
+ */
896
+ getCurrent(): any;
897
+
898
+ /**
899
+ * 获取当前位置(别名)
900
+ * @returns 位置信息对象
901
+ */
902
+ current(): any;
903
+
904
+ /**
905
+ * 计算两点距离
906
+ * @param lat1 点1纬度
907
+ * @param lng1 点1经度
908
+ * @param lat2 点2纬度
909
+ * @param lng2 点2经度
910
+ * @returns 距离(米)
911
+ */
912
+ distance(lat1: number, lng1: number, lat2: number, lng2: number): number;
913
+
914
+ /**
915
+ * 地址转坐标
916
+ * @param address 地址字符串
917
+ * @returns 地理位置对象数组
918
+ */
919
+ geocode(address: string): any;
920
+
921
+ /**
922
+ * 坐标转地址
923
+ * @param lat 纬度
924
+ * @param lng 经度
925
+ * @returns 地址信息对象数组
926
+ */
927
+ reverseGeocode(lat: number, lng: number): any;
928
+
929
+ /**
930
+ * 定位服务是否开启
931
+ * @returns 是否开启
932
+ */
933
+ isLocationServicesEnabled(): boolean;
934
+
935
+ }
936
+
937
+ declare const location: Location;
938
+
939
+ interface Weather {
940
+ /**
941
+ * 获取当前天气
942
+ * @param city 城市名
943
+ * @returns 当前天气对象
944
+ */
945
+ current(city: string): any;
946
+
947
+ /**
948
+ * 获取天气预报
949
+ * @param city 城市名
950
+ * @param days 天数
951
+ * @returns 天气预报数组
952
+ */
953
+ forecast(city: string, days: number): any;
954
+
955
+ /**
956
+ * 根据经纬度获取天气
957
+ * @param lat 纬度
958
+ * @param lng 经度
959
+ * @returns 指定位置的天气对象
960
+ */
961
+ byLocation(lat: number, lng: number): any;
962
+
963
+ }
964
+
965
+ declare const weather: Weather;
966
+
967
+ interface Health {
968
+ /**
969
+ * 检查 HealthKit 是否可用
970
+ * @returns 是否可用
971
+ */
972
+ isAvailable(): boolean;
973
+
974
+ /**
975
+ * 请求健康数据权限
976
+ * @param types 权限类型列表 ('stepCount', 'heartRate', 'sleepAnalysis', 'activeEnergyBurned', 'distanceWalkingRunning', 'bodyMass', 'height')
977
+ * @returns 是否授权成功
978
+ */
979
+ requestAccess(types: any): any;
980
+
981
+ /**
982
+ * 获取授权状态
983
+ * @param type 权限类型
984
+ * @returns 权限状态
985
+ */
986
+ getAuthorizationStatus(type: string): any;
987
+
988
+ /**
989
+ * 获取今日步数
990
+ * @returns 今日步数
991
+ */
992
+ getTodaySteps(): any;
993
+
994
+ /**
995
+ * 获取指定日期步数
996
+ * @param startTimestamp 开始时间戳
997
+ * @param endTimestamp 结束时间戳
998
+ * @returns 步数
999
+ */
1000
+ getSteps(startTimestamp: number, endTimestamp: number): any;
1001
+
1002
+ /**
1003
+ * 获取最新心率
1004
+ * @returns 最新心率对象
1005
+ */
1006
+ getLatestHeartRate(): any;
1007
+
1008
+ /**
1009
+ * 获取心率历史
1010
+ * @param startTimestamp 开始时间戳
1011
+ * @param endTimestamp 结束时间戳
1012
+ * @param limit 限制条数
1013
+ * @returns 心率历史数组
1014
+ */
1015
+ getHeartRateHistory(startTimestamp: number, endTimestamp: number, limit: number): any;
1016
+
1017
+ /**
1018
+ * 获取最近睡眠
1019
+ * @returns 最近睡眠记录
1020
+ */
1021
+ getLatestSleep(): any;
1022
+
1023
+ /**
1024
+ * 获取睡眠历史
1025
+ * @param days 天数
1026
+ * @returns 睡眠历史记录数组
1027
+ */
1028
+ getSleepHistory(days: number): any;
1029
+
1030
+ /**
1031
+ * 获取今日活动能量
1032
+ * @returns 今日活动能量(千卡)
1033
+ */
1034
+ getTodayActiveEnergy(): any;
1035
+
1036
+ /**
1037
+ * 获取今日行走距离
1038
+ * @returns 今日行走距离(米)
1039
+ */
1040
+ getTodayDistance(): any;
1041
+
1042
+ /**
1043
+ * 获取最新体重
1044
+ * @returns 最新体重记录
1045
+ */
1046
+ getLatestWeight(): any;
1047
+
1048
+ /**
1049
+ * 获取身高
1050
+ * @returns 身高记录
1051
+ */
1052
+ getHeight(): any;
1053
+
1054
+ /**
1055
+ * 获取今日健康摘要
1056
+ * @returns 今日健康摘要对象
1057
+ */
1058
+ getTodaySummary(): any;
1059
+
1060
+ /**
1061
+ * 获取支持的数据类型
1062
+ * @returns 支持的健康数据类型数组
1063
+ */
1064
+ getSupportedTypes(): any;
1065
+
1066
+ }
1067
+
1068
+ declare const health: Health;
1069
+
1070
+ interface Calendar {
1071
+ /**
1072
+ * 检查权限状态
1073
+ */
1074
+ isAuthorized(): boolean;
1075
+
1076
+ /**
1077
+ * 请求日历权限
1078
+ * @returns 是否授权成功
1079
+ */
1080
+ requestAccess(): any;
1081
+
1082
+ /**
1083
+ * 获取所有日历
1084
+ * @returns 日历列表数组
1085
+ */
1086
+ getCalendars(): any;
1087
+
1088
+ /**
1089
+ * 获取今日事件
1090
+ * @returns 今日事件数组
1091
+ */
1092
+ getToday(): any;
1093
+
1094
+ /**
1095
+ * 获取日历事件
1096
+ * @param start 开始时间戳
1097
+ * @param end 结束时间戳
1098
+ * @param calendarId 日历 ID
1099
+ * @returns 事件数组
1100
+ */
1101
+ getEvents(start: number, end: number, calendarId: string): any;
1102
+
1103
+ /**
1104
+ * 创建日历事件
1105
+ * @param title 标题
1106
+ * @param start 开始时间戳
1107
+ * @param end 结束时间戳
1108
+ * @param options 选项 { calendarId, notes, location, url, allDay }
1109
+ * @returns 创建的事件 ID
1110
+ */
1111
+ create(title: string, start: number, end: number, options: Record<string, any>): any;
1112
+
1113
+ /**
1114
+ * 删除日历事件
1115
+ * @param id 事件 ID
1116
+ * @returns 是否删除成功
1117
+ */
1118
+ delete(id: string): any;
1119
+
1120
+ }
1121
+
1122
+ declare const calendar: Calendar;
1123
+
1124
+ interface Reminder {
1125
+ /**
1126
+ * 检查权限状态
1127
+ * @returns 是否已授权
1128
+ */
1129
+ isAuthorized(): boolean;
1130
+
1131
+ /**
1132
+ * 请求提醒事项权限
1133
+ * @returns 是否授权成功
1134
+ */
1135
+ requestAccess(): any;
1136
+
1137
+ /**
1138
+ * 获取所有提醒列表
1139
+ * @returns 提醒列表数组
1140
+ */
1141
+ getLists(): any;
1142
+
1143
+ /**
1144
+ * 获取所有提醒事项
1145
+ * @param listId 列表 ID
1146
+ * @returns 提醒事项数组
1147
+ */
1148
+ getAll(listId: string): any;
1149
+
1150
+ /**
1151
+ * 创建提醒事项
1152
+ * @param title 标题
1153
+ * @param options 选项 { listId, notes, dueDate, priority, sortOrder, isPinned }
1154
+ * @returns 创建的提醒 ID
1155
+ */
1156
+ create(title: string, options: Record<string, any>): any;
1157
+
1158
+ /**
1159
+ * 标记为已完成
1160
+ * @param id 提醒事项 ID
1161
+ * @returns 是否成功
1162
+ */
1163
+ complete(id: string): any;
1164
+
1165
+ /**
1166
+ * 删除提醒事项
1167
+ * @param id 提醒事项 ID
1168
+ * @returns 是否成功
1169
+ */
1170
+ delete(id: string): any;
1171
+
1172
+ /**
1173
+ * 获取排序后的提醒
1174
+ * @param options { sortBy: 'createdAt'|'dueDate'|'priority'|'title', ascending: boolean, completed: boolean }
1175
+ * @returns 排序后的提醒列表
1176
+ */
1177
+ getSorted(options: Record<string, any>): any;
1178
+
1179
+ /**
1180
+ * 获取即将到期的提醒
1181
+ * @param days 未来几天,默认 7 天
1182
+ * @returns 即将到期的提醒列表
1183
+ */
1184
+ getUpcoming(days: number): any;
1185
+
1186
+ /**
1187
+ * 获取已过期的提醒
1188
+ * @returns 已过期的提醒列表
1189
+ */
1190
+ getOverdue(): any;
1191
+
1192
+ /**
1193
+ * 置顶/取消置顶提醒
1194
+ * @param id 提醒事项 ID
1195
+ * @param isPinned 是否置顶
1196
+ * @returns { success: boolean, id: string, isPinned: boolean }
1197
+ */
1198
+ pin(id: string, isPinned: boolean): any;
1199
+
1200
+ /**
1201
+ * 设置排序顺序
1202
+ * @param id 提醒事项 ID
1203
+ * @param sortOrder 排序值(越小越靠前)
1204
+ * @returns { success: boolean, id: string, sortOrder: number }
1205
+ */
1206
+ setSortOrder(id: string, sortOrder: number): any;
1207
+
1208
+ /**
1209
+ * 批量重排序
1210
+ * @param ids 按顺序排列的 ID 数组
1211
+ * @returns { success: boolean, count: number }
1212
+ */
1213
+ reorder(ids: any): any;
1214
+
1215
+ /**
1216
+ * 创建系统提醒(支持位置触发)
1217
+ * @param title 标题
1218
+ * @param options { listId, notes, dueDate, priority, location: { latitude, longitude, radius, onArrive, name } }
1219
+ * @returns { success: boolean, id: string, title: string, isSystemReminder: true }
1220
+ */
1221
+ createSystemReminder(title: string, options: Record<string, any>): any;
1222
+
1223
+ /**
1224
+ * 获取系统提醒列表
1225
+ * @returns 系统提醒列表数组
1226
+ */
1227
+ getSystemLists(): any;
1228
+
1229
+ }
1230
+
1231
+ declare const reminder: Reminder;
1232
+
1233
+ interface Contacts {
1234
+ /**
1235
+ * 请求通讯录权限
1236
+ * @returns 包含授权结果的对象
1237
+ */
1238
+ requestAccess(): any;
1239
+
1240
+ /**
1241
+ * 获取权限状态
1242
+ * @returns 权限状态
1243
+ */
1244
+ getAccessStatus(): any;
1245
+
1246
+ /**
1247
+ * 检查是否已授权
1248
+ * @returns 是否已授权
1249
+ */
1250
+ isAuthorized(): boolean;
1251
+
1252
+ /**
1253
+ * 获取所有联系人
1254
+ * @param offset 跳过的记录数,默认 0
1255
+ * @param limit 返回的最大数量,默认全部
1256
+ * @returns 联系人对象数组
1257
+ */
1258
+ getAll(offset: number, limit: number): any;
1259
+
1260
+ /**
1261
+ * 获取联系人总数
1262
+ * @returns 联系人总数
1263
+ */
1264
+ getCount(): number;
1265
+
1266
+ /**
1267
+ * 按名字搜索联系人
1268
+ * @param query 搜索关键词(匹配姓名)
1269
+ * @returns 联系人对象数组
1270
+ */
1271
+ search(query: string): any;
1272
+
1273
+ /**
1274
+ * 按电话搜索联系人
1275
+ * @param phone 电话号码(支持模糊匹配)
1276
+ * @returns 联系人对象数组
1277
+ */
1278
+ searchByPhone(phone: string): any;
1279
+
1280
+ /**
1281
+ * 按邮箱搜索联系人
1282
+ * @param email 邮箱地址(支持模糊匹配)
1283
+ * @returns 联系人对象数组
1284
+ */
1285
+ searchByEmail(email: string): any;
1286
+
1287
+ /**
1288
+ * 根据 ID 获取联系人
1289
+ * @param id 联系人唯一标识符
1290
+ * @returns 联系人对象
1291
+ */
1292
+ getById(id: string): any;
1293
+
1294
+ /**
1295
+ * 创建联系人
1296
+ * @param data 联系人数据 { givenName, familyName, phoneNumbers?, emailAddresses?, ... }
1297
+ * @returns 包含成功状态和 ID 的对象
1298
+ */
1299
+ create(data: Record<string, any>): any;
1300
+
1301
+ /**
1302
+ * 更新联系人
1303
+ * @param id 联系人唯一标识符
1304
+ * @param data 要更新的字段
1305
+ * @returns 包含成功状态的对象
1306
+ */
1307
+ update(id: string, data: Record<string, any>): any;
1308
+
1309
+ /**
1310
+ * 删除联系人
1311
+ * @param id 联系人唯一标识符
1312
+ * @returns 包含成功状态的对象
1313
+ */
1314
+ delete(id: string): any;
1315
+
1316
+ /**
1317
+ * 获取所有分组
1318
+ * @returns 分组数组
1319
+ */
1320
+ getGroups(): any;
1321
+
1322
+ /**
1323
+ * 获取分组内联系人
1324
+ * @param groupId 分组唯一标识符
1325
+ * @returns 联系人对象数组
1326
+ */
1327
+ getContactsInGroup(groupId: string): any;
1328
+
1329
+ }
1330
+
1331
+ declare const contacts: Contacts;
1332
+
1333
+ interface Notification {
1334
+ /**
1335
+ * 发送通知
1336
+ * @param title 通知标题
1337
+ * @param body 通知内容
1338
+ * @param options 选项 { url, userInfo, sound, badge }
1339
+ * @returns 发送的通知 ID
1340
+ */
1341
+ send(title: string, body: string, options: Record<string, any>): any;
1342
+
1343
+ /**
1344
+ * 取消通知
1345
+ * @param id 通知 ID
1346
+ * @returns 无返回值
1347
+ */
1348
+ cancel(id: string): void;
1349
+
1350
+ /**
1351
+ * 取消所有通知
1352
+ * @returns 无返回值
1353
+ */
1354
+ cancelAll(): void;
1355
+
1356
+ /**
1357
+ * 获取待发送通知
1358
+ * @returns 待发送通知列表
1359
+ */
1360
+ getPending(): any;
1361
+
1362
+ /**
1363
+ * 获取已发送通知
1364
+ * @returns 已发送通知列表
1365
+ */
1366
+ getDelivered(): any;
1367
+
1368
+ /**
1369
+ * 请求通知权限
1370
+ * @returns 是否授权成功
1371
+ */
1372
+ requestPermission(): any;
1373
+
1374
+ /**
1375
+ * 获取权限状态
1376
+ * @returns 权限状态
1377
+ */
1378
+ getPermissionStatus(): any;
1379
+
1380
+ /**
1381
+ * 设置角标数字
1382
+ * @param count 角标数
1383
+ * @returns 无返回值
1384
+ */
1385
+ setBadge(count: number): void;
1386
+
1387
+ /**
1388
+ * 获取角标数字
1389
+ * @returns 角标数字
1390
+ */
1391
+ getBadge(): any;
1392
+
1393
+ /**
1394
+ * 定时通知
1395
+ * @param title 通知标题
1396
+ * @param body 通知内容
1397
+ * @param date 触发时间戳
1398
+ * @param options 选项 { url, userInfo, sound, badge, repeat: 'daily'|'weekly'|'monthly' }
1399
+ * @returns 发送的通知 ID
1400
+ */
1401
+ schedule(title: string, body: string, date: number, options: Record<string, any>): any;
1402
+
1403
+ }
1404
+
1405
+ declare const notification: Notification;
1406
+
1407
+ interface Alarm {
1408
+ /**
1409
+ * 请求通知权限
1410
+ * @returns 是否授权成功
1411
+ */
1412
+ requestAccess(): any;
1413
+
1414
+ /**
1415
+ * 获取权限状态
1416
+ * @returns 权限状态
1417
+ */
1418
+ getAccessStatus(): any;
1419
+
1420
+ /**
1421
+ * 创建一次性闹钟
1422
+ * @param timestamp 触发时间戳
1423
+ * @param title 标题
1424
+ * @param options 选项 { sound }
1425
+ * @returns 创建的闹钟 ID
1426
+ */
1427
+ createOnce(timestamp: number, title: string, options: Record<string, any>): any;
1428
+
1429
+ /**
1430
+ * 创建每日重复闹钟
1431
+ * @param hour 小时 (0-23)
1432
+ * @param minute 分钟 (0-59)
1433
+ * @param title 标题
1434
+ * @param options 选项 { sound }
1435
+ * @returns 创建的闹钟 ID
1436
+ */
1437
+ createDaily(hour: number, minute: number, title: string, options: Record<string, any>): any;
1438
+
1439
+ /**
1440
+ * 创建每周重复闹钟
1441
+ * @param weekday 周几 (1-7, 周日为1)
1442
+ * @param hour 小时 (0-23)
1443
+ * @param minute 分钟 (0-59)
1444
+ * @param title 标题
1445
+ * @param options 选项 { sound }
1446
+ * @returns 创建的闹钟 ID
1447
+ */
1448
+ createWeekly(weekday: number, hour: number, minute: number, title: string, options: Record<string, any>): any;
1449
+
1450
+ /**
1451
+ * 创建倒计时提醒
1452
+ * @param seconds 秒数
1453
+ * @param title 标题
1454
+ * @param options 选项 { sound }
1455
+ * @returns 创建的闹钟 ID
1456
+ */
1457
+ createCountdown(seconds: number, title: string, options: Record<string, any>): any;
1458
+
1459
+ /**
1460
+ * 获取待触发的闹钟
1461
+ * @returns 待触发闹钟列表
1462
+ */
1463
+ getPending(): any;
1464
+
1465
+ /**
1466
+ * 获取闹钟数量
1467
+ * @returns 闹钟数量
1468
+ */
1469
+ getCount(): any;
1470
+
1471
+ /**
1472
+ * 取消指定闹钟
1473
+ * @param id 闹钟 ID
1474
+ * @returns 无返回值
1475
+ */
1476
+ cancel(id: string): void;
1477
+
1478
+ /**
1479
+ * 取消所有闹钟
1480
+ * @returns 无返回值
1481
+ */
1482
+ cancelAll(): void;
1483
+
1484
+ /**
1485
+ * 打开系统时钟
1486
+ * @returns 无返回值
1487
+ */
1488
+ openClockApp(): void;
1489
+
1490
+ /**
1491
+ * 打开计时器
1492
+ * @returns 无返回值
1493
+ */
1494
+ openTimer(): void;
1495
+
1496
+ }
1497
+
1498
+ declare const alarm: Alarm;
1499
+
1500
+ interface Media {
1501
+ /**
1502
+ * 播放
1503
+ * @returns 无返回值
1504
+ */
1505
+ play(): void;
1506
+
1507
+ /**
1508
+ * 暂停
1509
+ * @returns 无返回值
1510
+ */
1511
+ pause(): void;
1512
+
1513
+ /**
1514
+ * 停止
1515
+ * @returns 无返回值
1516
+ */
1517
+ stop(): void;
1518
+
1519
+ /**
1520
+ * 切换播放/暂停
1521
+ * @returns 无返回值
1522
+ */
1523
+ togglePlayPause(): void;
1524
+
1525
+ /**
1526
+ * 下一首
1527
+ * @returns 无返回值
1528
+ */
1529
+ next(): void;
1530
+
1531
+ /**
1532
+ * 上一首
1533
+ * @returns 无返回值
1534
+ */
1535
+ previous(): void;
1536
+
1537
+ /**
1538
+ * 跳到开头
1539
+ * @returns 无返回值
1540
+ */
1541
+ skipToBeginning(): void;
1542
+
1543
+ /**
1544
+ * 获取播放状态
1545
+ * @returns 播放状态
1546
+ */
1547
+ getPlaybackState(): any;
1548
+
1549
+ /**
1550
+ * 是否正在播放
1551
+ * @returns 是否正在播放
1552
+ */
1553
+ isPlaying(): boolean;
1554
+
1555
+ /**
1556
+ * 获取当前播放信息
1557
+ * @returns 当前播放信息对象
1558
+ */
1559
+ getNowPlaying(): any;
1560
+
1561
+ /**
1562
+ * 获取音量
1563
+ * @returns 当前音量(0.0-1.0)
1564
+ */
1565
+ getVolume(): number;
1566
+
1567
+ /**
1568
+ * 设置音量
1569
+ * @param volume 音量 (0.0 - 1.0)
1570
+ * @returns 无返回值
1571
+ */
1572
+ setVolume(volume: number): void;
1573
+
1574
+ /**
1575
+ * 获取重复模式
1576
+ * @returns 重复模式
1577
+ */
1578
+ getRepeatMode(): any;
1579
+
1580
+ /**
1581
+ * 设置重复模式
1582
+ * @param mode 'none' | 'one' | 'all'
1583
+ * @returns 无返回值
1584
+ */
1585
+ setRepeatMode(mode: string): void;
1586
+
1587
+ /**
1588
+ * 获取随机播放模式
1589
+ * @returns 随机播放模式
1590
+ */
1591
+ getShuffleMode(): any;
1592
+
1593
+ /**
1594
+ * 设置随机播放模式
1595
+ * @param mode 'off' | 'songs' | 'albums'
1596
+ * @returns 无返回值
1597
+ */
1598
+ setShuffleMode(mode: string): void;
1599
+
1600
+ /**
1601
+ * 获取当前播放时间
1602
+ * @returns 当前播放时间(秒)
1603
+ */
1604
+ getCurrentTime(): number;
1605
+
1606
+ /**
1607
+ * 设置播放时间
1608
+ * @param time 时间 (秒)
1609
+ * @returns 无返回值
1610
+ */
1611
+ setCurrentTime(time: number): void;
1612
+
1613
+ /**
1614
+ * 快进
1615
+ * @param seconds 秒数 (默认 15)
1616
+ * @returns 无返回值
1617
+ */
1618
+ seekForward(seconds: number): void;
1619
+
1620
+ /**
1621
+ * 快退
1622
+ * @param seconds 秒数 (默认 15)
1623
+ * @returns 无返回值
1624
+ */
1625
+ seekBackward(seconds: number): void;
1626
+
1627
+ /**
1628
+ * 请求音乐库权限
1629
+ * @returns 是否授权成功
1630
+ */
1631
+ requestAccess(): any;
1632
+
1633
+ /**
1634
+ * 获取权限状态
1635
+ * @returns 权限状态
1636
+ */
1637
+ getAccessStatus(): any;
1638
+
1639
+ /**
1640
+ * 搜索音乐库
1641
+ * @param query 搜索关键词
1642
+ * @returns 歌曲列表数组
1643
+ */
1644
+ searchSongs(query: string): any;
1645
+
1646
+ /**
1647
+ * 播放指定歌曲
1648
+ * @param persistentID 歌曲 ID
1649
+ * @returns 无返回值
1650
+ */
1651
+ playSong(persistentID: string): void;
1652
+
1653
+ /**
1654
+ * 获取所有歌曲
1655
+ * @returns 歌曲列表数组
1656
+ */
1657
+ getAllSongs(): any;
1658
+
1659
+ /**
1660
+ * 获取所有专辑
1661
+ * @returns 专辑列表数组
1662
+ */
1663
+ getAlbums(): any;
1664
+
1665
+ /**
1666
+ * 获取所有艺术家
1667
+ * @returns 艺术家列表数组
1668
+ */
1669
+ getArtists(): any;
1670
+
1671
+ /**
1672
+ * 获取播放列表
1673
+ * @returns 播放列表数组
1674
+ */
1675
+ getPlaylists(): any;
1676
+
1677
+ /**
1678
+ * 播放专辑
1679
+ * @param id 专辑 ID
1680
+ * @returns 无返回值
1681
+ */
1682
+ playAlbum(id: string): void;
1683
+
1684
+ /**
1685
+ * 播放艺术家
1686
+ * @param id 艺术家 ID
1687
+ * @returns 无返回值
1688
+ */
1689
+ playArtist(id: string): void;
1690
+
1691
+ /**
1692
+ * 播放播放列表
1693
+ * @param id 播放列表 ID
1694
+ * @returns 无返回值
1695
+ */
1696
+ playPlaylist(id: string): void;
1697
+
1698
+ }
1699
+
1700
+ declare const media: Media;
1701
+
1702
+ interface Mail {
1703
+ /**
1704
+ * 检查是否能发送邮件
1705
+ * @returns 是否能发送
1706
+ */
1707
+ canSendMail(): boolean;
1708
+
1709
+ /**
1710
+ * 获取邮件功能状态
1711
+ * @returns 邮件功能状态
1712
+ */
1713
+ getStatus(): any;
1714
+
1715
+ /**
1716
+ * 发送简单邮件
1717
+ * @param to 收件人列表
1718
+ * @param subject 主题
1719
+ * @param body 正文
1720
+ * @returns 是否发送成功
1721
+ */
1722
+ send(to: any, subject: string, body: string): any;
1723
+
1724
+ /**
1725
+ * 发送邮件(完整选项)
1726
+ * @param options 选项 { to, cc, bcc, subject, body, isHtml, attachments }
1727
+ * @returns 是否发送成功
1728
+ */
1729
+ sendAdvanced(options: Record<string, any>): any;
1730
+
1731
+ /**
1732
+ * 打开邮件 App
1733
+ * @returns 无返回值
1734
+ */
1735
+ openMailApp(): void;
1736
+
1737
+ /**
1738
+ * 打开指定邮件 App
1739
+ * @param appName App 名称
1740
+ * @returns 无返回值
1741
+ */
1742
+ openSpecificMailApp(appName: string): void;
1743
+
1744
+ /**
1745
+ * 验证邮箱格式
1746
+ * @param email 邮箱地址
1747
+ * @returns 是否有效
1748
+ */
1749
+ isValidEmail(email: string): boolean;
1750
+
1751
+ /**
1752
+ * 检测已安装的邮件 App
1753
+ * @returns 已安装的邮件 App 名称数组
1754
+ */
1755
+ getInstalledMailApps(): any;
1756
+
1757
+ /**
1758
+ * 从模板生成邮件
1759
+ * @param templateName 模板名称
1760
+ * @param variables 变量字典
1761
+ * @returns 生成的邮件内容
1762
+ */
1763
+ fromTemplate(templateName: string, variables: Record<string, any>): any;
1764
+
1765
+ /**
1766
+ * 获取可用模板列表
1767
+ * @returns 模板名称数组
1768
+ */
1769
+ getTemplates(): any;
1770
+
1771
+ }
1772
+
1773
+ declare const mail: Mail;
1774
+
1775
+ interface Sms {
1776
+ /**
1777
+ * 检查短信权限
1778
+ * @returns 是否有权限
1779
+ */
1780
+ checkAccess(): boolean;
1781
+
1782
+ /**
1783
+ * 尝试直接访问短信数据库(调试用)
1784
+ * @returns 是否访问成功
1785
+ */
1786
+ tryAccess(): boolean;
1787
+
1788
+ /**
1789
+ * 读取最近的短信
1790
+ * @param limit 限制条数 (默认 10)
1791
+ * @returns 短信对象数组
1792
+ */
1793
+ read(limit: number): any;
1794
+
1795
+ /**
1796
+ * 获取验证码
1797
+ * @param minutes 查找最近几分钟内的验证码 (默认 5)
1798
+ * @returns 验证码或 null
1799
+ */
1800
+ getVerificationCode(minutes: number): any;
1801
+
1802
+ /**
1803
+ * 搜索短信
1804
+ * @param keyword 关键词
1805
+ * @returns 短信对象数组
1806
+ */
1807
+ search(keyword: string): any;
1808
+
1809
+ /**
1810
+ * 按号码获取短信
1811
+ * @param address 发送者号码
1812
+ * @returns 短信对象数组
1813
+ */
1814
+ getByAddress(address: string): any;
1815
+
1816
+ /**
1817
+ * 获取会话列表
1818
+ * @returns 会话列表数组
1819
+ */
1820
+ getChats(): any;
1821
+
1822
+ /**
1823
+ * 获取短信统计
1824
+ * @returns 统计信息对象
1825
+ */
1826
+ getStatistics(): any;
1827
+
1828
+ /**
1829
+ * 获取最新短信
1830
+ * @returns 最新短信对象或 null
1831
+ */
1832
+ getLatest(): any;
1833
+
1834
+ /**
1835
+ * 获取未读短信
1836
+ * @returns 未读短信对象数组
1837
+ */
1838
+ getUnread(): any;
1839
+
1840
+ }
1841
+
1842
+ declare const sms: Sms;
1843
+
1844
+ interface Sql {
1845
+ /**
1846
+ * 执行 SELECT 查询并返回结果
1847
+ * @param dbPath 数据库路径
1848
+ * @param sql SQL 语句
1849
+ * @param params 参数列表
1850
+ * @returns 查询结果数组
1851
+ */
1852
+ query(dbPath: string, sql: string, params: any[]): any[];
1853
+
1854
+ /**
1855
+ * 执行 INSERT/UPDATE/DELETE
1856
+ * @param dbPath 数据库路径
1857
+ * @param sql SQL 语句
1858
+ * @param params 参数列表
1859
+ * @returns 执行结果对象
1860
+ */
1861
+ execute(dbPath: string, sql: string, params: any[]): any;
1862
+
1863
+ /**
1864
+ * 列出数据库中的所有表
1865
+ * @param dbPath 数据库路径
1866
+ * @returns 表名数组
1867
+ */
1868
+ tables(dbPath: string): any;
1869
+
1870
+ /**
1871
+ * 获取表结构
1872
+ * @param dbPath 数据库路径
1873
+ * @param tableName 表名
1874
+ * @returns 表结构 SQL
1875
+ */
1876
+ schema(dbPath: string, tableName: string): string;
1877
+
1878
+ }
1879
+
1880
+ declare const sql: Sql;
1881
+
1882
+ interface Shortcuts {
1883
+ /**
1884
+ * 运行快捷指令
1885
+ * @param name 快捷指令名称
1886
+ * @returns 快捷指令执行结果
1887
+ */
1888
+ run(name: string): any;
1889
+
1890
+ /**
1891
+ * 运行快捷指令(带文本输入)
1892
+ * @param name 快捷指令名称
1893
+ * @param text 输入文本
1894
+ * @returns 快捷指令执行结果
1895
+ */
1896
+ runWithText(name: string, text: string): any;
1897
+
1898
+ /**
1899
+ * 运行快捷指令(剪贴板输入)
1900
+ * @param name 快捷指令名称
1901
+ */
1902
+ runWithClipboard(name: string): any;
1903
+
1904
+ /**
1905
+ * 运行快捷指令(高级选项)
1906
+ * @param name 快捷指令名称
1907
+ * @param options 选项 { input, showOutput }
1908
+ */
1909
+ runAdvanced(name: string, options: Record<string, any>): any;
1910
+
1911
+ /**
1912
+ * 打开快捷指令 App
1913
+ * @returns 无返回值
1914
+ */
1915
+ openApp(): void;
1916
+
1917
+ /**
1918
+ * 打开快捷指令库
1919
+ * @returns 无返回值
1920
+ */
1921
+ openGallery(): void;
1922
+
1923
+ /**
1924
+ * 打开指定快捷指令
1925
+ * @param name 快捷指令名称
1926
+ * @returns 无返回值
1927
+ */
1928
+ openShortcut(name: string): void;
1929
+
1930
+ /**
1931
+ * 创建新快捷指令
1932
+ * @returns 无返回值
1933
+ */
1934
+ createNew(): void;
1935
+
1936
+ /**
1937
+ * 通过链接导入快捷指令
1938
+ * @param url 快捷指令 URL
1939
+ * @returns 无返回值
1940
+ */
1941
+ importFromUrl(url: string): void;
1942
+
1943
+ /**
1944
+ * 检查是否安装快捷指令
1945
+ */
1946
+ isAvailable(): boolean;
1947
+
1948
+ /**
1949
+ * 获取常用快捷指令模板
1950
+ */
1951
+ getCommonShortcuts(): any;
1952
+
1953
+ }
1954
+
1955
+ declare const shortcuts: Shortcuts;
1956
+
1957
+ interface Bluetooth {
1958
+ /**
1959
+ * 蓝牙是否开启
1960
+ */
1961
+ isEnabled(): boolean;
1962
+
1963
+ /**
1964
+ * 获取蓝牙状态
1965
+ */
1966
+ getStatus(): any;
1967
+
1968
+ /**
1969
+ * 设置蓝牙开关
1970
+ * @param enabled 是否开启
1971
+ * @returns 无返回值
1972
+ */
1973
+ setEnabled(enabled: boolean): void;
1974
+
1975
+ /**
1976
+ * 打开蓝牙
1977
+ * @returns 无返回值
1978
+ */
1979
+ turnOn(): void;
1980
+
1981
+ /**
1982
+ * 关闭蓝牙
1983
+ * @returns 无返回值
1984
+ */
1985
+ turnOff(): void;
1986
+
1987
+ /**
1988
+ * 获取配对设备
1989
+ */
1990
+ getPairedDevices(): any;
1991
+
1992
+ /**
1993
+ * 获取已连接设备
1994
+ */
1995
+ getConnectedDevices(): any;
1996
+
1997
+ /**
1998
+ * 连接设备
1999
+ * @param id 设备 UUID
2000
+ */
2001
+ connectDevice(id: string): any;
2002
+
2003
+ /**
2004
+ * 断开设备
2005
+ * @param id 设备 UUID
2006
+ */
2007
+ disconnectDevice(id: string): any;
2008
+
2009
+ /**
2010
+ * 开始扫描
2011
+ * @returns 无返回值
2012
+ */
2013
+ startScan(): void;
2014
+
2015
+ /**
2016
+ * 停止扫描
2017
+ * @returns 无返回值
2018
+ */
2019
+ stopScan(): void;
2020
+
2021
+ /**
2022
+ * 打开蓝牙设置
2023
+ * @returns 无返回值
2024
+ */
2025
+ openSettings(): void;
2026
+
2027
+ }
2028
+
2029
+ declare const bluetooth: Bluetooth;
2030
+
2031
+ interface Webview {
2032
+ /**
2033
+ * 打开网页并等待加载
2034
+ * @param url 网页 URL
2035
+ */
2036
+ open(url: string): any;
2037
+
2038
+ /**
2039
+ * 加载 HTML 内容
2040
+ * @param html HTML 字符串
2041
+ * @param baseURL 基础 URL
2042
+ */
2043
+ loadHTML(html: string, baseURL: string): any;
2044
+
2045
+ /**
2046
+ * 执行页面内 JavaScript
2047
+ * @param script JS 代码
2048
+ */
2049
+ evaluate(script: string): any;
2050
+
2051
+ /**
2052
+ * 获取页面标题
2053
+ */
2054
+ getTitle(): any;
2055
+
2056
+ /**
2057
+ * 获取当前 URL
2058
+ */
2059
+ getURL(): any;
2060
+
2061
+ /**
2062
+ * 获取页面 HTML 源码
2063
+ */
2064
+ getHTML(): any;
2065
+
2066
+ /**
2067
+ * 关闭网页视图
2068
+ * @returns 无返回值
2069
+ */
2070
+ close(): void;
2071
+
2072
+ /**
2073
+ * 检查是否已打开
2074
+ */
2075
+ isOpen(): boolean;
2076
+
2077
+ /**
2078
+ * 截取页面截图
2079
+ */
2080
+ screenshot(): any;
2081
+
2082
+ }
2083
+
2084
+ declare const webview: Webview;
2085
+
2086
+ interface Memo {
2087
+ /**
2088
+ * 创建备忘录
2089
+ * @param title 备忘录标题
2090
+ * @param content 备忘录内容
2091
+ * @param tags 标签列表
2092
+ * @returns { success: 是否成功, id: 备忘录ID, memo: 备忘录对象 }
2093
+ */
2094
+ create(title: string, content: string, tags: any): Record<string, any>;
2095
+
2096
+ /**
2097
+ * 获取所有备忘录
2098
+ * @returns 备忘录数组 [{ id: ID, title: 标题, content: 内容, createdAt: 创建时间, updatedAt: 更新时间, tags: 标签 }]
2099
+ */
2100
+ getAll(): any;
2101
+
2102
+ /**
2103
+ * 根据 ID 获取备忘录
2104
+ * @param id 备忘录 ID
2105
+ * @returns 备忘录对象或 null(不存在时)
2106
+ */
2107
+ getById(id: string): any;
2108
+
2109
+ /**
2110
+ * 搜索备忘录(标题和内容)
2111
+ * @param keyword 搜索关键词
2112
+ * @returns 匹配的备忘录数组
2113
+ */
2114
+ search(keyword: string): any;
2115
+
2116
+ /**
2117
+ * 更新备忘录
2118
+ * @param id 备忘录 ID
2119
+ * @param data 更新数据 { title?: 新标题, content?: 新内容, tags?: 新标签 }
2120
+ * @returns { success: 是否成功, id: 备忘录ID }
2121
+ */
2122
+ update(id: string, data: Record<string, any>): Record<string, any>;
2123
+
2124
+ /**
2125
+ * 删除备忘录
2126
+ * @param id 备忘录 ID
2127
+ * @returns { success: 是否成功, id: 已删除的ID }
2128
+ */
2129
+ delete(id: string): Record<string, any>;
2130
+
2131
+ /**
2132
+ * 清空所有备忘录
2133
+ * @returns { success: 是否成功 }
2134
+ */
2135
+ clear(): Record<string, any>;
2136
+
2137
+ /**
2138
+ * 获取备忘录数量
2139
+ * @returns 备忘录总数
2140
+ */
2141
+ count(): number;
2142
+
2143
+ }
2144
+
2145
+ declare const memo: Memo;