• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit BasicServicesKit
19 */
20
21import type { AsyncCallback } from './@ohos.base';
22
23/**
24 * A static class to do update for device.
25 *
26 * @namespace update
27 * @syscap SystemCapability.Update.UpdateService
28 * @systemapi hide for inner use.
29 * @since 9
30 */
31declare namespace update {
32  /**
33   * Get online update handler for the calling device.
34   *
35   * @param { UpgradeInfo } upgradeInfo - Indicates client app and business type.
36   * @returns { Updater } online update handler to perform online update.
37   * @syscap SystemCapability.Update.UpdateService
38   * @systemapi hide for inner use.
39   * @since 9
40   */
41  function getOnlineUpdater(upgradeInfo: UpgradeInfo): Updater;
42
43  /**
44   * Get restore handler.
45   *
46   * @returns { Restorer } restore handler to perform factory reset.
47   * @syscap SystemCapability.Update.UpdateService
48   * @systemapi hide for inner use.
49   * @since 9
50   */
51  function getRestorer(): Restorer;
52
53  /**
54   * Get local update handler.
55   *
56   * @returns { LocalUpdater } local update handler to perform local update.
57   * @syscap SystemCapability.Update.UpdateService
58   * @systemapi hide for inner use.
59   * @since 9
60   */
61  function getLocalUpdater(): LocalUpdater;
62
63  /**
64   * A static class to do online update.
65   *
66   * @interface Updater
67   * @syscap SystemCapability.Update.UpdateService
68   * @systemapi hide for inner use.
69   * @since 9
70   */
71  export interface Updater {
72    /**
73     * Check new version.
74     *
75     * @permission ohos.permission.UPDATE_SYSTEM
76     * @param { AsyncCallback<CheckResult> } callback - Callback used to return the result.
77     * @throws { BusinessError } 201 - Permission denied.
78     * @throws { BusinessError } 11500104 - IPC error.
79     * @syscap SystemCapability.Update.UpdateService
80     * @systemapi hide for inner use.
81     * @since 9
82     */
83    checkNewVersion(callback: AsyncCallback<CheckResult>): void;
84
85    /**
86     * Check new version.
87     *
88     * @permission ohos.permission.UPDATE_SYSTEM
89     * @returns { Promise<CheckResult> } Promise used to return the result.
90     * @throws { BusinessError } 201 - Permission denied.
91     * @throws { BusinessError } 11500104 - IPC error.
92     * @syscap SystemCapability.Update.UpdateService
93     * @systemapi hide for inner use.
94     * @since 9
95     */
96    checkNewVersion(): Promise<CheckResult>;
97
98    /**
99     * Get new version.
100     *
101     * @permission ohos.permission.UPDATE_SYSTEM
102     * @param { AsyncCallback<NewVersionInfo> } callback - Callback used to return the result.
103     * @throws { BusinessError } 201 - Permission denied.
104     * @throws { BusinessError } 11500104 - IPC error.
105     * @syscap SystemCapability.Update.UpdateService
106     * @systemapi hide for inner use.
107     * @since 9
108     */
109    getNewVersionInfo(callback: AsyncCallback<NewVersionInfo>): void;
110
111    /**
112     * Get new version.
113     *
114     * @permission ohos.permission.UPDATE_SYSTEM
115     * @returns { Promise<NewVersionInfo> } Promise used to return the result.
116     * @throws { BusinessError } 201 - Permission denied.
117     * @throws { BusinessError } 11500104 - IPC error.
118     * @syscap SystemCapability.Update.UpdateService
119     * @systemapi hide for inner use.
120     * @since 9
121     */
122    getNewVersionInfo(): Promise<NewVersionInfo>;
123
124    /**
125     * Get new version description.
126     *
127     * @permission ohos.permission.UPDATE_SYSTEM
128     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
129     * @param { DescriptionOptions } descriptionOptions - Options of the description file.
130     * @param { AsyncCallback<Array<ComponentDescription>> } callback - Callback used to return the result.
131     * @throws { BusinessError } 201 - Permission denied.
132     * @throws { BusinessError } 401 - Parameter error.
133     * @throws { BusinessError } 11500104 - IPC error.
134     * @syscap SystemCapability.Update.UpdateService
135     * @systemapi hide for inner use.
136     * @since 9
137     */
138    getNewVersionDescription(
139      versionDigestInfo: VersionDigestInfo,
140      descriptionOptions: DescriptionOptions,
141      callback: AsyncCallback<Array<ComponentDescription>>
142    ): void;
143
144    /**
145     * Get new version description.
146     *
147     * @permission ohos.permission.UPDATE_SYSTEM
148     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
149     * @param { DescriptionOptions } descriptionOptions - Options of the description file.
150     * @returns { Promise<Array<ComponentDescription>> } Promise used to return the result.
151     * @throws { BusinessError } 201 - Permission denied.
152     * @throws { BusinessError } 401 - Parameter error.
153     * @throws { BusinessError } 11500104 - IPC error.
154     * @syscap SystemCapability.Update.UpdateService
155     * @systemapi hide for inner use.
156     * @since 9
157     */
158    getNewVersionDescription(
159      versionDigestInfo: VersionDigestInfo,
160      descriptionOptions: DescriptionOptions
161    ): Promise<Array<ComponentDescription>>;
162
163    /**
164     * Get current version.
165     *
166     * @permission ohos.permission.UPDATE_SYSTEM
167     * @param { AsyncCallback<CurrentVersionInfo> } callback - Callback used to return the result.
168     * @throws { BusinessError } 201 - Permission denied.
169     * @throws { BusinessError } 11500104 - IPC error.
170     * @syscap SystemCapability.Update.UpdateService
171     * @systemapi hide for inner use.
172     * @since 9
173     */
174    getCurrentVersionInfo(callback: AsyncCallback<CurrentVersionInfo>): void;
175
176    /**
177     * Get current version.
178     *
179     * @permission ohos.permission.UPDATE_SYSTEM
180     * @returns { Promise<CurrentVersionInfo> } Promise used to return the result.
181     * @throws { BusinessError } 201 - Permission denied.
182     * @throws { BusinessError } 11500104 - IPC error.
183     * @syscap SystemCapability.Update.UpdateService
184     * @systemapi hide for inner use.
185     * @since 9
186     */
187    getCurrentVersionInfo(): Promise<CurrentVersionInfo>;
188
189    /**
190     * Get current version description.
191     *
192     * @permission ohos.permission.UPDATE_SYSTEM
193     * @param { DescriptionOptions } descriptionOptions - Options of the description file.
194     * @param { AsyncCallback<Array<ComponentDescription>> } callback - Callback used to return the result.
195     * @throws { BusinessError } 201 - Permission denied.
196     * @throws { BusinessError } 401 - Parameter error.
197     * @throws { BusinessError } 11500104 - IPC error.
198     * @syscap SystemCapability.Update.UpdateService
199     * @systemapi hide for inner use.
200     * @since 9
201     */
202    getCurrentVersionDescription(
203      descriptionOptions: DescriptionOptions,
204      callback: AsyncCallback<Array<ComponentDescription>>
205    ): void;
206
207    /**
208     * Get current version description.
209     *
210     * @permission ohos.permission.UPDATE_SYSTEM
211     * @param { DescriptionOptions } descriptionOptions - Options of the description file.
212     * @returns { Promise<Array<ComponentDescription>> } Promise used to return the result.
213     * @throws { BusinessError } 201 - Permission denied.
214     * @throws { BusinessError } 401 - Parameter error.
215     * @throws { BusinessError } 11500104 - IPC error.
216     * @syscap SystemCapability.Update.UpdateService
217     * @systemapi hide for inner use.
218     * @since 9
219     */
220    getCurrentVersionDescription(descriptionOptions: DescriptionOptions): Promise<Array<ComponentDescription>>;
221
222    /**
223     * Get task info.
224     *
225     * @permission ohos.permission.UPDATE_SYSTEM
226     * @param { AsyncCallback<TaskInfo> } callback - Callback used to return the result.
227     * @throws { BusinessError } 201 - Permission denied.
228     * @throws { BusinessError } 11500104 - IPC error.
229     * @syscap SystemCapability.Update.UpdateService
230     * @systemapi hide for inner use.
231     * @since 9
232     */
233    getTaskInfo(callback: AsyncCallback<TaskInfo>): void;
234
235    /**
236     * Get task info.
237     *
238     * @permission ohos.permission.UPDATE_SYSTEM
239     * @returns { Promise<TaskInfo> } Promise used to return the result.
240     * @throws { BusinessError } 201 - Permission denied.
241     * @throws { BusinessError } 11500104 - IPC error.
242     * @syscap SystemCapability.Update.UpdateService
243     * @systemapi hide for inner use.
244     * @since 9
245     */
246    getTaskInfo(): Promise<TaskInfo>;
247
248    /**
249     * Trigger download new version packages.
250     * Apps should listen to task update event
251     *
252     * @permission ohos.permission.UPDATE_SYSTEM
253     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
254     * @param { DownloadOptions } downloadOptions - Download options.
255     * @param { AsyncCallback<void> } callback - Callback used to return the result.
256     *    If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
257     * @throws { BusinessError } 201 - Permission denied.
258     * @throws { BusinessError } 401 - Parameter error.
259     * @throws { BusinessError } 11500104 - IPC error.
260     * @syscap SystemCapability.Update.UpdateService
261     * @systemapi hide for inner use.
262     * @since 9
263     */
264    download(
265      versionDigestInfo: VersionDigestInfo,
266      downloadOptions: DownloadOptions,
267      callback: AsyncCallback<void>
268    ): void;
269
270    /**
271     * Trigger download new version packages.
272     * Apps should listen to task update event
273     *
274     * @permission ohos.permission.UPDATE_SYSTEM
275     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
276     * @param { DownloadOptions } downloadOptions - Download options.
277     * @returns { Promise<void> } Promise that returns no value.
278     * @throws { BusinessError } 201 - Permission denied.
279     * @throws { BusinessError } 401 - Parameter error.
280     * @throws { BusinessError } 11500104 - IPC error.
281     * @syscap SystemCapability.Update.UpdateService
282     * @systemapi hide for inner use.
283     * @since 9
284     */
285    download(versionDigestInfo: VersionDigestInfo, downloadOptions: DownloadOptions): Promise<void>;
286
287    /**
288     * Resume download new version packages.
289     * Apps should listen to task update event
290     *
291     * @permission ohos.permission.UPDATE_SYSTEM
292     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
293     * @param { ResumeDownloadOptions } resumeDownloadOptions - Options for resume download.
294     * @param { AsyncCallback<void> } callback - Callback used to return the result.
295     *   If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
296     * @throws { BusinessError } 201 - Permission denied.
297     * @throws { BusinessError } 401 - Parameter error.
298     * @throws { BusinessError } 11500104 - IPC error.
299     * @syscap SystemCapability.Update.UpdateService
300     * @systemapi hide for inner use.
301     * @since 9
302     */
303    resumeDownload(
304      versionDigestInfo: VersionDigestInfo,
305      resumeDownloadOptions: ResumeDownloadOptions,
306      callback: AsyncCallback<void>
307    ): void;
308
309    /**
310     * Resume download new version packages.
311     * Apps should listen to task update event
312     *
313     * @permission ohos.permission.UPDATE_SYSTEM
314     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
315     * @param { ResumeDownloadOptions } resumeDownloadOptions - Options for resume download.
316     * @returns { Promise<void> } Promise that returns no value.
317     * @throws { BusinessError } 201 - Permission denied.
318     * @throws { BusinessError } 401 - Parameter error.
319     * @throws { BusinessError } 11500104 - IPC error.
320     * @syscap SystemCapability.Update.UpdateService
321     * @systemapi hide for inner use.
322     * @since 9
323     */
324    resumeDownload(versionDigestInfo: VersionDigestInfo, resumeDownloadOptions: ResumeDownloadOptions): Promise<void>;
325
326    /**
327     * Pause download new version packages.
328     * Apps should listen to task update event
329     *
330     * @permission ohos.permission.UPDATE_SYSTEM
331     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
332     * @param { PauseDownloadOptions } pauseDownloadOptions - Options for pause download.
333     * @param { AsyncCallback<void> } callback - Callback used to return the result.
334     *    If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
335     * @throws { BusinessError } 201 - Permission denied.
336     * @throws { BusinessError } 401 - Parameter error.
337     * @throws { BusinessError } 11500104 - IPC error.
338     * @syscap SystemCapability.Update.UpdateService
339     * @systemapi hide for inner use.
340     * @since 9
341     */
342    pauseDownload(
343      versionDigestInfo: VersionDigestInfo,
344      pauseDownloadOptions: PauseDownloadOptions,
345      callback: AsyncCallback<void>
346    ): void;
347
348    /**
349     * Pause download new version packages.
350     * Apps should listen to task update event
351     *
352     * @permission ohos.permission.UPDATE_SYSTEM
353     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
354     * @param { PauseDownloadOptions } pauseDownloadOptions - Options for pause download.
355     * @returns { Promise<void> } Promise that returns no value.
356     * @throws { BusinessError } 201 - Permission denied.
357     * @throws { BusinessError } 401 - Parameter error.
358     * @throws { BusinessError } 11500104 - IPC error.
359     * @syscap SystemCapability.Update.UpdateService
360     * @systemapi hide for inner use.
361     * @since 9
362     */
363    pauseDownload(versionDigestInfo: VersionDigestInfo, pauseDownloadOptions: PauseDownloadOptions): Promise<void>;
364
365    /**
366     * Install packages for the device.
367     * Apps should listen to task update event
368     *
369     * @permission ohos.permission.UPDATE_SYSTEM
370     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
371     * @param { UpgradeOptions } upgradeOptions - Update options.
372     * @param { AsyncCallback<void> } callback - Callback used to return the result.
373     *   If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
374     * @throws { BusinessError } 201 - Permission denied.
375     * @throws { BusinessError } 401 - Parameter error.
376     * @throws { BusinessError } 11500104 - IPC error.
377     * @syscap SystemCapability.Update.UpdateService
378     * @systemapi hide for inner use.
379     * @since 9
380     */
381    upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions, callback: AsyncCallback<void>): void;
382
383    /**
384     * Install packages for the device.
385     * Apps should listen to task update event
386     *
387     * @permission ohos.permission.UPDATE_SYSTEM
388     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
389     * @param { UpgradeOptions } upgradeOptions - Update options.
390     * @returns { Promise<void> } Promise that returns no value.
391     * @throws { BusinessError } 201 - Permission denied.
392     * @throws { BusinessError } 401 - Parameter error.
393     * @throws { BusinessError } 11500104 - IPC error.
394     * @syscap SystemCapability.Update.UpdateService
395     * @systemapi hide for inner use.
396     * @since 9
397     */
398    upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions): Promise<void>;
399
400    /**
401     * Clear error during upgrade.
402     *
403     * @permission ohos.permission.UPDATE_SYSTEM
404     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
405     * @param { ClearOptions } clearOptions - Clear options.
406     * @param { AsyncCallback<void> } callback - Callback used to return the result.
407     *   If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
408     * @throws { BusinessError } 201 - Permission denied.
409     * @throws { BusinessError } 401 - Parameter error.
410     * @throws { BusinessError } 11500104 - IPC error.
411     * @syscap SystemCapability.Update.UpdateService
412     * @systemapi hide for inner use.
413     * @since 9
414     */
415    clearError(versionDigestInfo: VersionDigestInfo, clearOptions: ClearOptions, callback: AsyncCallback<void>): void;
416
417    /**
418     * Clear error during upgrade.
419     *
420     * @permission ohos.permission.UPDATE_SYSTEM
421     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
422     * @param { ClearOptions } clearOptions - Clear options.
423     * @returns { Promise<void> } Promise that returns no value.
424     * @throws { BusinessError } 201 - Permission denied.
425     * @throws { BusinessError } 401 - Parameter error.
426     * @throws { BusinessError } 11500104 - IPC error.
427     * @syscap SystemCapability.Update.UpdateService
428     * @systemapi hide for inner use.
429     * @since 9
430     */
431    clearError(versionDigestInfo: VersionDigestInfo, clearOptions: ClearOptions): Promise<void>;
432
433    /**
434     * Get current upgrade policy.
435     *
436     * @permission ohos.permission.UPDATE_SYSTEM
437     * @param { AsyncCallback<UpgradePolicy> } callback - Callback used to return the result.
438     * @throws { BusinessError } 201 - Permission denied.
439     * @throws { BusinessError } 11500104 - IPC error.
440     * @syscap SystemCapability.Update.UpdateService
441     * @systemapi hide for inner use.
442     * @since 9
443     */
444    getUpgradePolicy(callback: AsyncCallback<UpgradePolicy>): void;
445
446    /**
447     * Get current upgrade policy.
448     *
449     * @permission ohos.permission.UPDATE_SYSTEM
450     * @returns { Promise<UpgradePolicy> } Promise used to return the result.
451     * @throws { BusinessError } 201 - Permission denied.
452     * @throws { BusinessError } 11500104 - IPC error.
453     * @syscap SystemCapability.Update.UpdateService
454     * @systemapi hide for inner use.
455     * @since 9
456     */
457    getUpgradePolicy(): Promise<UpgradePolicy>;
458
459    /**
460     * Set upgrade policy.
461     *
462     * @permission ohos.permission.UPDATE_SYSTEM
463     * @param { UpgradePolicy } policy - Update policy.
464     * @param { AsyncCallback<void> } callback - Callback used to return the result.
465     * @throws { BusinessError } 201 - Permission denied.
466     * @throws { BusinessError } 11500104 - IPC error.
467     * @syscap SystemCapability.Update.UpdateService
468     * @systemapi hide for inner use.
469     * @since 9
470     */
471    setUpgradePolicy(policy: UpgradePolicy, callback: AsyncCallback<void>): void;
472
473    /**
474     * Set upgrade policy.
475     *
476     * @permission ohos.permission.UPDATE_SYSTEM
477     * @param { UpgradePolicy } policy - Update policy.
478     * @returns { Promise<void> } Promise that returns no value.
479     * @throws { BusinessError } 201 - Permission denied.
480     * @throws { BusinessError } 11500104 - IPC error.
481     * @syscap SystemCapability.Update.UpdateService
482     * @systemapi hide for inner use.
483     * @since 9
484     */
485    setUpgradePolicy(policy: UpgradePolicy): Promise<void>;
486
487    /**
488     * Terminate upgrade task.
489     *
490     * @permission ohos.permission.UPDATE_SYSTEM
491     * @param { AsyncCallback<void> } callback - Callback used to return the result.
492     *     If the operation is successful, 'err' is 'undefined'; otherwise, 'err' is an 'Error' object.
493     * @throws { BusinessError } 201 - Permission denied.
494     * @throws { BusinessError } 11500104 - IPC error.
495     * @syscap SystemCapability.Update.UpdateService
496     * @systemapi hide for inner use.
497     * @since 9
498     */
499    terminateUpgrade(callback: AsyncCallback<void>): void;
500
501    /**
502     * Terminate upgrade task.
503     *
504     * @permission ohos.permission.UPDATE_SYSTEM
505     * @returns { Promise<void> } Promise that returns no value.
506     * @throws { BusinessError } 201 - Permission denied.
507     * @throws { BusinessError } 11500104 - IPC error.
508     * @syscap SystemCapability.Update.UpdateService
509     * @systemapi hide for inner use.
510     * @since 9
511     */
512    terminateUpgrade(): Promise<void>;
513
514    /**
515     * Subscribe task update events
516     *
517     * @param { EventClassifyInfo } eventClassifyInfo - Event information.
518     * @param { UpgradeTaskCallback } taskCallback - Event callback.
519     * @syscap SystemCapability.Update.UpdateService
520     * @systemapi hide for inner use.
521     * @since 9
522     */
523    on(eventClassifyInfo: EventClassifyInfo, taskCallback: UpgradeTaskCallback): void;
524
525    /**
526     * Unsubscribe task update events
527     *
528     * @param { EventClassifyInfo } eventClassifyInfo - Event information.
529     * @param { UpgradeTaskCallback } taskCallback - Event callback.
530     * @syscap SystemCapability.Update.UpdateService
531     * @systemapi hide for inner use.
532     * @since 9
533     */
534    off(eventClassifyInfo: EventClassifyInfo, taskCallback?: UpgradeTaskCallback): void;
535  }
536
537  /**
538   * A static class to do restore.
539   *
540   * @interface Restorer
541   * @syscap SystemCapability.Update.UpdateService
542   * @systemapi hide for inner use.
543   * @since 9
544   */
545  export interface Restorer {
546    /**
547     * Reboot and clean user data.
548     *
549     * @permission ohos.permission.FACTORY_RESET
550     * @param { AsyncCallback<void> } callback - Callback used to return the result.
551     *   If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
552     * @throws { BusinessError } 201 - Permission denied.
553     * @throws { BusinessError } 11500104 - IPC error.
554     * @syscap SystemCapability.Update.UpdateService
555     * @systemapi hide for inner use.
556     * @since 9
557     */
558    factoryReset(callback: AsyncCallback<void>): void;
559
560    /**
561     * Reboot and clean user data.
562     *
563     * @permission ohos.permission.FACTORY_RESET
564     * @returns { Promise<void> } Promise that returns no value.
565     * @throws { BusinessError } 201 - Permission denied.
566     * @throws { BusinessError } 11500104 - IPC error.
567     * @syscap SystemCapability.Update.UpdateService
568     * @systemapi hide for inner use.
569     * @since 9
570     */
571    factoryReset(): Promise<void>;
572  }
573
574  /**
575   * A static class to do local update.
576   *
577   * @interface LocalUpdater
578   * @syscap SystemCapability.Update.UpdateService
579   * @systemapi hide for inner use.
580   * @since 9
581   */
582  export interface LocalUpdater {
583    /**
584     * Verify local update package.
585     *
586     * @permission ohos.permission.UPDATE_SYSTEM
587     * @param { UpgradeFile } upgradeFile - Update file.
588     * @param { string } certsFile - Path of the certificate file.
589     * @param { AsyncCallback<void> } callback - Callback used to return the verify upgrade package result.
590     * @throws { BusinessError } 201 - Permission denied.
591     * @throws { BusinessError } 401 - Parameter error.
592     * @throws { BusinessError } 11500104 - IPC error.
593     * @syscap SystemCapability.Update.UpdateService
594     * @systemapi hide for inner use.
595     * @since 9
596     */
597    verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string, callback: AsyncCallback<void>): void;
598
599    /**
600     * Verify local update package.
601     *
602     * @permission ohos.permission.UPDATE_SYSTEM
603     * @param { UpgradeFile } upgradeFile - Update file.
604     * @param { string } certsFile - Path of the certificate file.
605     * @returns { Promise<void> } Promise that returns no value.
606     * @throws { BusinessError } 201 - Permission denied.
607     * @throws { BusinessError } 401 - Parameter error.
608     * @throws { BusinessError } 11500104 - IPC error.
609     * @syscap SystemCapability.Update.UpdateService
610     * @systemapi hide for inner use.
611     * @since 9
612     */
613    verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string): Promise<void>;
614
615    /**
616     * Apply local update package.
617     * Apps should listen to task update event
618     *
619     * @permission ohos.permission.UPDATE_SYSTEM
620     * @param { Array<UpgradeFile> } upgradeFiles - Update files.
621     * @param { AsyncCallback<void> } callback - Callback used to return the apply new version result.
622     * @throws { BusinessError } 201 - Permission denied.
623     * @throws { BusinessError } 401 - Parameter error.
624     * @throws { BusinessError } 11500104 - IPC error.
625     * @syscap SystemCapability.Update.UpdateService
626     * @systemapi hide for inner use.
627     * @since 9
628     */
629    applyNewVersion(upgradeFiles: Array<UpgradeFile>, callback: AsyncCallback<void>): void;
630
631    /**
632     * Apply local update package.
633     * Apps should listen to task update event
634     *
635     * @permission ohos.permission.UPDATE_SYSTEM
636     * @param { Array<UpgradeFile> } upgradeFiles - Update files.
637     * @returns { Promise<void> } Promise that returns no value.
638     * @throws { BusinessError } 201 - Permission denied.
639     * @throws { BusinessError } 401 - Parameter error.
640     * @throws { BusinessError } 11500104 - IPC error.
641     * @syscap SystemCapability.Update.UpdateService
642     * @systemapi hide for inner use.
643     * @since 9
644     */
645    applyNewVersion(upgradeFiles: Array<UpgradeFile>): Promise<void>;
646
647    /**
648     * Subscribe task update events
649     *
650     * @param { EventClassifyInfo } eventClassifyInfo - Event information.
651     * @param { UpgradeTaskCallback } taskCallback - Event callback.
652     * @syscap SystemCapability.Update.UpdateService
653     * @systemapi hide for inner use.
654     * @since 9
655     */
656    on(eventClassifyInfo: EventClassifyInfo, taskCallback: UpgradeTaskCallback): void;
657
658    /**
659     * Unsubscribe task update events
660     *
661     * @param { EventClassifyInfo } eventClassifyInfo - Event information.
662     * @param { UpgradeTaskCallback } taskCallback - Event callback.
663     * @syscap SystemCapability.Update.UpdateService
664     * @systemapi hide for inner use.
665     * @since 9
666     */
667    off(eventClassifyInfo: EventClassifyInfo, taskCallback?: UpgradeTaskCallback): void;
668  }
669
670  /**
671   * Represents upgrade info.
672   *
673   * @typedef UpgradeInfo
674   * @syscap SystemCapability.Update.UpdateService
675   * @systemapi hide for inner use.
676   * @since 9
677   */
678  export interface UpgradeInfo {
679    /**
680     * Upgrade client package name
681     *
682     * @type { string }
683     * @syscap SystemCapability.Update.UpdateService
684     * @systemapi hide for inner use.
685     * @since 9
686     */
687    upgradeApp: string;
688
689    /**
690     * BusinessType of upgrade
691     *
692     * @type { BusinessType }
693     * @syscap SystemCapability.Update.UpdateService
694     * @systemapi hide for inner use.
695     * @since 9
696     */
697    businessType: BusinessType;
698  }
699
700  /**
701   * Represents business type.
702   *
703   * @typedef BusinessType
704   * @syscap SystemCapability.Update.UpdateService
705   * @systemapi hide for inner use.
706   * @since 9
707   */
708  export interface BusinessType {
709    /**
710     * Vendor of business type
711     *
712     * @type { BusinessVendor }
713     * @syscap SystemCapability.Update.UpdateService
714     * @systemapi hide for inner use.
715     * @since 9
716     */
717    vendor: BusinessVendor;
718
719    /**
720     * Update service type
721     *
722     * @type { BusinessSubType }
723     * @syscap SystemCapability.Update.UpdateService
724     * @systemapi hide for inner use.
725     * @since 9
726     */
727    subType: BusinessSubType;
728  }
729
730  /**
731   * Represents new version check result.
732   *
733   * @typedef CheckResult
734   * @syscap SystemCapability.Update.UpdateService
735   * @systemapi hide for inner use.
736   * @since 9
737   */
738  export interface CheckResult {
739    /**
740     * New version exist or not
741     *
742     * @type { boolean }
743     * @syscap SystemCapability.Update.UpdateService
744     * @systemapi hide for inner use.
745     * @since 9
746     */
747    isExistNewVersion: boolean;
748
749    /**
750     * New version info
751     *
752     * @type { NewVersionInfo }
753     * @syscap SystemCapability.Update.UpdateService
754     * @systemapi hide for inner use.
755     * @since 9
756     */
757    newVersionInfo: NewVersionInfo;
758  }
759
760  /**
761   * Represents new version info.
762   *
763   * @typedef NewVersionInfo
764   * @syscap SystemCapability.Update.UpdateService
765   * @systemapi hide for inner use.
766   * @since 9
767   */
768  export interface NewVersionInfo {
769    /**
770     * Digest info of new version
771     *
772     * @type { VersionDigestInfo }
773     * @syscap SystemCapability.Update.UpdateService
774     * @systemapi hide for inner use.
775     * @since 9
776     */
777    versionDigestInfo: VersionDigestInfo;
778
779    /**
780     * New version component array
781     *
782     * @type { Array<VersionComponent> }
783     * @syscap SystemCapability.Update.UpdateService
784     * @systemapi hide for inner use.
785     * @since 9
786     */
787    versionComponents: Array<VersionComponent>;
788  }
789
790  /**
791   * Represents version digest info.
792   *
793   * @typedef VersionDigestInfo
794   * @syscap SystemCapability.Update.UpdateService
795   * @systemapi hide for inner use.
796   * @since 9
797   */
798  export interface VersionDigestInfo {
799    /**
800     * Version digest value
801     *
802     * @type { string }
803     * @syscap SystemCapability.Update.UpdateService
804     * @systemapi hide for inner use.
805     * @since 9
806     */
807    versionDigest: string;
808  }
809
810  /**
811   * Represents version component info.
812   *
813   * @typedef VersionComponent
814   * @syscap SystemCapability.Update.UpdateService
815   * @systemapi hide for inner use.
816   * @since 9
817   */
818  export interface VersionComponent {
819    /**
820     * Version component id
821     *
822     * @type { string }
823     * @syscap SystemCapability.Update.UpdateService
824     * @systemapi hide for inner use.
825     * @since 9
826     */
827    componentId: string;
828
829    /**
830     * Version component type
831     *
832     * @type { ComponentType }
833     * @syscap SystemCapability.Update.UpdateService
834     * @systemapi hide for inner use.
835     * @since 9
836     */
837    componentType: ComponentType;
838
839    /**
840     * Upgrade action
841     *
842     * @type { UpgradeAction }
843     * @syscap SystemCapability.Update.UpdateService
844     * @systemapi hide for inner use.
845     * @since 9
846     */
847    upgradeAction: UpgradeAction;
848
849    /**
850     * Display version number
851     *
852     * @type { string }
853     * @syscap SystemCapability.Update.UpdateService
854     * @systemapi hide for inner use.
855     * @since 9
856     */
857    displayVersion: string;
858
859    /**
860     * Internal version number
861     *
862     * @type { string }
863     * @syscap SystemCapability.Update.UpdateService
864     * @systemapi hide for inner use.
865     * @since 9
866     */
867    innerVersion: string;
868
869    /**
870     * Update package size
871     *
872     * @type { number }
873     * @syscap SystemCapability.Update.UpdateService
874     * @systemapi hide for inner use.
875     * @since 9
876     */
877    size: number;
878
879    /**
880     * Effective mode
881     *
882     * @type { EffectiveMode }
883     * @syscap SystemCapability.Update.UpdateService
884     * @systemapi hide for inner use.
885     * @since 9
886     */
887    effectiveMode: EffectiveMode;
888
889    /**
890     * Information about the version description file
891     *
892     * @type { DescriptionInfo }
893     * @syscap SystemCapability.Update.UpdateService
894     * @systemapi hide for inner use.
895     * @since 9
896     */
897    descriptionInfo: DescriptionInfo;
898  }
899
900  /**
901   * Represents description options.
902   *
903   * @typedef DescriptionOptions
904   * @syscap SystemCapability.Update.UpdateService
905   * @systemapi hide for inner use.
906   * @since 9
907   */
908  export interface DescriptionOptions {
909    /**
910     * Format of the description file
911     *
912     * @type { DescriptionFormat }
913     * @syscap SystemCapability.Update.UpdateService
914     * @systemapi hide for inner use.
915     * @since 9
916     */
917    format: DescriptionFormat;
918
919    /**
920     * Language of the description file
921     *
922     * @type { string }
923     * @syscap SystemCapability.Update.UpdateService
924     * @systemapi hide for inner use.
925     * @since 9
926     */
927    language: string;
928  }
929
930  /**
931   * Represents version component description.
932   *
933   * @typedef ComponentDescription
934   * @syscap SystemCapability.Update.UpdateService
935   * @systemapi hide for inner use.
936   * @since 9
937   */
938  export interface ComponentDescription {
939    /**
940     * Component id
941     *
942     * @type { string }
943     * @syscap SystemCapability.Update.UpdateService
944     * @systemapi hide for inner use.
945     * @since 9
946     */
947    componentId: string;
948
949    /**
950     * Information about the description file
951     *
952     * @type { DescriptionInfo }
953     * @syscap SystemCapability.Update.UpdateService
954     * @systemapi hide for inner use.
955     * @since 9
956     */
957    descriptionInfo: DescriptionInfo;
958  }
959
960  /**
961   * Represents new version description information.
962   *
963   * @typedef DescriptionInfo
964   * @syscap SystemCapability.Update.UpdateService
965   * @systemapi hide for inner use.
966   * @since 9
967   */
968  export interface DescriptionInfo {
969    /**
970     * Description content type
971     *
972     * @type { DescriptionType }
973     * @syscap SystemCapability.Update.UpdateService
974     * @systemapi hide for inner use.
975     * @since 9
976     */
977    descriptionType: DescriptionType;
978
979    /**
980     * Content of the description file
981     *
982     * @type { string }
983     * @syscap SystemCapability.Update.UpdateService
984     * @systemapi hide for inner use.
985     * @since 9
986     */
987    content: string;
988  }
989
990  /**
991   * Represents current version info.
992   *
993   * @typedef CurrentVersionInfo
994   * @syscap SystemCapability.Update.UpdateService
995   * @systemapi hide for inner use.
996   * @since 9
997   */
998  export interface CurrentVersionInfo {
999    /**
1000     * System version number
1001     *
1002     * @type { string }
1003     * @syscap SystemCapability.Update.UpdateService
1004     * @systemapi hide for inner use.
1005     * @since 9
1006     */
1007    osVersion: string;
1008
1009    /**
1010     * Device name
1011     *
1012     * @type { string }
1013     * @syscap SystemCapability.Update.UpdateService
1014     * @systemapi hide for inner use.
1015     * @since 9
1016     */
1017    deviceName: string;
1018
1019    /**
1020     * Current version component array
1021     *
1022     * @type { Array<VersionComponent> }
1023     * @syscap SystemCapability.Update.UpdateService
1024     * @systemapi hide for inner use.
1025     * @since 9
1026     */
1027    versionComponents: Array<VersionComponent>;
1028  }
1029
1030  /**
1031   * Represents download options.
1032   *
1033   * @typedef DownloadOptions
1034   * @syscap SystemCapability.Update.UpdateService
1035   * @systemapi hide for inner use.
1036   * @since 9
1037   */
1038  export interface DownloadOptions {
1039    /**
1040     * Allow download with the network type
1041     *
1042     * @type { NetType }
1043     * @syscap SystemCapability.Update.UpdateService
1044     * @systemapi hide for inner use.
1045     * @since 9
1046     */
1047    allowNetwork: NetType;
1048
1049    /**
1050     * Upgrade command
1051     *
1052     * @type { Order }
1053     * @syscap SystemCapability.Update.UpdateService
1054     * @systemapi hide for inner use.
1055     * @since 9
1056     */
1057    order: Order;
1058  }
1059
1060  /**
1061   * Represents resume download options.
1062   *
1063   * @typedef ResumeDownloadOptions
1064   * @syscap SystemCapability.Update.UpdateService
1065   * @systemapi hide for inner use.
1066   * @since 9
1067   */
1068  export interface ResumeDownloadOptions {
1069    /**
1070     * Allow download with the network type
1071     *
1072     * @type { NetType }
1073     * @syscap SystemCapability.Update.UpdateService
1074     * @systemapi hide for inner use.
1075     * @since 9
1076     */
1077    allowNetwork: NetType;
1078  }
1079
1080  /**
1081   * Represents pause download options.
1082   *
1083   * @typedef PauseDownloadOptions
1084   * @syscap SystemCapability.Update.UpdateService
1085   * @systemapi hide for inner use.
1086   * @since 9
1087   */
1088  export interface PauseDownloadOptions {
1089    /**
1090     * Whether allow auto resume when net available
1091     *
1092     * @type { boolean }
1093     * @syscap SystemCapability.Update.UpdateService
1094     * @systemapi hide for inner use.
1095     * @since 9
1096     */
1097    isAllowAutoResume: boolean;
1098  }
1099
1100  /**
1101   * Represents upgrade options.
1102   *
1103   * @typedef UpgradeOptions
1104   * @syscap SystemCapability.Update.UpdateService
1105   * @systemapi hide for inner use.
1106   * @since 9
1107   */
1108  export interface UpgradeOptions {
1109    /**
1110     * Upgrade command
1111     *
1112     * @type { Order }
1113     * @syscap SystemCapability.Update.UpdateService
1114     * @systemapi hide for inner use.
1115     * @since 9
1116     */
1117    order: Order;
1118  }
1119
1120  /**
1121   * Represents clear error options.
1122   *
1123   * @typedef ClearOptions
1124   * @syscap SystemCapability.Update.UpdateService
1125   * @systemapi hide for inner use.
1126   * @since 9
1127   */
1128  export interface ClearOptions {
1129    /**
1130     * Clear status error
1131     *
1132     * @type { UpgradeStatus }
1133     * @syscap SystemCapability.Update.UpdateService
1134     * @systemapi hide for inner use.
1135     * @since 9
1136     */
1137    status: UpgradeStatus;
1138  }
1139
1140  /**
1141   * Represents upgrade policy.
1142   *
1143   * @typedef UpgradePolicy
1144   * @syscap SystemCapability.Update.UpdateService
1145   * @systemapi hide for inner use.
1146   * @since 9
1147   */
1148  export interface UpgradePolicy {
1149    /**
1150     * Download strategy: open or close
1151     *
1152     * @type { boolean }
1153     * @syscap SystemCapability.Update.UpdateService
1154     * @systemapi hide for inner use.
1155     * @since 9
1156     */
1157    downloadStrategy: boolean;
1158
1159    /**
1160     * Auto upgrade strategy: open or close
1161     *
1162     * @type { boolean }
1163     * @syscap SystemCapability.Update.UpdateService
1164     * @systemapi hide for inner use.
1165     * @since 9
1166     */
1167    autoUpgradeStrategy: boolean;
1168
1169    /**
1170     * Auto upgrade period
1171     *
1172     * @type { Array<UpgradePeriod> }
1173     * @syscap SystemCapability.Update.UpdateService
1174     * @systemapi hide for inner use.
1175     * @since 9
1176     */
1177    autoUpgradePeriods: Array<UpgradePeriod>;
1178  }
1179
1180  /**
1181   * Represents upgrade period.
1182   *
1183   * @typedef UpgradePeriod
1184   * @syscap SystemCapability.Update.UpdateService
1185   * @systemapi hide for inner use.
1186   * @since 9
1187   */
1188  export interface UpgradePeriod {
1189    /**
1190     * Start time of upgrade period
1191     *
1192     * @type { number }
1193     * @syscap SystemCapability.Update.UpdateService
1194     * @systemapi hide for inner use.
1195     * @since 9
1196     */
1197    start: number;
1198
1199    /**
1200     * End time of upgrade period
1201     *
1202     * @type { number }
1203     * @syscap SystemCapability.Update.UpdateService
1204     * @systemapi hide for inner use.
1205     * @since 9
1206     */
1207    end: number;
1208  }
1209
1210  /**
1211   * Represents task info.
1212   *
1213   * @typedef TaskInfo
1214   * @syscap SystemCapability.Update.UpdateService
1215   * @systemapi hide for inner use.
1216   * @since 9
1217   */
1218  export interface TaskInfo {
1219    /**
1220     * Whether upgrade task exist
1221     *
1222     * @type { boolean }
1223     * @syscap SystemCapability.Update.UpdateService
1224     * @systemapi hide for inner use.
1225     * @since 9
1226     */
1227    existTask: boolean;
1228
1229    /**
1230     * Task body info
1231     *
1232     * @type { TaskBody }
1233     * @syscap SystemCapability.Update.UpdateService
1234     * @systemapi hide for inner use.
1235     * @since 9
1236     */
1237    taskBody: TaskBody;
1238  }
1239
1240  /**
1241   * Represents event info.
1242   *
1243   * @typedef EventInfo
1244   * @syscap SystemCapability.Update.UpdateService
1245   * @systemapi hide for inner use.
1246   * @since 9
1247   */
1248  export interface EventInfo {
1249    /**
1250     * Event id
1251     *
1252     * @type { EventId }
1253     * @syscap SystemCapability.Update.UpdateService
1254     * @systemapi hide for inner use.
1255     * @since 9
1256     */
1257    eventId: EventId;
1258
1259    /**
1260     * Task body info
1261     *
1262     * @type { TaskBody }
1263     * @syscap SystemCapability.Update.UpdateService
1264     * @systemapi hide for inner use.
1265     * @since 9
1266     */
1267    taskBody: TaskBody;
1268  }
1269
1270  /**
1271   * Represents task body info.
1272   *
1273   * @typedef TaskBody
1274   * @syscap SystemCapability.Update.UpdateService
1275   * @systemapi hide for inner use.
1276   * @since 9
1277   */
1278  export interface TaskBody {
1279    /**
1280     * Digest info of new version
1281     *
1282     * @type { VersionDigestInfo }
1283     * @syscap SystemCapability.Update.UpdateService
1284     * @systemapi hide for inner use.
1285     * @since 9
1286     */
1287    versionDigestInfo: VersionDigestInfo;
1288
1289    /**
1290     * Upgrade status
1291     *
1292     * @type { UpgradeStatus }
1293     * @syscap SystemCapability.Update.UpdateService
1294     * @systemapi hide for inner use.
1295     * @since 9
1296     */
1297    status: UpgradeStatus;
1298
1299    /**
1300     * Upgrade sub status
1301     *
1302     * @type { number }
1303     * @syscap SystemCapability.Update.UpdateService
1304     * @systemapi hide for inner use.
1305     * @since 9
1306     */
1307    subStatus: number;
1308
1309    /**
1310     * Upgrade progress
1311     *
1312     * @type { number }
1313     * @syscap SystemCapability.Update.UpdateService
1314     * @systemapi hide for inner use.
1315     * @since 9
1316     */
1317    progress: number;
1318
1319    /**
1320     * Install mode
1321     *
1322     * @type { number }
1323     * @syscap SystemCapability.Update.UpdateService
1324     * @systemapi hide for inner use.
1325     * @since 9
1326     */
1327    installMode: number;
1328
1329    /**
1330     * Error messages
1331     *
1332     * @type { Array<ErrorMessage> }
1333     * @syscap SystemCapability.Update.UpdateService
1334     * @systemapi hide for inner use.
1335     * @since 9
1336     */
1337    errorMessages: Array<ErrorMessage>;
1338
1339    /**
1340     * Version component array
1341     *
1342     * @type { Array<VersionComponent> }
1343     * @syscap SystemCapability.Update.UpdateService
1344     * @systemapi hide for inner use.
1345     * @since 9
1346     */
1347    versionComponents: Array<VersionComponent>;
1348  }
1349
1350  /**
1351   * Represents error message.
1352   *
1353   * @typedef ErrorMessage
1354   * @syscap SystemCapability.Update.UpdateService
1355   * @systemapi hide for inner use.
1356   * @since 9
1357   */
1358  export interface ErrorMessage {
1359    /**
1360     * Error code
1361     *
1362     * @type { number }
1363     * @syscap SystemCapability.Update.UpdateService
1364     * @systemapi hide for inner use.
1365     * @since 9
1366     */
1367    errorCode: number;
1368
1369    /**
1370     * Error message
1371     *
1372     * @type { string }
1373     * @syscap SystemCapability.Update.UpdateService
1374     * @systemapi hide for inner use.
1375     * @since 9
1376     */
1377    errorMessage: string;
1378  }
1379
1380  /**
1381   * Represents event classify info.
1382   *
1383   * @typedef EventClassifyInfo
1384   * @syscap SystemCapability.Update.UpdateService
1385   * @systemapi hide for inner use.
1386   * @since 9
1387   */
1388  export interface EventClassifyInfo {
1389    /**
1390     * Event classify
1391     *
1392     * @type { EventClassify }
1393     * @syscap SystemCapability.Update.UpdateService
1394     * @systemapi hide for inner use.
1395     * @since 9
1396     */
1397    eventClassify: EventClassify;
1398
1399    /**
1400     * Additional information
1401     *
1402     * @type { string }
1403     * @syscap SystemCapability.Update.UpdateService
1404     * @systemapi hide for inner use.
1405     * @since 9
1406     */
1407    extraInfo: string;
1408  }
1409
1410  /**
1411   * Represents upgrade file info.
1412   *
1413   * @typedef UpgradeFile
1414   * @syscap SystemCapability.Update.UpdateService
1415   * @systemapi hide for inner use.
1416   * @since 9
1417   */
1418  export interface UpgradeFile {
1419    /**
1420     * Upgrade file type
1421     *
1422     * @type { ComponentType }
1423     * @syscap SystemCapability.Update.UpdateService
1424     * @systemapi hide for inner use.
1425     * @since 9
1426     */
1427    fileType: ComponentType;
1428
1429    /**
1430     * Upgrade file path
1431     *
1432     * @type { string }
1433     * @syscap SystemCapability.Update.UpdateService
1434     * @systemapi hide for inner use.
1435     * @since 9
1436     */
1437    filePath: string;
1438  }
1439
1440  /**
1441   * Called when upgrade task info changes.
1442   * You need to implement this method in a child class.
1443   *
1444   * @typedef UpgradeTaskCallback
1445   * @syscap SystemCapability.Update.UpdateService
1446   * @systemapi hide for inner use.
1447   * @since 9
1448   */
1449  export interface UpgradeTaskCallback {
1450    /**
1451     * Event callback.
1452     *
1453     * @param { EventInfo } eventInfo - Event information.
1454     * @syscap SystemCapability.Update.UpdateService
1455     * @systemapi hide for inner use.
1456     * @since 9
1457     */
1458    (eventInfo: EventInfo): void;
1459  }
1460
1461  /**
1462   * Enumerates business vendor type.
1463   *
1464   * @enum { string }
1465   * @syscap SystemCapability.Update.UpdateService
1466   * @systemapi hide for inner use.
1467   * @since 9
1468   */
1469  export enum BusinessVendor {
1470    /**
1471     * Device vendor is open source.
1472     *
1473     * @syscap SystemCapability.Update.UpdateService
1474     * @systemapi hide for inner use.
1475     * @since 9
1476     */
1477    PUBLIC = 'public'
1478  }
1479
1480  /**
1481   * Enumerates business sub type.
1482   *
1483   * @enum { number }
1484   * @syscap SystemCapability.Update.UpdateService
1485   * @systemapi hide for inner use.
1486   * @since 9
1487   */
1488  export enum BusinessSubType {
1489    /**
1490     * Business sub type is Firmware.
1491     *
1492     * @syscap SystemCapability.Update.UpdateService
1493     * @systemapi hide for inner use.
1494     * @since 9
1495     */
1496    FIRMWARE = 1
1497  }
1498
1499  /**
1500   * Enumerates component type.
1501   *
1502   * @enum { number }
1503   * @syscap SystemCapability.Update.UpdateService
1504   * @systemapi hide for inner use.
1505   * @since 9
1506   */
1507  export enum ComponentType {
1508    /**
1509     * Component type is OTA.
1510     *
1511     * @syscap SystemCapability.Update.UpdateService
1512     * @systemapi hide for inner use.
1513     * @since 9
1514     */
1515    OTA = 1
1516  }
1517
1518  /**
1519   * Enumerates upgrade action type.
1520   *
1521   * @enum { string }
1522   * @syscap SystemCapability.Update.UpdateService
1523   * @systemapi hide for inner use.
1524   * @since 9
1525   */
1526  export enum UpgradeAction {
1527    /**
1528     * Differential package.
1529     *
1530     * @syscap SystemCapability.Update.UpdateService
1531     * @systemapi hide for inner use.
1532     * @since 9
1533     */
1534    UPGRADE = 'upgrade',
1535
1536    /**
1537     * Recovery package.
1538     *
1539     * @syscap SystemCapability.Update.UpdateService
1540     * @systemapi hide for inner use.
1541     * @since 9
1542     */
1543    RECOVERY = 'recovery'
1544  }
1545
1546  /**
1547   * Enumerates effective mode.
1548   *
1549   * @enum { number }
1550   * @syscap SystemCapability.Update.UpdateService
1551   * @systemapi hide for inner use.
1552   * @since 9
1553   */
1554  export enum EffectiveMode {
1555    /**
1556     * Cold update.
1557     *
1558     * @syscap SystemCapability.Update.UpdateService
1559     * @systemapi hide for inner use.
1560     * @since 9
1561     */
1562    COLD = 1,
1563
1564    /**
1565     * Live update.
1566     *
1567     * @syscap SystemCapability.Update.UpdateService
1568     * @systemapi hide for inner use.
1569     * @since 9
1570     */
1571    LIVE = 2,
1572
1573    /**
1574     * Hybrid live and cold update.
1575     *
1576     * @syscap SystemCapability.Update.UpdateService
1577     * @systemapi hide for inner use.
1578     * @since 9
1579     */
1580    LIVE_AND_COLD = 3
1581  }
1582
1583  /**
1584   * Enumerates description type.
1585   *
1586   * @enum { number }
1587   * @syscap SystemCapability.Update.UpdateService
1588   * @systemapi hide for inner use.
1589   * @since 9
1590   */
1591  export enum DescriptionType {
1592    /**
1593     * Description type is content.
1594     *
1595     * @syscap SystemCapability.Update.UpdateService
1596     * @systemapi hide for inner use.
1597     * @since 9
1598     */
1599    CONTENT = 0,
1600
1601    /**
1602     * Description type is link.
1603     *
1604     * @syscap SystemCapability.Update.UpdateService
1605     * @systemapi hide for inner use.
1606     * @since 9
1607     */
1608    URI = 1
1609  }
1610
1611  /**
1612   * Enumerates description format.
1613   *
1614   * @enum { number }
1615   * @syscap SystemCapability.Update.UpdateService
1616   * @systemapi hide for inner use.
1617   * @since 9
1618   */
1619  export enum DescriptionFormat {
1620    /**
1621     * Description format is standard format.
1622     *
1623     * @syscap SystemCapability.Update.UpdateService
1624     * @systemapi hide for inner use.
1625     * @since 9
1626     */
1627    STANDARD = 0,
1628
1629    /**
1630     * Description format is Simple format.
1631     *
1632     * @syscap SystemCapability.Update.UpdateService
1633     * @systemapi hide for inner use.
1634     * @since 9
1635     */
1636    SIMPLIFIED = 1
1637  }
1638
1639  /**
1640   * Enumerates network type.
1641   *
1642   * @enum { number }
1643   * @syscap SystemCapability.Update.UpdateService
1644   * @systemapi hide for inner use.
1645   * @since 9
1646   */
1647  export enum NetType {
1648    /**
1649     * Network type is data network.
1650     *
1651     * @syscap SystemCapability.Update.UpdateService
1652     * @systemapi hide for inner use.
1653     * @since 9
1654     */
1655    CELLULAR = 1,
1656
1657    /**
1658     * Network type is Wi-Fi hotspot.
1659     *
1660     * @syscap SystemCapability.Update.UpdateService
1661     * @systemapi hide for inner use.
1662     * @since 9
1663     */
1664    METERED_WIFI = 2,
1665
1666    /**
1667     * Network type is non Wi-Fi hotspot.
1668     *
1669     * @syscap SystemCapability.Update.UpdateService
1670     * @systemapi hide for inner use.
1671     * @since 9
1672     */
1673    NOT_METERED_WIFI = 4,
1674
1675    /**
1676     * Network type is Wi-Fi.
1677     *
1678     * @syscap SystemCapability.Update.UpdateService
1679     * @systemapi hide for inner use.
1680     * @since 9
1681     */
1682    WIFI = 6,
1683
1684    /**
1685     * Network type is data network and Wi-Fi.
1686     *
1687     * @syscap SystemCapability.Update.UpdateService
1688     * @systemapi hide for inner use.
1689     * @since 9
1690     */
1691    CELLULAR_AND_WIFI = 7
1692  }
1693
1694  /**
1695   * Enumerates upgrade order.
1696   *
1697   * @enum { number }
1698   * @syscap SystemCapability.Update.UpdateService
1699   * @systemapi hide for inner use.
1700   * @since 9
1701   */
1702  export enum Order {
1703    /**
1704     * Upgrade order is download.
1705     *
1706     * @syscap SystemCapability.Update.UpdateService
1707     * @systemapi hide for inner use.
1708     * @since 9
1709     */
1710    DOWNLOAD = 1,
1711
1712    /**
1713     * Upgrade order is Install.
1714     *
1715     * @syscap SystemCapability.Update.UpdateService
1716     * @systemapi hide for inner use.
1717     * @since 9
1718     */
1719    INSTALL = 2,
1720
1721    /**
1722     * Upgrade order is download and install.
1723     *
1724     * @syscap SystemCapability.Update.UpdateService
1725     * @systemapi hide for inner use.
1726     * @since 9
1727     */
1728    DOWNLOAD_AND_INSTALL = 3,
1729
1730    /**
1731     * Upgrade order is apply.
1732     *
1733     * @syscap SystemCapability.Update.UpdateService
1734     * @systemapi hide for inner use.
1735     * @since 9
1736     */
1737    APPLY = 4,
1738
1739    /**
1740     * Upgrade order is install and apply.
1741     *
1742     * @syscap SystemCapability.Update.UpdateService
1743     * @systemapi hide for inner use.
1744     * @since 9
1745     */
1746    INSTALL_AND_APPLY = 6
1747  }
1748
1749  /**
1750   * Enumerates upgrade status.
1751   *
1752   * @enum { number }
1753   * @syscap SystemCapability.Update.UpdateService
1754   * @systemapi hide for inner use.
1755   * @since 9
1756   */
1757  export enum UpgradeStatus {
1758    /**
1759     * Upgrade status is waiting for download.
1760     *
1761     * @syscap SystemCapability.Update.UpdateService
1762     * @systemapi hide for inner use.
1763     * @since 9
1764     */
1765    WAITING_DOWNLOAD = 20,
1766
1767    /**
1768     * Upgrade status is downloading.
1769     *
1770     * @syscap SystemCapability.Update.UpdateService
1771     * @systemapi hide for inner use.
1772     * @since 9
1773     */
1774    DOWNLOADING = 21,
1775
1776    /**
1777     * Upgrade status is download paused.
1778     *
1779     * @syscap SystemCapability.Update.UpdateService
1780     * @systemapi hide for inner use.
1781     * @since 9
1782     */
1783    DOWNLOAD_PAUSED = 22,
1784
1785    /**
1786     * Upgrade status is download failed.
1787     *
1788     * @syscap SystemCapability.Update.UpdateService
1789     * @systemapi hide for inner use.
1790     * @since 9
1791     */
1792    DOWNLOAD_FAIL = 23,
1793
1794    /**
1795     * Upgrade status is waiting for installation.
1796     *
1797     * @syscap SystemCapability.Update.UpdateService
1798     * @systemapi hide for inner use.
1799     * @since 9
1800     */
1801    WAITING_INSTALL = 30,
1802
1803    /**
1804     * Upgrade status is upgrading.
1805     *
1806     * @syscap SystemCapability.Update.UpdateService
1807     * @systemapi hide for inner use.
1808     * @since 9
1809     */
1810    UPDATING = 31,
1811
1812    /**
1813     * Upgrade status is waiting for applying the update.
1814     *
1815     * @syscap SystemCapability.Update.UpdateService
1816     * @systemapi hide for inner use.
1817     * @since 9
1818     */
1819    WAITING_APPLY = 40,
1820
1821    /**
1822     * Upgrade status is applying the update.
1823     *
1824     * @syscap SystemCapability.Update.UpdateService
1825     * @systemapi hide for inner use.
1826     * @since 9
1827     */
1828    APPLYING = 41,
1829
1830    /**
1831     * Upgrade status is update succeeded.
1832     *
1833     * @syscap SystemCapability.Update.UpdateService
1834     * @systemapi hide for inner use.
1835     * @since 9
1836     */
1837    UPGRADE_SUCCESS = 50,
1838
1839    /**
1840     * Upgrade status is update failed.
1841     *
1842     * @syscap SystemCapability.Update.UpdateService
1843     * @systemapi hide for inner use.
1844     * @since 9
1845     */
1846    UPGRADE_FAIL = 51
1847  }
1848
1849  /**
1850   * Enumerates event classify.
1851   *
1852   * @enum { number }
1853   * @syscap SystemCapability.Update.UpdateService
1854   * @systemapi hide for inner use.
1855   * @since 9
1856   */
1857  export enum EventClassify {
1858    /**
1859     * Event classify is task event.
1860     *
1861     * @syscap SystemCapability.Update.UpdateService
1862     * @systemapi hide for inner use.
1863     * @since 9
1864     */
1865    TASK = 0x01000000
1866  }
1867
1868  /**
1869   * Enumerates event id.
1870   *
1871   * @enum { number }
1872   * @syscap SystemCapability.Update.UpdateService
1873   * @systemapi hide for inner use.
1874   * @since 9
1875   */
1876  export enum EventId {
1877    /**
1878     * Event id is task event.
1879     *
1880     * @syscap SystemCapability.Update.UpdateService
1881     * @systemapi hide for inner use.
1882     * @since 9
1883     */
1884    EVENT_TASK_BASE = EventClassify.TASK,
1885
1886    /**
1887     * Event id is task received.
1888     *
1889     * @syscap SystemCapability.Update.UpdateService
1890     * @systemapi hide for inner use.
1891     * @since 9
1892     */
1893    EVENT_TASK_RECEIVE,
1894
1895    /**
1896     * Event id is task cancelled.
1897     *
1898     * @syscap SystemCapability.Update.UpdateService
1899     * @systemapi hide for inner use.
1900     * @since 9
1901     */
1902    EVENT_TASK_CANCEL,
1903
1904    /**
1905     * Event id is waiting for download.
1906     *
1907     * @syscap SystemCapability.Update.UpdateService
1908     * @systemapi hide for inner use.
1909     * @since 9
1910     */
1911    EVENT_DOWNLOAD_WAIT,
1912
1913    /**
1914     * Event id is download started.
1915     *
1916     * @syscap SystemCapability.Update.UpdateService
1917     * @systemapi hide for inner use.
1918     * @since 9
1919     */
1920    EVENT_DOWNLOAD_START,
1921
1922    /**
1923     * Event id is download progress update.
1924     *
1925     * @syscap SystemCapability.Update.UpdateService
1926     * @systemapi hide for inner use.
1927     * @since 9
1928     */
1929    EVENT_DOWNLOAD_UPDATE,
1930
1931    /**
1932     * Event id is download paused.
1933     *
1934     * @syscap SystemCapability.Update.UpdateService
1935     * @systemapi hide for inner use.
1936     * @since 9
1937     */
1938    EVENT_DOWNLOAD_PAUSE,
1939
1940    /**
1941     * Event id is download resumed.
1942     *
1943     * @syscap SystemCapability.Update.UpdateService
1944     * @systemapi hide for inner use.
1945     * @since 9
1946     */
1947    EVENT_DOWNLOAD_RESUME,
1948
1949    /**
1950     * Event id is download succeeded.
1951     *
1952     * @syscap SystemCapability.Update.UpdateService
1953     * @systemapi hide for inner use.
1954     * @since 9
1955     */
1956    EVENT_DOWNLOAD_SUCCESS,
1957
1958    /**
1959     * Event id is download failed.
1960     *
1961     * @syscap SystemCapability.Update.UpdateService
1962     * @systemapi hide for inner use.
1963     * @since 9
1964     */
1965    EVENT_DOWNLOAD_FAIL,
1966
1967    /**
1968     * Event id is waiting for update.
1969     *
1970     * @syscap SystemCapability.Update.UpdateService
1971     * @systemapi hide for inner use.
1972     * @since 9
1973     */
1974    EVENT_UPGRADE_WAIT,
1975
1976    /**
1977     * Event id is update started.
1978     *
1979     * @syscap SystemCapability.Update.UpdateService
1980     * @systemapi hide for inner use.
1981     * @since 9
1982     */
1983    EVENT_UPGRADE_START,
1984
1985    /**
1986     * Event id is update in progress.
1987     *
1988     * @syscap SystemCapability.Update.UpdateService
1989     * @systemapi hide for inner use.
1990     * @since 9
1991     */
1992    EVENT_UPGRADE_UPDATE,
1993
1994    /**
1995     * Event id is waiting for applying the update.
1996     *
1997     * @syscap SystemCapability.Update.UpdateService
1998     * @systemapi hide for inner use.
1999     * @since 9
2000     */
2001    EVENT_APPLY_WAIT,
2002
2003    /**
2004     * Event id is applying the update.
2005     *
2006     * @syscap SystemCapability.Update.UpdateService
2007     * @systemapi hide for inner use.
2008     * @since 9
2009     */
2010    EVENT_APPLY_START,
2011
2012    /**
2013     * Event id is update succeeded.
2014     *
2015     * @syscap SystemCapability.Update.UpdateService
2016     * @systemapi hide for inner use.
2017     * @since 9
2018     */
2019    EVENT_UPGRADE_SUCCESS,
2020
2021    /**
2022     * Event id is update failed.
2023     *
2024     * @syscap SystemCapability.Update.UpdateService
2025     * @systemapi hide for inner use.
2026     * @since 9
2027     */
2028    EVENT_UPGRADE_FAIL
2029  }
2030}
2031
2032export default update;