161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit BasicServicesKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport type { AsyncCallback } from './@ohos.base';
2261847f8eSopenharmony_ci
2361847f8eSopenharmony_ci/**
2461847f8eSopenharmony_ci * A static class to do update for device.
2561847f8eSopenharmony_ci *
2661847f8eSopenharmony_ci * @namespace update
2761847f8eSopenharmony_ci * @syscap SystemCapability.Update.UpdateService
2861847f8eSopenharmony_ci * @systemapi hide for inner use.
2961847f8eSopenharmony_ci * @since 9
3061847f8eSopenharmony_ci */
3161847f8eSopenharmony_cideclare namespace update {
3261847f8eSopenharmony_ci  /**
3361847f8eSopenharmony_ci   * Get online update handler for the calling device.
3461847f8eSopenharmony_ci   *
3561847f8eSopenharmony_ci   * @param { UpgradeInfo } upgradeInfo - Indicates client app and business type.
3661847f8eSopenharmony_ci   * @returns { Updater } online update handler to perform online update.
3761847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
3861847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
3961847f8eSopenharmony_ci   * @systemapi hide for inner use.
4061847f8eSopenharmony_ci   * @since 9
4161847f8eSopenharmony_ci   */
4261847f8eSopenharmony_ci  function getOnlineUpdater(upgradeInfo: UpgradeInfo): Updater;
4361847f8eSopenharmony_ci
4461847f8eSopenharmony_ci  /**
4561847f8eSopenharmony_ci   * Get restore handler.
4661847f8eSopenharmony_ci   *
4761847f8eSopenharmony_ci   * @returns { Restorer } restore handler to perform factory reset.
4861847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
4961847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
5061847f8eSopenharmony_ci   * @systemapi hide for inner use.
5161847f8eSopenharmony_ci   * @since 9
5261847f8eSopenharmony_ci   */
5361847f8eSopenharmony_ci  function getRestorer(): Restorer;
5461847f8eSopenharmony_ci
5561847f8eSopenharmony_ci  /**
5661847f8eSopenharmony_ci   * Get local update handler.
5761847f8eSopenharmony_ci   *
5861847f8eSopenharmony_ci   * @returns { LocalUpdater } local update handler to perform local update.
5961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
6061847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
6161847f8eSopenharmony_ci   * @systemapi hide for inner use.
6261847f8eSopenharmony_ci   * @since 9
6361847f8eSopenharmony_ci   */
6461847f8eSopenharmony_ci  function getLocalUpdater(): LocalUpdater;
6561847f8eSopenharmony_ci
6661847f8eSopenharmony_ci  /**
6761847f8eSopenharmony_ci   * A static class to do online update.
6861847f8eSopenharmony_ci   *
6961847f8eSopenharmony_ci   * @interface Updater
7061847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
7161847f8eSopenharmony_ci   * @systemapi hide for inner use.
7261847f8eSopenharmony_ci   * @since 9
7361847f8eSopenharmony_ci   */
7461847f8eSopenharmony_ci  export interface Updater {
7561847f8eSopenharmony_ci    /**
7661847f8eSopenharmony_ci     * Check new version.
7761847f8eSopenharmony_ci     *
7861847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
7961847f8eSopenharmony_ci     * @param { AsyncCallback<CheckResult> } callback - Callback used to return the result.
8061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
8161847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
8261847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
8361847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
8461847f8eSopenharmony_ci     * @systemapi hide for inner use.
8561847f8eSopenharmony_ci     * @since 9
8661847f8eSopenharmony_ci     */
8761847f8eSopenharmony_ci    checkNewVersion(callback: AsyncCallback<CheckResult>): void;
8861847f8eSopenharmony_ci
8961847f8eSopenharmony_ci    /**
9061847f8eSopenharmony_ci     * Check new version.
9161847f8eSopenharmony_ci     *
9261847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
9361847f8eSopenharmony_ci     * @returns { Promise<CheckResult> } Promise used to return the result.
9461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
9561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
9661847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
9761847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
9861847f8eSopenharmony_ci     * @systemapi hide for inner use.
9961847f8eSopenharmony_ci     * @since 9
10061847f8eSopenharmony_ci     */
10161847f8eSopenharmony_ci    checkNewVersion(): Promise<CheckResult>;
10261847f8eSopenharmony_ci
10361847f8eSopenharmony_ci    /**
10461847f8eSopenharmony_ci     * Get new version.
10561847f8eSopenharmony_ci     *
10661847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
10761847f8eSopenharmony_ci     * @param { AsyncCallback<NewVersionInfo> } callback - Callback used to return the result.
10861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
10961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
11061847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
11161847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
11261847f8eSopenharmony_ci     * @systemapi hide for inner use.
11361847f8eSopenharmony_ci     * @since 9
11461847f8eSopenharmony_ci     */
11561847f8eSopenharmony_ci    getNewVersionInfo(callback: AsyncCallback<NewVersionInfo>): void;
11661847f8eSopenharmony_ci
11761847f8eSopenharmony_ci    /**
11861847f8eSopenharmony_ci     * Get new version.
11961847f8eSopenharmony_ci     *
12061847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
12161847f8eSopenharmony_ci     * @returns { Promise<NewVersionInfo> } Promise used to return the result.
12261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
12361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
12461847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
12561847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
12661847f8eSopenharmony_ci     * @systemapi hide for inner use.
12761847f8eSopenharmony_ci     * @since 9
12861847f8eSopenharmony_ci     */
12961847f8eSopenharmony_ci    getNewVersionInfo(): Promise<NewVersionInfo>;
13061847f8eSopenharmony_ci
13161847f8eSopenharmony_ci    /**
13261847f8eSopenharmony_ci     * Get new version description.
13361847f8eSopenharmony_ci     *
13461847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
13561847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
13661847f8eSopenharmony_ci     * @param { DescriptionOptions } descriptionOptions - Options of the description file.
13761847f8eSopenharmony_ci     * @param { AsyncCallback<Array<ComponentDescription>> } callback - Callback used to return the result.
13861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
13961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
14061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
14161847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
14261847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
14361847f8eSopenharmony_ci     * @systemapi hide for inner use.
14461847f8eSopenharmony_ci     * @since 9
14561847f8eSopenharmony_ci     */
14661847f8eSopenharmony_ci    getNewVersionDescription(
14761847f8eSopenharmony_ci      versionDigestInfo: VersionDigestInfo,
14861847f8eSopenharmony_ci      descriptionOptions: DescriptionOptions,
14961847f8eSopenharmony_ci      callback: AsyncCallback<Array<ComponentDescription>>
15061847f8eSopenharmony_ci    ): void;
15161847f8eSopenharmony_ci
15261847f8eSopenharmony_ci    /**
15361847f8eSopenharmony_ci     * Get new version description.
15461847f8eSopenharmony_ci     *
15561847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
15661847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
15761847f8eSopenharmony_ci     * @param { DescriptionOptions } descriptionOptions - Options of the description file.
15861847f8eSopenharmony_ci     * @returns { Promise<Array<ComponentDescription>> } Promise used to return the result.
15961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
16061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
16161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
16261847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
16361847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
16461847f8eSopenharmony_ci     * @systemapi hide for inner use.
16561847f8eSopenharmony_ci     * @since 9
16661847f8eSopenharmony_ci     */
16761847f8eSopenharmony_ci    getNewVersionDescription(
16861847f8eSopenharmony_ci      versionDigestInfo: VersionDigestInfo,
16961847f8eSopenharmony_ci      descriptionOptions: DescriptionOptions
17061847f8eSopenharmony_ci    ): Promise<Array<ComponentDescription>>;
17161847f8eSopenharmony_ci
17261847f8eSopenharmony_ci    /**
17361847f8eSopenharmony_ci     * Get current version.
17461847f8eSopenharmony_ci     *
17561847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
17661847f8eSopenharmony_ci     * @param { AsyncCallback<CurrentVersionInfo> } callback - Callback used to return the result.
17761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
17861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
17961847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
18061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
18161847f8eSopenharmony_ci     * @systemapi hide for inner use.
18261847f8eSopenharmony_ci     * @since 9
18361847f8eSopenharmony_ci     */
18461847f8eSopenharmony_ci    getCurrentVersionInfo(callback: AsyncCallback<CurrentVersionInfo>): void;
18561847f8eSopenharmony_ci
18661847f8eSopenharmony_ci    /**
18761847f8eSopenharmony_ci     * Get current version.
18861847f8eSopenharmony_ci     *
18961847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
19061847f8eSopenharmony_ci     * @returns { Promise<CurrentVersionInfo> } Promise used to return the result.
19161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
19261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
19361847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
19461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
19561847f8eSopenharmony_ci     * @systemapi hide for inner use.
19661847f8eSopenharmony_ci     * @since 9
19761847f8eSopenharmony_ci     */
19861847f8eSopenharmony_ci    getCurrentVersionInfo(): Promise<CurrentVersionInfo>;
19961847f8eSopenharmony_ci
20061847f8eSopenharmony_ci    /**
20161847f8eSopenharmony_ci     * Get current version description.
20261847f8eSopenharmony_ci     *
20361847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
20461847f8eSopenharmony_ci     * @param { DescriptionOptions } descriptionOptions - Options of the description file.
20561847f8eSopenharmony_ci     * @param { AsyncCallback<Array<ComponentDescription>> } callback - Callback used to return the result.
20661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
20761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
20861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
20961847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
21061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
21161847f8eSopenharmony_ci     * @systemapi hide for inner use.
21261847f8eSopenharmony_ci     * @since 9
21361847f8eSopenharmony_ci     */
21461847f8eSopenharmony_ci    getCurrentVersionDescription(
21561847f8eSopenharmony_ci      descriptionOptions: DescriptionOptions,
21661847f8eSopenharmony_ci      callback: AsyncCallback<Array<ComponentDescription>>
21761847f8eSopenharmony_ci    ): void;
21861847f8eSopenharmony_ci
21961847f8eSopenharmony_ci    /**
22061847f8eSopenharmony_ci     * Get current version description.
22161847f8eSopenharmony_ci     *
22261847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
22361847f8eSopenharmony_ci     * @param { DescriptionOptions } descriptionOptions - Options of the description file.
22461847f8eSopenharmony_ci     * @returns { Promise<Array<ComponentDescription>> } Promise used to return the result.
22561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
22661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
22761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
22861847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
22961847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
23061847f8eSopenharmony_ci     * @systemapi hide for inner use.
23161847f8eSopenharmony_ci     * @since 9
23261847f8eSopenharmony_ci     */
23361847f8eSopenharmony_ci    getCurrentVersionDescription(descriptionOptions: DescriptionOptions): Promise<Array<ComponentDescription>>;
23461847f8eSopenharmony_ci
23561847f8eSopenharmony_ci    /**
23661847f8eSopenharmony_ci     * Get task info.
23761847f8eSopenharmony_ci     *
23861847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
23961847f8eSopenharmony_ci     * @param { AsyncCallback<TaskInfo> } callback - Callback used to return the result.
24061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
24161847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
24261847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
24361847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
24461847f8eSopenharmony_ci     * @systemapi hide for inner use.
24561847f8eSopenharmony_ci     * @since 9
24661847f8eSopenharmony_ci     */
24761847f8eSopenharmony_ci    getTaskInfo(callback: AsyncCallback<TaskInfo>): void;
24861847f8eSopenharmony_ci
24961847f8eSopenharmony_ci    /**
25061847f8eSopenharmony_ci     * Get task info.
25161847f8eSopenharmony_ci     *
25261847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
25361847f8eSopenharmony_ci     * @returns { Promise<TaskInfo> } Promise used to return the result.
25461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
25561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
25661847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
25761847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
25861847f8eSopenharmony_ci     * @systemapi hide for inner use.
25961847f8eSopenharmony_ci     * @since 9
26061847f8eSopenharmony_ci     */
26161847f8eSopenharmony_ci    getTaskInfo(): Promise<TaskInfo>;
26261847f8eSopenharmony_ci
26361847f8eSopenharmony_ci    /**
26461847f8eSopenharmony_ci     * Trigger download new version packages.
26561847f8eSopenharmony_ci     * Apps should listen to task update event
26661847f8eSopenharmony_ci     *
26761847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
26861847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
26961847f8eSopenharmony_ci     * @param { DownloadOptions } downloadOptions - Download options.
27061847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Callback used to return the result. 
27161847f8eSopenharmony_ci     *    If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
27261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
27361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
27461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
27561847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
27661847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
27761847f8eSopenharmony_ci     * @systemapi hide for inner use.
27861847f8eSopenharmony_ci     * @since 9
27961847f8eSopenharmony_ci     */
28061847f8eSopenharmony_ci    download(
28161847f8eSopenharmony_ci      versionDigestInfo: VersionDigestInfo,
28261847f8eSopenharmony_ci      downloadOptions: DownloadOptions,
28361847f8eSopenharmony_ci      callback: AsyncCallback<void>
28461847f8eSopenharmony_ci    ): void;
28561847f8eSopenharmony_ci
28661847f8eSopenharmony_ci    /**
28761847f8eSopenharmony_ci     * Trigger download new version packages.
28861847f8eSopenharmony_ci     * Apps should listen to task update event
28961847f8eSopenharmony_ci     *
29061847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
29161847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
29261847f8eSopenharmony_ci     * @param { DownloadOptions } downloadOptions - Download options.
29361847f8eSopenharmony_ci     * @returns { Promise<void> } Promise that returns no value.
29461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
29561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
29661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
29761847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
29861847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
29961847f8eSopenharmony_ci     * @systemapi hide for inner use.
30061847f8eSopenharmony_ci     * @since 9
30161847f8eSopenharmony_ci     */
30261847f8eSopenharmony_ci    download(versionDigestInfo: VersionDigestInfo, downloadOptions: DownloadOptions): Promise<void>;
30361847f8eSopenharmony_ci
30461847f8eSopenharmony_ci    /**
30561847f8eSopenharmony_ci     * Resume download new version packages.
30661847f8eSopenharmony_ci     * Apps should listen to task update event
30761847f8eSopenharmony_ci     *
30861847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
30961847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
31061847f8eSopenharmony_ci     * @param { ResumeDownloadOptions } resumeDownloadOptions - Options for resume download.
31161847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Callback used to return the result. 
31261847f8eSopenharmony_ci     *   If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
31361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
31461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
31561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
31661847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
31761847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
31861847f8eSopenharmony_ci     * @systemapi hide for inner use.
31961847f8eSopenharmony_ci     * @since 9
32061847f8eSopenharmony_ci     */
32161847f8eSopenharmony_ci    resumeDownload(
32261847f8eSopenharmony_ci      versionDigestInfo: VersionDigestInfo,
32361847f8eSopenharmony_ci      resumeDownloadOptions: ResumeDownloadOptions,
32461847f8eSopenharmony_ci      callback: AsyncCallback<void>
32561847f8eSopenharmony_ci    ): void;
32661847f8eSopenharmony_ci
32761847f8eSopenharmony_ci    /**
32861847f8eSopenharmony_ci     * Resume download new version packages.
32961847f8eSopenharmony_ci     * Apps should listen to task update event
33061847f8eSopenharmony_ci     *
33161847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
33261847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
33361847f8eSopenharmony_ci     * @param { ResumeDownloadOptions } resumeDownloadOptions - Options for resume download.
33461847f8eSopenharmony_ci     * @returns { Promise<void> } Promise that returns no value.
33561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
33661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
33761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
33861847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
33961847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
34061847f8eSopenharmony_ci     * @systemapi hide for inner use.
34161847f8eSopenharmony_ci     * @since 9
34261847f8eSopenharmony_ci     */
34361847f8eSopenharmony_ci    resumeDownload(versionDigestInfo: VersionDigestInfo, resumeDownloadOptions: ResumeDownloadOptions): Promise<void>;
34461847f8eSopenharmony_ci
34561847f8eSopenharmony_ci    /**
34661847f8eSopenharmony_ci     * Pause download new version packages.
34761847f8eSopenharmony_ci     * Apps should listen to task update event
34861847f8eSopenharmony_ci     *
34961847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
35061847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
35161847f8eSopenharmony_ci     * @param { PauseDownloadOptions } pauseDownloadOptions - Options for pause download.
35261847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Callback used to return the result. 
35361847f8eSopenharmony_ci     *    If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
35461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
35561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
35661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
35761847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
35861847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
35961847f8eSopenharmony_ci     * @systemapi hide for inner use.
36061847f8eSopenharmony_ci     * @since 9
36161847f8eSopenharmony_ci     */
36261847f8eSopenharmony_ci    pauseDownload(
36361847f8eSopenharmony_ci      versionDigestInfo: VersionDigestInfo,
36461847f8eSopenharmony_ci      pauseDownloadOptions: PauseDownloadOptions,
36561847f8eSopenharmony_ci      callback: AsyncCallback<void>
36661847f8eSopenharmony_ci    ): void;
36761847f8eSopenharmony_ci
36861847f8eSopenharmony_ci    /**
36961847f8eSopenharmony_ci     * Pause download new version packages.
37061847f8eSopenharmony_ci     * Apps should listen to task update event
37161847f8eSopenharmony_ci     *
37261847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
37361847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
37461847f8eSopenharmony_ci     * @param { PauseDownloadOptions } pauseDownloadOptions - Options for pause download.
37561847f8eSopenharmony_ci     * @returns { Promise<void> } Promise that returns no value.
37661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
37761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
37861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
37961847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
38061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
38161847f8eSopenharmony_ci     * @systemapi hide for inner use.
38261847f8eSopenharmony_ci     * @since 9
38361847f8eSopenharmony_ci     */
38461847f8eSopenharmony_ci    pauseDownload(versionDigestInfo: VersionDigestInfo, pauseDownloadOptions: PauseDownloadOptions): Promise<void>;
38561847f8eSopenharmony_ci
38661847f8eSopenharmony_ci    /**
38761847f8eSopenharmony_ci     * Install packages for the device.
38861847f8eSopenharmony_ci     * Apps should listen to task update event
38961847f8eSopenharmony_ci     *
39061847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
39161847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
39261847f8eSopenharmony_ci     * @param { UpgradeOptions } upgradeOptions - Update options.
39361847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Callback used to return the result. 
39461847f8eSopenharmony_ci     *   If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
39561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
39661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
39761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
39861847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
39961847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
40061847f8eSopenharmony_ci     * @systemapi hide for inner use.
40161847f8eSopenharmony_ci     * @since 9
40261847f8eSopenharmony_ci     */
40361847f8eSopenharmony_ci    upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions, callback: AsyncCallback<void>): void;
40461847f8eSopenharmony_ci
40561847f8eSopenharmony_ci    /**
40661847f8eSopenharmony_ci     * Install packages for the device.
40761847f8eSopenharmony_ci     * Apps should listen to task update event
40861847f8eSopenharmony_ci     *
40961847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
41061847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
41161847f8eSopenharmony_ci     * @param { UpgradeOptions } upgradeOptions - Update options.
41261847f8eSopenharmony_ci     * @returns { Promise<void> } Promise that returns no value.
41361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
41461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
41561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
41661847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
41761847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
41861847f8eSopenharmony_ci     * @systemapi hide for inner use.
41961847f8eSopenharmony_ci     * @since 9
42061847f8eSopenharmony_ci     */
42161847f8eSopenharmony_ci    upgrade(versionDigestInfo: VersionDigestInfo, upgradeOptions: UpgradeOptions): Promise<void>;
42261847f8eSopenharmony_ci
42361847f8eSopenharmony_ci    /**
42461847f8eSopenharmony_ci     * Clear error during upgrade.
42561847f8eSopenharmony_ci     *
42661847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
42761847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
42861847f8eSopenharmony_ci     * @param { ClearOptions } clearOptions - Clear options.
42961847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Callback used to return the result. 
43061847f8eSopenharmony_ci     *   If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
43161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
43261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
43361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
43461847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
43561847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
43661847f8eSopenharmony_ci     * @systemapi hide for inner use.
43761847f8eSopenharmony_ci     * @since 9
43861847f8eSopenharmony_ci     */
43961847f8eSopenharmony_ci    clearError(versionDigestInfo: VersionDigestInfo, clearOptions: ClearOptions, callback: AsyncCallback<void>): void;
44061847f8eSopenharmony_ci
44161847f8eSopenharmony_ci    /**
44261847f8eSopenharmony_ci     * Clear error during upgrade.
44361847f8eSopenharmony_ci     *
44461847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
44561847f8eSopenharmony_ci     * @param { VersionDigestInfo } versionDigestInfo - Version digest information.
44661847f8eSopenharmony_ci     * @param { ClearOptions } clearOptions - Clear options.
44761847f8eSopenharmony_ci     * @returns { Promise<void> } Promise that returns no value.
44861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
44961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
45061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
45161847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
45261847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
45361847f8eSopenharmony_ci     * @systemapi hide for inner use.
45461847f8eSopenharmony_ci     * @since 9
45561847f8eSopenharmony_ci     */
45661847f8eSopenharmony_ci    clearError(versionDigestInfo: VersionDigestInfo, clearOptions: ClearOptions): Promise<void>;
45761847f8eSopenharmony_ci
45861847f8eSopenharmony_ci    /**
45961847f8eSopenharmony_ci     * Get current upgrade policy.
46061847f8eSopenharmony_ci     *
46161847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
46261847f8eSopenharmony_ci     * @param { AsyncCallback<UpgradePolicy> } callback - Callback used to return the result.
46361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
46461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
46561847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
46661847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
46761847f8eSopenharmony_ci     * @systemapi hide for inner use.
46861847f8eSopenharmony_ci     * @since 9
46961847f8eSopenharmony_ci     */
47061847f8eSopenharmony_ci    getUpgradePolicy(callback: AsyncCallback<UpgradePolicy>): void;
47161847f8eSopenharmony_ci
47261847f8eSopenharmony_ci    /**
47361847f8eSopenharmony_ci     * Get current upgrade policy.
47461847f8eSopenharmony_ci     *
47561847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
47661847f8eSopenharmony_ci     * @returns { Promise<UpgradePolicy> } Promise used to return the result.
47761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
47861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
47961847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
48061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
48161847f8eSopenharmony_ci     * @systemapi hide for inner use.
48261847f8eSopenharmony_ci     * @since 9
48361847f8eSopenharmony_ci     */
48461847f8eSopenharmony_ci    getUpgradePolicy(): Promise<UpgradePolicy>;
48561847f8eSopenharmony_ci
48661847f8eSopenharmony_ci    /**
48761847f8eSopenharmony_ci     * Set upgrade policy.
48861847f8eSopenharmony_ci     *
48961847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
49061847f8eSopenharmony_ci     * @param { UpgradePolicy } policy - Update policy.
49161847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Callback used to return the result.
49261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
49361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
49461847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
49561847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
49661847f8eSopenharmony_ci     * @systemapi hide for inner use.
49761847f8eSopenharmony_ci     * @since 9
49861847f8eSopenharmony_ci     */
49961847f8eSopenharmony_ci    setUpgradePolicy(policy: UpgradePolicy, callback: AsyncCallback<void>): void;
50061847f8eSopenharmony_ci
50161847f8eSopenharmony_ci    /**
50261847f8eSopenharmony_ci     * Set upgrade policy.
50361847f8eSopenharmony_ci     *
50461847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
50561847f8eSopenharmony_ci     * @param { UpgradePolicy } policy - Update policy.
50661847f8eSopenharmony_ci     * @returns { Promise<void> } Promise that returns no value.
50761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
50861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
50961847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
51061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
51161847f8eSopenharmony_ci     * @systemapi hide for inner use.
51261847f8eSopenharmony_ci     * @since 9
51361847f8eSopenharmony_ci     */
51461847f8eSopenharmony_ci    setUpgradePolicy(policy: UpgradePolicy): Promise<void>;
51561847f8eSopenharmony_ci
51661847f8eSopenharmony_ci    /**
51761847f8eSopenharmony_ci     * Terminate upgrade task.
51861847f8eSopenharmony_ci     *
51961847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
52061847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Callback used to return the result.
52161847f8eSopenharmony_ci     *     If the operation is successful, 'err' is 'undefined'; otherwise, 'err' is an 'Error' object.
52261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
52361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
52461847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
52561847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
52661847f8eSopenharmony_ci     * @systemapi hide for inner use.
52761847f8eSopenharmony_ci     * @since 9
52861847f8eSopenharmony_ci     */
52961847f8eSopenharmony_ci    terminateUpgrade(callback: AsyncCallback<void>): void;
53061847f8eSopenharmony_ci
53161847f8eSopenharmony_ci    /**
53261847f8eSopenharmony_ci     * Terminate upgrade task.
53361847f8eSopenharmony_ci     *
53461847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
53561847f8eSopenharmony_ci     * @returns { Promise<void> } Promise that returns no value.
53661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
53761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
53861847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
53961847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
54061847f8eSopenharmony_ci     * @systemapi hide for inner use.
54161847f8eSopenharmony_ci     * @since 9
54261847f8eSopenharmony_ci     */
54361847f8eSopenharmony_ci    terminateUpgrade(): Promise<void>;
54461847f8eSopenharmony_ci
54561847f8eSopenharmony_ci    /**
54661847f8eSopenharmony_ci     * Subscribe task update events
54761847f8eSopenharmony_ci     *
54861847f8eSopenharmony_ci     * @param { EventClassifyInfo } eventClassifyInfo - Event information.
54961847f8eSopenharmony_ci     * @param { UpgradeTaskCallback } taskCallback - Event callback.
55061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
55161847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
55261847f8eSopenharmony_ci     * @systemapi hide for inner use.
55361847f8eSopenharmony_ci     * @since 9
55461847f8eSopenharmony_ci     */
55561847f8eSopenharmony_ci    on(eventClassifyInfo: EventClassifyInfo, taskCallback: UpgradeTaskCallback): void;
55661847f8eSopenharmony_ci
55761847f8eSopenharmony_ci    /**
55861847f8eSopenharmony_ci     * Unsubscribe task update events
55961847f8eSopenharmony_ci     *
56061847f8eSopenharmony_ci     * @param { EventClassifyInfo } eventClassifyInfo - Event information.
56161847f8eSopenharmony_ci     * @param { UpgradeTaskCallback } taskCallback - Event callback.
56261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
56361847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
56461847f8eSopenharmony_ci     * @systemapi hide for inner use.
56561847f8eSopenharmony_ci     * @since 9
56661847f8eSopenharmony_ci     */
56761847f8eSopenharmony_ci    off(eventClassifyInfo: EventClassifyInfo, taskCallback?: UpgradeTaskCallback): void;
56861847f8eSopenharmony_ci  }
56961847f8eSopenharmony_ci
57061847f8eSopenharmony_ci  /**
57161847f8eSopenharmony_ci   * A static class to do restore.
57261847f8eSopenharmony_ci   *
57361847f8eSopenharmony_ci   * @interface Restorer
57461847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
57561847f8eSopenharmony_ci   * @systemapi hide for inner use.
57661847f8eSopenharmony_ci   * @since 9
57761847f8eSopenharmony_ci   */
57861847f8eSopenharmony_ci  export interface Restorer {
57961847f8eSopenharmony_ci    /**
58061847f8eSopenharmony_ci     * Reboot and clean user data.
58161847f8eSopenharmony_ci     *
58261847f8eSopenharmony_ci     * @permission ohos.permission.FACTORY_RESET
58361847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Callback used to return the result. 
58461847f8eSopenharmony_ci     *   If the operation is successful, `err` is `undefined`; otherwise, `err` is an `Error` object.
58561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
58661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
58761847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
58861847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
58961847f8eSopenharmony_ci     * @systemapi hide for inner use.
59061847f8eSopenharmony_ci     * @since 9
59161847f8eSopenharmony_ci     */
59261847f8eSopenharmony_ci    factoryReset(callback: AsyncCallback<void>): void;
59361847f8eSopenharmony_ci
59461847f8eSopenharmony_ci    /**
59561847f8eSopenharmony_ci     * Reboot and clean user data.
59661847f8eSopenharmony_ci     *
59761847f8eSopenharmony_ci     * @permission ohos.permission.FACTORY_RESET
59861847f8eSopenharmony_ci     * @returns { Promise<void> } Promise that returns no value.
59961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
60061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
60161847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
60261847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
60361847f8eSopenharmony_ci     * @systemapi hide for inner use.
60461847f8eSopenharmony_ci     * @since 9
60561847f8eSopenharmony_ci     */
60661847f8eSopenharmony_ci    factoryReset(): Promise<void>;
60761847f8eSopenharmony_ci  }
60861847f8eSopenharmony_ci
60961847f8eSopenharmony_ci  /**
61061847f8eSopenharmony_ci   * A static class to do local update.
61161847f8eSopenharmony_ci   *
61261847f8eSopenharmony_ci   * @interface LocalUpdater
61361847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
61461847f8eSopenharmony_ci   * @systemapi hide for inner use.
61561847f8eSopenharmony_ci   * @since 9
61661847f8eSopenharmony_ci   */
61761847f8eSopenharmony_ci  export interface LocalUpdater {
61861847f8eSopenharmony_ci    /**
61961847f8eSopenharmony_ci     * Verify local update package.
62061847f8eSopenharmony_ci     *
62161847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
62261847f8eSopenharmony_ci     * @param { UpgradeFile } upgradeFile - Update file.
62361847f8eSopenharmony_ci     * @param { string } certsFile - Path of the certificate file.
62461847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Callback used to return the verify upgrade package result.
62561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
62661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
62761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
62861847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
62961847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
63061847f8eSopenharmony_ci     * @systemapi hide for inner use.
63161847f8eSopenharmony_ci     * @since 9
63261847f8eSopenharmony_ci     */
63361847f8eSopenharmony_ci    verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string, callback: AsyncCallback<void>): void;
63461847f8eSopenharmony_ci
63561847f8eSopenharmony_ci    /**
63661847f8eSopenharmony_ci     * Verify local update package.
63761847f8eSopenharmony_ci     *
63861847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
63961847f8eSopenharmony_ci     * @param { UpgradeFile } upgradeFile - Update file.
64061847f8eSopenharmony_ci     * @param { string } certsFile - Path of the certificate file.
64161847f8eSopenharmony_ci     * @returns { Promise<void> } Promise that returns no value.
64261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
64361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
64461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
64561847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
64661847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
64761847f8eSopenharmony_ci     * @systemapi hide for inner use.
64861847f8eSopenharmony_ci     * @since 9
64961847f8eSopenharmony_ci     */
65061847f8eSopenharmony_ci    verifyUpgradePackage(upgradeFile: UpgradeFile, certsFile: string): Promise<void>;
65161847f8eSopenharmony_ci
65261847f8eSopenharmony_ci    /**
65361847f8eSopenharmony_ci     * Apply local update package.
65461847f8eSopenharmony_ci     * Apps should listen to task update event
65561847f8eSopenharmony_ci     *
65661847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
65761847f8eSopenharmony_ci     * @param { Array<UpgradeFile> } upgradeFiles - Update files.
65861847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Callback used to return the apply new version result.
65961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
66061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
66161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
66261847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
66361847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
66461847f8eSopenharmony_ci     * @systemapi hide for inner use.
66561847f8eSopenharmony_ci     * @since 9
66661847f8eSopenharmony_ci     */
66761847f8eSopenharmony_ci    applyNewVersion(upgradeFiles: Array<UpgradeFile>, callback: AsyncCallback<void>): void;
66861847f8eSopenharmony_ci
66961847f8eSopenharmony_ci    /**
67061847f8eSopenharmony_ci     * Apply local update package.
67161847f8eSopenharmony_ci     * Apps should listen to task update event
67261847f8eSopenharmony_ci     *
67361847f8eSopenharmony_ci     * @permission ohos.permission.UPDATE_SYSTEM
67461847f8eSopenharmony_ci     * @param { Array<UpgradeFile> } upgradeFiles - Update files.
67561847f8eSopenharmony_ci     * @returns { Promise<void> } Promise that returns no value.
67661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
67761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
67861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter verification failed.
67961847f8eSopenharmony_ci     * @throws { BusinessError } 11500104 - IPC error.
68061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
68161847f8eSopenharmony_ci     * @systemapi hide for inner use.
68261847f8eSopenharmony_ci     * @since 9
68361847f8eSopenharmony_ci     */
68461847f8eSopenharmony_ci    applyNewVersion(upgradeFiles: Array<UpgradeFile>): Promise<void>;
68561847f8eSopenharmony_ci
68661847f8eSopenharmony_ci    /**
68761847f8eSopenharmony_ci     * Subscribe task update events
68861847f8eSopenharmony_ci     *
68961847f8eSopenharmony_ci     * @param { EventClassifyInfo } eventClassifyInfo - Event information.
69061847f8eSopenharmony_ci     * @param { UpgradeTaskCallback } taskCallback - Event callback.
69161847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
69261847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
69361847f8eSopenharmony_ci     * @systemapi hide for inner use.
69461847f8eSopenharmony_ci     * @since 9
69561847f8eSopenharmony_ci     */
69661847f8eSopenharmony_ci    on(eventClassifyInfo: EventClassifyInfo, taskCallback: UpgradeTaskCallback): void;
69761847f8eSopenharmony_ci
69861847f8eSopenharmony_ci    /**
69961847f8eSopenharmony_ci     * Unsubscribe task update events
70061847f8eSopenharmony_ci     *
70161847f8eSopenharmony_ci     * @param { EventClassifyInfo } eventClassifyInfo - Event information.
70261847f8eSopenharmony_ci     * @param { UpgradeTaskCallback } taskCallback - Event callback.
70361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed. A non-system application calls a system API.
70461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
70561847f8eSopenharmony_ci     * @systemapi hide for inner use.
70661847f8eSopenharmony_ci     * @since 9
70761847f8eSopenharmony_ci     */
70861847f8eSopenharmony_ci    off(eventClassifyInfo: EventClassifyInfo, taskCallback?: UpgradeTaskCallback): void;
70961847f8eSopenharmony_ci  }
71061847f8eSopenharmony_ci
71161847f8eSopenharmony_ci  /**
71261847f8eSopenharmony_ci   * Represents upgrade info.
71361847f8eSopenharmony_ci   *
71461847f8eSopenharmony_ci   * @typedef UpgradeInfo
71561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
71661847f8eSopenharmony_ci   * @systemapi hide for inner use.
71761847f8eSopenharmony_ci   * @since 9
71861847f8eSopenharmony_ci   */
71961847f8eSopenharmony_ci  export interface UpgradeInfo {
72061847f8eSopenharmony_ci    /**
72161847f8eSopenharmony_ci     * Upgrade client package name
72261847f8eSopenharmony_ci     *
72361847f8eSopenharmony_ci     * @type { string }
72461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
72561847f8eSopenharmony_ci     * @systemapi hide for inner use.
72661847f8eSopenharmony_ci     * @since 9
72761847f8eSopenharmony_ci     */
72861847f8eSopenharmony_ci    upgradeApp: string;
72961847f8eSopenharmony_ci
73061847f8eSopenharmony_ci    /**
73161847f8eSopenharmony_ci     * BusinessType of upgrade
73261847f8eSopenharmony_ci     *
73361847f8eSopenharmony_ci     * @type { BusinessType }
73461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
73561847f8eSopenharmony_ci     * @systemapi hide for inner use.
73661847f8eSopenharmony_ci     * @since 9
73761847f8eSopenharmony_ci     */
73861847f8eSopenharmony_ci    businessType: BusinessType;
73961847f8eSopenharmony_ci  }
74061847f8eSopenharmony_ci
74161847f8eSopenharmony_ci  /**
74261847f8eSopenharmony_ci   * Represents business type.
74361847f8eSopenharmony_ci   *
74461847f8eSopenharmony_ci   * @typedef BusinessType
74561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
74661847f8eSopenharmony_ci   * @systemapi hide for inner use.
74761847f8eSopenharmony_ci   * @since 9
74861847f8eSopenharmony_ci   */
74961847f8eSopenharmony_ci  export interface BusinessType {
75061847f8eSopenharmony_ci    /**
75161847f8eSopenharmony_ci     * Vendor of business type
75261847f8eSopenharmony_ci     *
75361847f8eSopenharmony_ci     * @type { BusinessVendor }
75461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
75561847f8eSopenharmony_ci     * @systemapi hide for inner use.
75661847f8eSopenharmony_ci     * @since 9
75761847f8eSopenharmony_ci     */
75861847f8eSopenharmony_ci    vendor: BusinessVendor;
75961847f8eSopenharmony_ci
76061847f8eSopenharmony_ci    /**
76161847f8eSopenharmony_ci     * Update service type
76261847f8eSopenharmony_ci     *
76361847f8eSopenharmony_ci     * @type { BusinessSubType }
76461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
76561847f8eSopenharmony_ci     * @systemapi hide for inner use.
76661847f8eSopenharmony_ci     * @since 9
76761847f8eSopenharmony_ci     */
76861847f8eSopenharmony_ci    subType: BusinessSubType;
76961847f8eSopenharmony_ci  }
77061847f8eSopenharmony_ci
77161847f8eSopenharmony_ci  /**
77261847f8eSopenharmony_ci   * Represents new version check result.
77361847f8eSopenharmony_ci   *
77461847f8eSopenharmony_ci   * @typedef CheckResult
77561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
77661847f8eSopenharmony_ci   * @systemapi hide for inner use.
77761847f8eSopenharmony_ci   * @since 9
77861847f8eSopenharmony_ci   */
77961847f8eSopenharmony_ci  export interface CheckResult {
78061847f8eSopenharmony_ci    /**
78161847f8eSopenharmony_ci     * New version exist or not
78261847f8eSopenharmony_ci     *
78361847f8eSopenharmony_ci     * @type { boolean }
78461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
78561847f8eSopenharmony_ci     * @systemapi hide for inner use.
78661847f8eSopenharmony_ci     * @since 9
78761847f8eSopenharmony_ci     */
78861847f8eSopenharmony_ci    isExistNewVersion: boolean;
78961847f8eSopenharmony_ci
79061847f8eSopenharmony_ci    /**
79161847f8eSopenharmony_ci     * New version info
79261847f8eSopenharmony_ci     *
79361847f8eSopenharmony_ci     * @type { NewVersionInfo }
79461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
79561847f8eSopenharmony_ci     * @systemapi hide for inner use.
79661847f8eSopenharmony_ci     * @since 9
79761847f8eSopenharmony_ci     */
79861847f8eSopenharmony_ci    newVersionInfo: NewVersionInfo;
79961847f8eSopenharmony_ci  }
80061847f8eSopenharmony_ci
80161847f8eSopenharmony_ci  /**
80261847f8eSopenharmony_ci   * Represents new version info.
80361847f8eSopenharmony_ci   *
80461847f8eSopenharmony_ci   * @typedef NewVersionInfo
80561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
80661847f8eSopenharmony_ci   * @systemapi hide for inner use.
80761847f8eSopenharmony_ci   * @since 9
80861847f8eSopenharmony_ci   */
80961847f8eSopenharmony_ci  export interface NewVersionInfo {
81061847f8eSopenharmony_ci    /**
81161847f8eSopenharmony_ci     * Digest info of new version
81261847f8eSopenharmony_ci     *
81361847f8eSopenharmony_ci     * @type { VersionDigestInfo }
81461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
81561847f8eSopenharmony_ci     * @systemapi hide for inner use.
81661847f8eSopenharmony_ci     * @since 9
81761847f8eSopenharmony_ci     */
81861847f8eSopenharmony_ci    versionDigestInfo: VersionDigestInfo;
81961847f8eSopenharmony_ci
82061847f8eSopenharmony_ci    /**
82161847f8eSopenharmony_ci     * New version component array
82261847f8eSopenharmony_ci     *
82361847f8eSopenharmony_ci     * @type { Array<VersionComponent> }
82461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
82561847f8eSopenharmony_ci     * @systemapi hide for inner use.
82661847f8eSopenharmony_ci     * @since 9
82761847f8eSopenharmony_ci     */
82861847f8eSopenharmony_ci    versionComponents: Array<VersionComponent>;
82961847f8eSopenharmony_ci  }
83061847f8eSopenharmony_ci
83161847f8eSopenharmony_ci  /**
83261847f8eSopenharmony_ci   * Represents version digest info.
83361847f8eSopenharmony_ci   *
83461847f8eSopenharmony_ci   * @typedef VersionDigestInfo
83561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
83661847f8eSopenharmony_ci   * @systemapi hide for inner use.
83761847f8eSopenharmony_ci   * @since 9
83861847f8eSopenharmony_ci   */
83961847f8eSopenharmony_ci  export interface VersionDigestInfo {
84061847f8eSopenharmony_ci    /**
84161847f8eSopenharmony_ci     * Version digest value
84261847f8eSopenharmony_ci     *
84361847f8eSopenharmony_ci     * @type { string }
84461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
84561847f8eSopenharmony_ci     * @systemapi hide for inner use.
84661847f8eSopenharmony_ci     * @since 9
84761847f8eSopenharmony_ci     */
84861847f8eSopenharmony_ci    versionDigest: string;
84961847f8eSopenharmony_ci  }
85061847f8eSopenharmony_ci
85161847f8eSopenharmony_ci  /**
85261847f8eSopenharmony_ci   * Represents version component info.
85361847f8eSopenharmony_ci   *
85461847f8eSopenharmony_ci   * @typedef VersionComponent
85561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
85661847f8eSopenharmony_ci   * @systemapi hide for inner use.
85761847f8eSopenharmony_ci   * @since 9
85861847f8eSopenharmony_ci   */
85961847f8eSopenharmony_ci  export interface VersionComponent {
86061847f8eSopenharmony_ci    /**
86161847f8eSopenharmony_ci     * Version component id
86261847f8eSopenharmony_ci     *
86361847f8eSopenharmony_ci     * @type { string }
86461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
86561847f8eSopenharmony_ci     * @systemapi hide for inner use.
86661847f8eSopenharmony_ci     * @since 9
86761847f8eSopenharmony_ci     */
86861847f8eSopenharmony_ci    componentId: string;
86961847f8eSopenharmony_ci
87061847f8eSopenharmony_ci    /**
87161847f8eSopenharmony_ci     * Version component type
87261847f8eSopenharmony_ci     *
87361847f8eSopenharmony_ci     * @type { ComponentType }
87461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
87561847f8eSopenharmony_ci     * @systemapi hide for inner use.
87661847f8eSopenharmony_ci     * @since 9
87761847f8eSopenharmony_ci     */
87861847f8eSopenharmony_ci    componentType: ComponentType;
87961847f8eSopenharmony_ci
88061847f8eSopenharmony_ci    /**
88161847f8eSopenharmony_ci     * Upgrade action
88261847f8eSopenharmony_ci     *
88361847f8eSopenharmony_ci     * @type { UpgradeAction }
88461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
88561847f8eSopenharmony_ci     * @systemapi hide for inner use.
88661847f8eSopenharmony_ci     * @since 9
88761847f8eSopenharmony_ci     */
88861847f8eSopenharmony_ci    upgradeAction: UpgradeAction;
88961847f8eSopenharmony_ci
89061847f8eSopenharmony_ci    /**
89161847f8eSopenharmony_ci     * Display version number
89261847f8eSopenharmony_ci     *
89361847f8eSopenharmony_ci     * @type { string }
89461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
89561847f8eSopenharmony_ci     * @systemapi hide for inner use.
89661847f8eSopenharmony_ci     * @since 9
89761847f8eSopenharmony_ci     */
89861847f8eSopenharmony_ci    displayVersion: string;
89961847f8eSopenharmony_ci
90061847f8eSopenharmony_ci    /**
90161847f8eSopenharmony_ci     * Internal version number
90261847f8eSopenharmony_ci     *
90361847f8eSopenharmony_ci     * @type { string }
90461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
90561847f8eSopenharmony_ci     * @systemapi hide for inner use.
90661847f8eSopenharmony_ci     * @since 9
90761847f8eSopenharmony_ci     */
90861847f8eSopenharmony_ci    innerVersion: string;
90961847f8eSopenharmony_ci
91061847f8eSopenharmony_ci    /**
91161847f8eSopenharmony_ci     * Update package size
91261847f8eSopenharmony_ci     *
91361847f8eSopenharmony_ci     * @type { number }
91461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
91561847f8eSopenharmony_ci     * @systemapi hide for inner use.
91661847f8eSopenharmony_ci     * @since 9
91761847f8eSopenharmony_ci     */
91861847f8eSopenharmony_ci    size: number;
91961847f8eSopenharmony_ci
92061847f8eSopenharmony_ci    /**
92161847f8eSopenharmony_ci     * Effective mode
92261847f8eSopenharmony_ci     *
92361847f8eSopenharmony_ci     * @type { EffectiveMode }
92461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
92561847f8eSopenharmony_ci     * @systemapi hide for inner use.
92661847f8eSopenharmony_ci     * @since 9
92761847f8eSopenharmony_ci     */
92861847f8eSopenharmony_ci    effectiveMode: EffectiveMode;
92961847f8eSopenharmony_ci
93061847f8eSopenharmony_ci    /**
93161847f8eSopenharmony_ci     * Information about the version description file
93261847f8eSopenharmony_ci     *
93361847f8eSopenharmony_ci     * @type { DescriptionInfo }
93461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
93561847f8eSopenharmony_ci     * @systemapi hide for inner use.
93661847f8eSopenharmony_ci     * @since 9
93761847f8eSopenharmony_ci     */
93861847f8eSopenharmony_ci    descriptionInfo: DescriptionInfo;
93961847f8eSopenharmony_ci  }
94061847f8eSopenharmony_ci
94161847f8eSopenharmony_ci  /**
94261847f8eSopenharmony_ci   * Represents description options.
94361847f8eSopenharmony_ci   *
94461847f8eSopenharmony_ci   * @typedef DescriptionOptions
94561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
94661847f8eSopenharmony_ci   * @systemapi hide for inner use.
94761847f8eSopenharmony_ci   * @since 9
94861847f8eSopenharmony_ci   */
94961847f8eSopenharmony_ci  export interface DescriptionOptions {
95061847f8eSopenharmony_ci    /**
95161847f8eSopenharmony_ci     * Format of the description file
95261847f8eSopenharmony_ci     *
95361847f8eSopenharmony_ci     * @type { DescriptionFormat }
95461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
95561847f8eSopenharmony_ci     * @systemapi hide for inner use.
95661847f8eSopenharmony_ci     * @since 9
95761847f8eSopenharmony_ci     */
95861847f8eSopenharmony_ci    format: DescriptionFormat;
95961847f8eSopenharmony_ci
96061847f8eSopenharmony_ci    /**
96161847f8eSopenharmony_ci     * Language of the description file
96261847f8eSopenharmony_ci     *
96361847f8eSopenharmony_ci     * @type { string }
96461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
96561847f8eSopenharmony_ci     * @systemapi hide for inner use.
96661847f8eSopenharmony_ci     * @since 9
96761847f8eSopenharmony_ci     */
96861847f8eSopenharmony_ci    language: string;
96961847f8eSopenharmony_ci  }
97061847f8eSopenharmony_ci
97161847f8eSopenharmony_ci  /**
97261847f8eSopenharmony_ci   * Represents version component description.
97361847f8eSopenharmony_ci   *
97461847f8eSopenharmony_ci   * @typedef ComponentDescription
97561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
97661847f8eSopenharmony_ci   * @systemapi hide for inner use.
97761847f8eSopenharmony_ci   * @since 9
97861847f8eSopenharmony_ci   */
97961847f8eSopenharmony_ci  export interface ComponentDescription {
98061847f8eSopenharmony_ci    /**
98161847f8eSopenharmony_ci     * Component id
98261847f8eSopenharmony_ci     *
98361847f8eSopenharmony_ci     * @type { string }
98461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
98561847f8eSopenharmony_ci     * @systemapi hide for inner use.
98661847f8eSopenharmony_ci     * @since 9
98761847f8eSopenharmony_ci     */
98861847f8eSopenharmony_ci    componentId: string;
98961847f8eSopenharmony_ci
99061847f8eSopenharmony_ci    /**
99161847f8eSopenharmony_ci     * Information about the description file
99261847f8eSopenharmony_ci     *
99361847f8eSopenharmony_ci     * @type { DescriptionInfo }
99461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
99561847f8eSopenharmony_ci     * @systemapi hide for inner use.
99661847f8eSopenharmony_ci     * @since 9
99761847f8eSopenharmony_ci     */
99861847f8eSopenharmony_ci    descriptionInfo: DescriptionInfo;
99961847f8eSopenharmony_ci  }
100061847f8eSopenharmony_ci
100161847f8eSopenharmony_ci  /**
100261847f8eSopenharmony_ci   * Represents new version description information.
100361847f8eSopenharmony_ci   *
100461847f8eSopenharmony_ci   * @typedef DescriptionInfo
100561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
100661847f8eSopenharmony_ci   * @systemapi hide for inner use.
100761847f8eSopenharmony_ci   * @since 9
100861847f8eSopenharmony_ci   */
100961847f8eSopenharmony_ci  export interface DescriptionInfo {
101061847f8eSopenharmony_ci    /**
101161847f8eSopenharmony_ci     * Description content type
101261847f8eSopenharmony_ci     *
101361847f8eSopenharmony_ci     * @type { DescriptionType }
101461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
101561847f8eSopenharmony_ci     * @systemapi hide for inner use.
101661847f8eSopenharmony_ci     * @since 9
101761847f8eSopenharmony_ci     */
101861847f8eSopenharmony_ci    descriptionType: DescriptionType;
101961847f8eSopenharmony_ci
102061847f8eSopenharmony_ci    /**
102161847f8eSopenharmony_ci     * Content of the description file
102261847f8eSopenharmony_ci     *
102361847f8eSopenharmony_ci     * @type { string }
102461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
102561847f8eSopenharmony_ci     * @systemapi hide for inner use.
102661847f8eSopenharmony_ci     * @since 9
102761847f8eSopenharmony_ci     */
102861847f8eSopenharmony_ci    content: string;
102961847f8eSopenharmony_ci  }
103061847f8eSopenharmony_ci
103161847f8eSopenharmony_ci  /**
103261847f8eSopenharmony_ci   * Represents current version info.
103361847f8eSopenharmony_ci   *
103461847f8eSopenharmony_ci   * @typedef CurrentVersionInfo
103561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
103661847f8eSopenharmony_ci   * @systemapi hide for inner use.
103761847f8eSopenharmony_ci   * @since 9
103861847f8eSopenharmony_ci   */
103961847f8eSopenharmony_ci  export interface CurrentVersionInfo {
104061847f8eSopenharmony_ci    /**
104161847f8eSopenharmony_ci     * System version number
104261847f8eSopenharmony_ci     *
104361847f8eSopenharmony_ci     * @type { string }
104461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
104561847f8eSopenharmony_ci     * @systemapi hide for inner use.
104661847f8eSopenharmony_ci     * @since 9
104761847f8eSopenharmony_ci     */
104861847f8eSopenharmony_ci    osVersion: string;
104961847f8eSopenharmony_ci
105061847f8eSopenharmony_ci    /**
105161847f8eSopenharmony_ci     * Device name
105261847f8eSopenharmony_ci     *
105361847f8eSopenharmony_ci     * @type { string }
105461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
105561847f8eSopenharmony_ci     * @systemapi hide for inner use.
105661847f8eSopenharmony_ci     * @since 9
105761847f8eSopenharmony_ci     */
105861847f8eSopenharmony_ci    deviceName: string;
105961847f8eSopenharmony_ci
106061847f8eSopenharmony_ci    /**
106161847f8eSopenharmony_ci     * Current version component array
106261847f8eSopenharmony_ci     *
106361847f8eSopenharmony_ci     * @type { Array<VersionComponent> }
106461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
106561847f8eSopenharmony_ci     * @systemapi hide for inner use.
106661847f8eSopenharmony_ci     * @since 9
106761847f8eSopenharmony_ci     */
106861847f8eSopenharmony_ci    versionComponents: Array<VersionComponent>;
106961847f8eSopenharmony_ci  }
107061847f8eSopenharmony_ci
107161847f8eSopenharmony_ci  /**
107261847f8eSopenharmony_ci   * Represents download options.
107361847f8eSopenharmony_ci   *
107461847f8eSopenharmony_ci   * @typedef DownloadOptions
107561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
107661847f8eSopenharmony_ci   * @systemapi hide for inner use.
107761847f8eSopenharmony_ci   * @since 9
107861847f8eSopenharmony_ci   */
107961847f8eSopenharmony_ci  export interface DownloadOptions {
108061847f8eSopenharmony_ci    /**
108161847f8eSopenharmony_ci     * Allow download with the network type
108261847f8eSopenharmony_ci     *
108361847f8eSopenharmony_ci     * @type { NetType }
108461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
108561847f8eSopenharmony_ci     * @systemapi hide for inner use.
108661847f8eSopenharmony_ci     * @since 9
108761847f8eSopenharmony_ci     */
108861847f8eSopenharmony_ci    allowNetwork: NetType;
108961847f8eSopenharmony_ci
109061847f8eSopenharmony_ci    /**
109161847f8eSopenharmony_ci     * Upgrade command
109261847f8eSopenharmony_ci     *
109361847f8eSopenharmony_ci     * @type { Order }
109461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
109561847f8eSopenharmony_ci     * @systemapi hide for inner use.
109661847f8eSopenharmony_ci     * @since 9
109761847f8eSopenharmony_ci     */
109861847f8eSopenharmony_ci    order: Order;
109961847f8eSopenharmony_ci  }
110061847f8eSopenharmony_ci
110161847f8eSopenharmony_ci  /**
110261847f8eSopenharmony_ci   * Represents resume download options.
110361847f8eSopenharmony_ci   *
110461847f8eSopenharmony_ci   * @typedef ResumeDownloadOptions
110561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
110661847f8eSopenharmony_ci   * @systemapi hide for inner use.
110761847f8eSopenharmony_ci   * @since 9
110861847f8eSopenharmony_ci   */
110961847f8eSopenharmony_ci  export interface ResumeDownloadOptions {
111061847f8eSopenharmony_ci    /**
111161847f8eSopenharmony_ci     * Allow download with the network type
111261847f8eSopenharmony_ci     *
111361847f8eSopenharmony_ci     * @type { NetType }
111461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
111561847f8eSopenharmony_ci     * @systemapi hide for inner use.
111661847f8eSopenharmony_ci     * @since 9
111761847f8eSopenharmony_ci     */
111861847f8eSopenharmony_ci    allowNetwork: NetType;
111961847f8eSopenharmony_ci  }
112061847f8eSopenharmony_ci
112161847f8eSopenharmony_ci  /**
112261847f8eSopenharmony_ci   * Represents pause download options.
112361847f8eSopenharmony_ci   *
112461847f8eSopenharmony_ci   * @typedef PauseDownloadOptions
112561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
112661847f8eSopenharmony_ci   * @systemapi hide for inner use.
112761847f8eSopenharmony_ci   * @since 9
112861847f8eSopenharmony_ci   */
112961847f8eSopenharmony_ci  export interface PauseDownloadOptions {
113061847f8eSopenharmony_ci    /**
113161847f8eSopenharmony_ci     * Whether allow auto resume when net available
113261847f8eSopenharmony_ci     *
113361847f8eSopenharmony_ci     * @type { boolean }
113461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
113561847f8eSopenharmony_ci     * @systemapi hide for inner use.
113661847f8eSopenharmony_ci     * @since 9
113761847f8eSopenharmony_ci     */
113861847f8eSopenharmony_ci    isAllowAutoResume: boolean;
113961847f8eSopenharmony_ci  }
114061847f8eSopenharmony_ci
114161847f8eSopenharmony_ci  /**
114261847f8eSopenharmony_ci   * Represents upgrade options.
114361847f8eSopenharmony_ci   *
114461847f8eSopenharmony_ci   * @typedef UpgradeOptions
114561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
114661847f8eSopenharmony_ci   * @systemapi hide for inner use.
114761847f8eSopenharmony_ci   * @since 9
114861847f8eSopenharmony_ci   */
114961847f8eSopenharmony_ci  export interface UpgradeOptions {
115061847f8eSopenharmony_ci    /**
115161847f8eSopenharmony_ci     * Upgrade command
115261847f8eSopenharmony_ci     *
115361847f8eSopenharmony_ci     * @type { Order }
115461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
115561847f8eSopenharmony_ci     * @systemapi hide for inner use.
115661847f8eSopenharmony_ci     * @since 9
115761847f8eSopenharmony_ci     */
115861847f8eSopenharmony_ci    order: Order;
115961847f8eSopenharmony_ci  }
116061847f8eSopenharmony_ci
116161847f8eSopenharmony_ci  /**
116261847f8eSopenharmony_ci   * Represents clear error options.
116361847f8eSopenharmony_ci   *
116461847f8eSopenharmony_ci   * @typedef ClearOptions
116561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
116661847f8eSopenharmony_ci   * @systemapi hide for inner use.
116761847f8eSopenharmony_ci   * @since 9
116861847f8eSopenharmony_ci   */
116961847f8eSopenharmony_ci  export interface ClearOptions {
117061847f8eSopenharmony_ci    /**
117161847f8eSopenharmony_ci     * Clear status error
117261847f8eSopenharmony_ci     *
117361847f8eSopenharmony_ci     * @type { UpgradeStatus }
117461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
117561847f8eSopenharmony_ci     * @systemapi hide for inner use.
117661847f8eSopenharmony_ci     * @since 9
117761847f8eSopenharmony_ci     */
117861847f8eSopenharmony_ci    status: UpgradeStatus;
117961847f8eSopenharmony_ci  }
118061847f8eSopenharmony_ci
118161847f8eSopenharmony_ci  /**
118261847f8eSopenharmony_ci   * Represents upgrade policy.
118361847f8eSopenharmony_ci   *
118461847f8eSopenharmony_ci   * @typedef UpgradePolicy
118561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
118661847f8eSopenharmony_ci   * @systemapi hide for inner use.
118761847f8eSopenharmony_ci   * @since 9
118861847f8eSopenharmony_ci   */
118961847f8eSopenharmony_ci  export interface UpgradePolicy {
119061847f8eSopenharmony_ci    /**
119161847f8eSopenharmony_ci     * Download strategy: open or close
119261847f8eSopenharmony_ci     *
119361847f8eSopenharmony_ci     * @type { boolean }
119461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
119561847f8eSopenharmony_ci     * @systemapi hide for inner use.
119661847f8eSopenharmony_ci     * @since 9
119761847f8eSopenharmony_ci     */
119861847f8eSopenharmony_ci    downloadStrategy: boolean;
119961847f8eSopenharmony_ci
120061847f8eSopenharmony_ci    /**
120161847f8eSopenharmony_ci     * Auto upgrade strategy: open or close
120261847f8eSopenharmony_ci     *
120361847f8eSopenharmony_ci     * @type { boolean }
120461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
120561847f8eSopenharmony_ci     * @systemapi hide for inner use.
120661847f8eSopenharmony_ci     * @since 9
120761847f8eSopenharmony_ci     */
120861847f8eSopenharmony_ci    autoUpgradeStrategy: boolean;
120961847f8eSopenharmony_ci
121061847f8eSopenharmony_ci    /**
121161847f8eSopenharmony_ci     * Auto upgrade period
121261847f8eSopenharmony_ci     *
121361847f8eSopenharmony_ci     * @type { Array<UpgradePeriod> }
121461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
121561847f8eSopenharmony_ci     * @systemapi hide for inner use.
121661847f8eSopenharmony_ci     * @since 9
121761847f8eSopenharmony_ci     */
121861847f8eSopenharmony_ci    autoUpgradePeriods: Array<UpgradePeriod>;
121961847f8eSopenharmony_ci  }
122061847f8eSopenharmony_ci
122161847f8eSopenharmony_ci  /**
122261847f8eSopenharmony_ci   * Represents upgrade period.
122361847f8eSopenharmony_ci   *
122461847f8eSopenharmony_ci   * @typedef UpgradePeriod
122561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
122661847f8eSopenharmony_ci   * @systemapi hide for inner use.
122761847f8eSopenharmony_ci   * @since 9
122861847f8eSopenharmony_ci   */
122961847f8eSopenharmony_ci  export interface UpgradePeriod {
123061847f8eSopenharmony_ci    /**
123161847f8eSopenharmony_ci     * Start time of upgrade period
123261847f8eSopenharmony_ci     *
123361847f8eSopenharmony_ci     * @type { number }
123461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
123561847f8eSopenharmony_ci     * @systemapi hide for inner use.
123661847f8eSopenharmony_ci     * @since 9
123761847f8eSopenharmony_ci     */
123861847f8eSopenharmony_ci    start: number;
123961847f8eSopenharmony_ci
124061847f8eSopenharmony_ci    /**
124161847f8eSopenharmony_ci     * End time of upgrade period
124261847f8eSopenharmony_ci     *
124361847f8eSopenharmony_ci     * @type { number }
124461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
124561847f8eSopenharmony_ci     * @systemapi hide for inner use.
124661847f8eSopenharmony_ci     * @since 9
124761847f8eSopenharmony_ci     */
124861847f8eSopenharmony_ci    end: number;
124961847f8eSopenharmony_ci  }
125061847f8eSopenharmony_ci
125161847f8eSopenharmony_ci  /**
125261847f8eSopenharmony_ci   * Represents task info.
125361847f8eSopenharmony_ci   *
125461847f8eSopenharmony_ci   * @typedef TaskInfo
125561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
125661847f8eSopenharmony_ci   * @systemapi hide for inner use.
125761847f8eSopenharmony_ci   * @since 9
125861847f8eSopenharmony_ci   */
125961847f8eSopenharmony_ci  export interface TaskInfo {
126061847f8eSopenharmony_ci    /**
126161847f8eSopenharmony_ci     * Whether upgrade task exist
126261847f8eSopenharmony_ci     *
126361847f8eSopenharmony_ci     * @type { boolean }
126461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
126561847f8eSopenharmony_ci     * @systemapi hide for inner use.
126661847f8eSopenharmony_ci     * @since 9
126761847f8eSopenharmony_ci     */
126861847f8eSopenharmony_ci    existTask: boolean;
126961847f8eSopenharmony_ci
127061847f8eSopenharmony_ci    /**
127161847f8eSopenharmony_ci     * Task body info
127261847f8eSopenharmony_ci     *
127361847f8eSopenharmony_ci     * @type { TaskBody }
127461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
127561847f8eSopenharmony_ci     * @systemapi hide for inner use.
127661847f8eSopenharmony_ci     * @since 9
127761847f8eSopenharmony_ci     */
127861847f8eSopenharmony_ci    taskBody: TaskBody;
127961847f8eSopenharmony_ci  }
128061847f8eSopenharmony_ci
128161847f8eSopenharmony_ci  /**
128261847f8eSopenharmony_ci   * Represents event info.
128361847f8eSopenharmony_ci   *
128461847f8eSopenharmony_ci   * @typedef EventInfo
128561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
128661847f8eSopenharmony_ci   * @systemapi hide for inner use.
128761847f8eSopenharmony_ci   * @since 9
128861847f8eSopenharmony_ci   */
128961847f8eSopenharmony_ci  export interface EventInfo {
129061847f8eSopenharmony_ci    /**
129161847f8eSopenharmony_ci     * Event id
129261847f8eSopenharmony_ci     *
129361847f8eSopenharmony_ci     * @type { EventId }
129461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
129561847f8eSopenharmony_ci     * @systemapi hide for inner use.
129661847f8eSopenharmony_ci     * @since 9
129761847f8eSopenharmony_ci     */
129861847f8eSopenharmony_ci    eventId: EventId;
129961847f8eSopenharmony_ci
130061847f8eSopenharmony_ci    /**
130161847f8eSopenharmony_ci     * Task body info
130261847f8eSopenharmony_ci     *
130361847f8eSopenharmony_ci     * @type { TaskBody }
130461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
130561847f8eSopenharmony_ci     * @systemapi hide for inner use.
130661847f8eSopenharmony_ci     * @since 9
130761847f8eSopenharmony_ci     */
130861847f8eSopenharmony_ci    taskBody: TaskBody;
130961847f8eSopenharmony_ci  }
131061847f8eSopenharmony_ci
131161847f8eSopenharmony_ci  /**
131261847f8eSopenharmony_ci   * Represents task body info.
131361847f8eSopenharmony_ci   *
131461847f8eSopenharmony_ci   * @typedef TaskBody
131561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
131661847f8eSopenharmony_ci   * @systemapi hide for inner use.
131761847f8eSopenharmony_ci   * @since 9
131861847f8eSopenharmony_ci   */
131961847f8eSopenharmony_ci  export interface TaskBody {
132061847f8eSopenharmony_ci    /**
132161847f8eSopenharmony_ci     * Digest info of new version
132261847f8eSopenharmony_ci     *
132361847f8eSopenharmony_ci     * @type { VersionDigestInfo }
132461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
132561847f8eSopenharmony_ci     * @systemapi hide for inner use.
132661847f8eSopenharmony_ci     * @since 9
132761847f8eSopenharmony_ci     */
132861847f8eSopenharmony_ci    versionDigestInfo: VersionDigestInfo;
132961847f8eSopenharmony_ci
133061847f8eSopenharmony_ci    /**
133161847f8eSopenharmony_ci     * Upgrade status
133261847f8eSopenharmony_ci     *
133361847f8eSopenharmony_ci     * @type { UpgradeStatus }
133461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
133561847f8eSopenharmony_ci     * @systemapi hide for inner use.
133661847f8eSopenharmony_ci     * @since 9
133761847f8eSopenharmony_ci     */
133861847f8eSopenharmony_ci    status: UpgradeStatus;
133961847f8eSopenharmony_ci
134061847f8eSopenharmony_ci    /**
134161847f8eSopenharmony_ci     * Upgrade sub status
134261847f8eSopenharmony_ci     *
134361847f8eSopenharmony_ci     * @type { number }
134461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
134561847f8eSopenharmony_ci     * @systemapi hide for inner use.
134661847f8eSopenharmony_ci     * @since 9
134761847f8eSopenharmony_ci     */
134861847f8eSopenharmony_ci    subStatus: number;
134961847f8eSopenharmony_ci
135061847f8eSopenharmony_ci    /**
135161847f8eSopenharmony_ci     * Upgrade progress
135261847f8eSopenharmony_ci     *
135361847f8eSopenharmony_ci     * @type { number }
135461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
135561847f8eSopenharmony_ci     * @systemapi hide for inner use.
135661847f8eSopenharmony_ci     * @since 9
135761847f8eSopenharmony_ci     */
135861847f8eSopenharmony_ci    progress: number;
135961847f8eSopenharmony_ci
136061847f8eSopenharmony_ci    /**
136161847f8eSopenharmony_ci     * Install mode
136261847f8eSopenharmony_ci     *
136361847f8eSopenharmony_ci     * @type { number }
136461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
136561847f8eSopenharmony_ci     * @systemapi hide for inner use.
136661847f8eSopenharmony_ci     * @since 9
136761847f8eSopenharmony_ci     */
136861847f8eSopenharmony_ci    installMode: number;
136961847f8eSopenharmony_ci
137061847f8eSopenharmony_ci    /**
137161847f8eSopenharmony_ci     * Error messages
137261847f8eSopenharmony_ci     *
137361847f8eSopenharmony_ci     * @type { Array<ErrorMessage> }
137461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
137561847f8eSopenharmony_ci     * @systemapi hide for inner use.
137661847f8eSopenharmony_ci     * @since 9
137761847f8eSopenharmony_ci     */
137861847f8eSopenharmony_ci    errorMessages: Array<ErrorMessage>;
137961847f8eSopenharmony_ci
138061847f8eSopenharmony_ci    /**
138161847f8eSopenharmony_ci     * Version component array
138261847f8eSopenharmony_ci     *
138361847f8eSopenharmony_ci     * @type { Array<VersionComponent> }
138461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
138561847f8eSopenharmony_ci     * @systemapi hide for inner use.
138661847f8eSopenharmony_ci     * @since 9
138761847f8eSopenharmony_ci     */
138861847f8eSopenharmony_ci    versionComponents: Array<VersionComponent>;
138961847f8eSopenharmony_ci  }
139061847f8eSopenharmony_ci
139161847f8eSopenharmony_ci  /**
139261847f8eSopenharmony_ci   * Represents error message.
139361847f8eSopenharmony_ci   *
139461847f8eSopenharmony_ci   * @typedef ErrorMessage
139561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
139661847f8eSopenharmony_ci   * @systemapi hide for inner use.
139761847f8eSopenharmony_ci   * @since 9
139861847f8eSopenharmony_ci   */
139961847f8eSopenharmony_ci  export interface ErrorMessage {
140061847f8eSopenharmony_ci    /**
140161847f8eSopenharmony_ci     * Error code
140261847f8eSopenharmony_ci     *
140361847f8eSopenharmony_ci     * @type { number }
140461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
140561847f8eSopenharmony_ci     * @systemapi hide for inner use.
140661847f8eSopenharmony_ci     * @since 9
140761847f8eSopenharmony_ci     */
140861847f8eSopenharmony_ci    errorCode: number;
140961847f8eSopenharmony_ci
141061847f8eSopenharmony_ci    /**
141161847f8eSopenharmony_ci     * Error message
141261847f8eSopenharmony_ci     *
141361847f8eSopenharmony_ci     * @type { string }
141461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
141561847f8eSopenharmony_ci     * @systemapi hide for inner use.
141661847f8eSopenharmony_ci     * @since 9
141761847f8eSopenharmony_ci     */
141861847f8eSopenharmony_ci    errorMessage: string;
141961847f8eSopenharmony_ci  }
142061847f8eSopenharmony_ci
142161847f8eSopenharmony_ci  /**
142261847f8eSopenharmony_ci   * Represents event classify info.
142361847f8eSopenharmony_ci   *
142461847f8eSopenharmony_ci   * @typedef EventClassifyInfo
142561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
142661847f8eSopenharmony_ci   * @systemapi hide for inner use.
142761847f8eSopenharmony_ci   * @since 9
142861847f8eSopenharmony_ci   */
142961847f8eSopenharmony_ci  export interface EventClassifyInfo {
143061847f8eSopenharmony_ci    /**
143161847f8eSopenharmony_ci     * Event classify
143261847f8eSopenharmony_ci     *
143361847f8eSopenharmony_ci     * @type { EventClassify }
143461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
143561847f8eSopenharmony_ci     * @systemapi hide for inner use.
143661847f8eSopenharmony_ci     * @since 9
143761847f8eSopenharmony_ci     */
143861847f8eSopenharmony_ci    eventClassify: EventClassify;
143961847f8eSopenharmony_ci
144061847f8eSopenharmony_ci    /**
144161847f8eSopenharmony_ci     * Additional information
144261847f8eSopenharmony_ci     *
144361847f8eSopenharmony_ci     * @type { string }
144461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
144561847f8eSopenharmony_ci     * @systemapi hide for inner use.
144661847f8eSopenharmony_ci     * @since 9
144761847f8eSopenharmony_ci     */
144861847f8eSopenharmony_ci    extraInfo: string;
144961847f8eSopenharmony_ci  }
145061847f8eSopenharmony_ci
145161847f8eSopenharmony_ci  /**
145261847f8eSopenharmony_ci   * Represents upgrade file info.
145361847f8eSopenharmony_ci   *
145461847f8eSopenharmony_ci   * @typedef UpgradeFile
145561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
145661847f8eSopenharmony_ci   * @systemapi hide for inner use.
145761847f8eSopenharmony_ci   * @since 9
145861847f8eSopenharmony_ci   */
145961847f8eSopenharmony_ci  export interface UpgradeFile {
146061847f8eSopenharmony_ci    /**
146161847f8eSopenharmony_ci     * Upgrade file type
146261847f8eSopenharmony_ci     *
146361847f8eSopenharmony_ci     * @type { ComponentType }
146461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
146561847f8eSopenharmony_ci     * @systemapi hide for inner use.
146661847f8eSopenharmony_ci     * @since 9
146761847f8eSopenharmony_ci     */
146861847f8eSopenharmony_ci    fileType: ComponentType;
146961847f8eSopenharmony_ci
147061847f8eSopenharmony_ci    /**
147161847f8eSopenharmony_ci     * Upgrade file path
147261847f8eSopenharmony_ci     *
147361847f8eSopenharmony_ci     * @type { string }
147461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
147561847f8eSopenharmony_ci     * @systemapi hide for inner use.
147661847f8eSopenharmony_ci     * @since 9
147761847f8eSopenharmony_ci     */
147861847f8eSopenharmony_ci    filePath: string;
147961847f8eSopenharmony_ci  }
148061847f8eSopenharmony_ci
148161847f8eSopenharmony_ci  /**
148261847f8eSopenharmony_ci   * Called when upgrade task info changes.
148361847f8eSopenharmony_ci   * You need to implement this method in a child class.
148461847f8eSopenharmony_ci   *
148561847f8eSopenharmony_ci   * @typedef UpgradeTaskCallback
148661847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
148761847f8eSopenharmony_ci   * @systemapi hide for inner use.
148861847f8eSopenharmony_ci   * @since 9
148961847f8eSopenharmony_ci   */
149061847f8eSopenharmony_ci  export interface UpgradeTaskCallback {
149161847f8eSopenharmony_ci    /**
149261847f8eSopenharmony_ci     * Event callback.
149361847f8eSopenharmony_ci     *
149461847f8eSopenharmony_ci     * @param { EventInfo } eventInfo - Event information.
149561847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
149661847f8eSopenharmony_ci     * @systemapi hide for inner use.
149761847f8eSopenharmony_ci     * @since 9
149861847f8eSopenharmony_ci     */
149961847f8eSopenharmony_ci    (eventInfo: EventInfo): void;
150061847f8eSopenharmony_ci  }
150161847f8eSopenharmony_ci
150261847f8eSopenharmony_ci  /**
150361847f8eSopenharmony_ci   * Enumerates business vendor type.
150461847f8eSopenharmony_ci   *
150561847f8eSopenharmony_ci   * @enum { string }
150661847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
150761847f8eSopenharmony_ci   * @systemapi hide for inner use.
150861847f8eSopenharmony_ci   * @since 9
150961847f8eSopenharmony_ci   */
151061847f8eSopenharmony_ci  export enum BusinessVendor {
151161847f8eSopenharmony_ci    /**
151261847f8eSopenharmony_ci     * Device vendor is open source.
151361847f8eSopenharmony_ci     *
151461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
151561847f8eSopenharmony_ci     * @systemapi hide for inner use.
151661847f8eSopenharmony_ci     * @since 9
151761847f8eSopenharmony_ci     */
151861847f8eSopenharmony_ci    PUBLIC = 'public'
151961847f8eSopenharmony_ci  }
152061847f8eSopenharmony_ci
152161847f8eSopenharmony_ci  /**
152261847f8eSopenharmony_ci   * Enumerates business sub type.
152361847f8eSopenharmony_ci   *
152461847f8eSopenharmony_ci   * @enum { number }
152561847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
152661847f8eSopenharmony_ci   * @systemapi hide for inner use.
152761847f8eSopenharmony_ci   * @since 9
152861847f8eSopenharmony_ci   */
152961847f8eSopenharmony_ci  export enum BusinessSubType {
153061847f8eSopenharmony_ci    /**
153161847f8eSopenharmony_ci     * Business sub type is Firmware.
153261847f8eSopenharmony_ci     *
153361847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
153461847f8eSopenharmony_ci     * @systemapi hide for inner use.
153561847f8eSopenharmony_ci     * @since 9
153661847f8eSopenharmony_ci     */
153761847f8eSopenharmony_ci    FIRMWARE = 1
153861847f8eSopenharmony_ci  }
153961847f8eSopenharmony_ci
154061847f8eSopenharmony_ci  /**
154161847f8eSopenharmony_ci   * Enumerates component type.
154261847f8eSopenharmony_ci   *
154361847f8eSopenharmony_ci   * @enum { number }
154461847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
154561847f8eSopenharmony_ci   * @systemapi hide for inner use.
154661847f8eSopenharmony_ci   * @since 9
154761847f8eSopenharmony_ci   */
154861847f8eSopenharmony_ci  export enum ComponentType {
154961847f8eSopenharmony_ci    /**
155061847f8eSopenharmony_ci     * Component type is OTA.
155161847f8eSopenharmony_ci     *
155261847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
155361847f8eSopenharmony_ci     * @systemapi hide for inner use.
155461847f8eSopenharmony_ci     * @since 9
155561847f8eSopenharmony_ci     */
155661847f8eSopenharmony_ci    OTA = 1
155761847f8eSopenharmony_ci  }
155861847f8eSopenharmony_ci
155961847f8eSopenharmony_ci  /**
156061847f8eSopenharmony_ci   * Enumerates upgrade action type.
156161847f8eSopenharmony_ci   *
156261847f8eSopenharmony_ci   * @enum { string }
156361847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
156461847f8eSopenharmony_ci   * @systemapi hide for inner use.
156561847f8eSopenharmony_ci   * @since 9
156661847f8eSopenharmony_ci   */
156761847f8eSopenharmony_ci  export enum UpgradeAction {
156861847f8eSopenharmony_ci    /**
156961847f8eSopenharmony_ci     * Differential package.
157061847f8eSopenharmony_ci     *
157161847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
157261847f8eSopenharmony_ci     * @systemapi hide for inner use.
157361847f8eSopenharmony_ci     * @since 9
157461847f8eSopenharmony_ci     */
157561847f8eSopenharmony_ci    UPGRADE = 'upgrade',
157661847f8eSopenharmony_ci
157761847f8eSopenharmony_ci    /**
157861847f8eSopenharmony_ci     * Recovery package.
157961847f8eSopenharmony_ci     *
158061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
158161847f8eSopenharmony_ci     * @systemapi hide for inner use.
158261847f8eSopenharmony_ci     * @since 9
158361847f8eSopenharmony_ci     */
158461847f8eSopenharmony_ci    RECOVERY = 'recovery'
158561847f8eSopenharmony_ci  }
158661847f8eSopenharmony_ci
158761847f8eSopenharmony_ci  /**
158861847f8eSopenharmony_ci   * Enumerates effective mode.
158961847f8eSopenharmony_ci   *
159061847f8eSopenharmony_ci   * @enum { number }
159161847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
159261847f8eSopenharmony_ci   * @systemapi hide for inner use.
159361847f8eSopenharmony_ci   * @since 9
159461847f8eSopenharmony_ci   */
159561847f8eSopenharmony_ci  export enum EffectiveMode {
159661847f8eSopenharmony_ci    /**
159761847f8eSopenharmony_ci     * Cold update.
159861847f8eSopenharmony_ci     *
159961847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
160061847f8eSopenharmony_ci     * @systemapi hide for inner use.
160161847f8eSopenharmony_ci     * @since 9
160261847f8eSopenharmony_ci     */
160361847f8eSopenharmony_ci    COLD = 1,
160461847f8eSopenharmony_ci
160561847f8eSopenharmony_ci    /**
160661847f8eSopenharmony_ci     * Live update.
160761847f8eSopenharmony_ci     *
160861847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
160961847f8eSopenharmony_ci     * @systemapi hide for inner use.
161061847f8eSopenharmony_ci     * @since 9
161161847f8eSopenharmony_ci     */
161261847f8eSopenharmony_ci    LIVE = 2,
161361847f8eSopenharmony_ci
161461847f8eSopenharmony_ci    /**
161561847f8eSopenharmony_ci     * Hybrid live and cold update.
161661847f8eSopenharmony_ci     *
161761847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
161861847f8eSopenharmony_ci     * @systemapi hide for inner use.
161961847f8eSopenharmony_ci     * @since 9
162061847f8eSopenharmony_ci     */
162161847f8eSopenharmony_ci    LIVE_AND_COLD = 3
162261847f8eSopenharmony_ci  }
162361847f8eSopenharmony_ci
162461847f8eSopenharmony_ci  /**
162561847f8eSopenharmony_ci   * Enumerates description type.
162661847f8eSopenharmony_ci   *
162761847f8eSopenharmony_ci   * @enum { number }
162861847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
162961847f8eSopenharmony_ci   * @systemapi hide for inner use.
163061847f8eSopenharmony_ci   * @since 9
163161847f8eSopenharmony_ci   */
163261847f8eSopenharmony_ci  export enum DescriptionType {
163361847f8eSopenharmony_ci    /**
163461847f8eSopenharmony_ci     * Description type is content.
163561847f8eSopenharmony_ci     *
163661847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
163761847f8eSopenharmony_ci     * @systemapi hide for inner use.
163861847f8eSopenharmony_ci     * @since 9
163961847f8eSopenharmony_ci     */
164061847f8eSopenharmony_ci    CONTENT = 0,
164161847f8eSopenharmony_ci
164261847f8eSopenharmony_ci    /**
164361847f8eSopenharmony_ci     * Description type is link.
164461847f8eSopenharmony_ci     *
164561847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
164661847f8eSopenharmony_ci     * @systemapi hide for inner use.
164761847f8eSopenharmony_ci     * @since 9
164861847f8eSopenharmony_ci     */
164961847f8eSopenharmony_ci    URI = 1
165061847f8eSopenharmony_ci  }
165161847f8eSopenharmony_ci
165261847f8eSopenharmony_ci  /**
165361847f8eSopenharmony_ci   * Enumerates description format.
165461847f8eSopenharmony_ci   *
165561847f8eSopenharmony_ci   * @enum { number }
165661847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
165761847f8eSopenharmony_ci   * @systemapi hide for inner use.
165861847f8eSopenharmony_ci   * @since 9
165961847f8eSopenharmony_ci   */
166061847f8eSopenharmony_ci  export enum DescriptionFormat {
166161847f8eSopenharmony_ci    /**
166261847f8eSopenharmony_ci     * Description format is standard format.
166361847f8eSopenharmony_ci     *
166461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
166561847f8eSopenharmony_ci     * @systemapi hide for inner use.
166661847f8eSopenharmony_ci     * @since 9
166761847f8eSopenharmony_ci     */
166861847f8eSopenharmony_ci    STANDARD = 0,
166961847f8eSopenharmony_ci
167061847f8eSopenharmony_ci    /**
167161847f8eSopenharmony_ci     * Description format is Simple format.
167261847f8eSopenharmony_ci     *
167361847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
167461847f8eSopenharmony_ci     * @systemapi hide for inner use.
167561847f8eSopenharmony_ci     * @since 9
167661847f8eSopenharmony_ci     */
167761847f8eSopenharmony_ci    SIMPLIFIED = 1
167861847f8eSopenharmony_ci  }
167961847f8eSopenharmony_ci
168061847f8eSopenharmony_ci  /**
168161847f8eSopenharmony_ci   * Enumerates network type.
168261847f8eSopenharmony_ci   *
168361847f8eSopenharmony_ci   * @enum { number }
168461847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
168561847f8eSopenharmony_ci   * @systemapi hide for inner use.
168661847f8eSopenharmony_ci   * @since 9
168761847f8eSopenharmony_ci   */
168861847f8eSopenharmony_ci  export enum NetType {
168961847f8eSopenharmony_ci    /**
169061847f8eSopenharmony_ci     * Network type is data network.
169161847f8eSopenharmony_ci     *
169261847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
169361847f8eSopenharmony_ci     * @systemapi hide for inner use.
169461847f8eSopenharmony_ci     * @since 9
169561847f8eSopenharmony_ci     */
169661847f8eSopenharmony_ci    CELLULAR = 1,
169761847f8eSopenharmony_ci
169861847f8eSopenharmony_ci    /**
169961847f8eSopenharmony_ci     * Network type is Wi-Fi hotspot.
170061847f8eSopenharmony_ci     *
170161847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
170261847f8eSopenharmony_ci     * @systemapi hide for inner use.
170361847f8eSopenharmony_ci     * @since 9
170461847f8eSopenharmony_ci     */
170561847f8eSopenharmony_ci    METERED_WIFI = 2,
170661847f8eSopenharmony_ci
170761847f8eSopenharmony_ci    /**
170861847f8eSopenharmony_ci     * Network type is non Wi-Fi hotspot.
170961847f8eSopenharmony_ci     *
171061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
171161847f8eSopenharmony_ci     * @systemapi hide for inner use.
171261847f8eSopenharmony_ci     * @since 9
171361847f8eSopenharmony_ci     */
171461847f8eSopenharmony_ci    NOT_METERED_WIFI = 4,
171561847f8eSopenharmony_ci
171661847f8eSopenharmony_ci    /**
171761847f8eSopenharmony_ci     * Network type is Wi-Fi.
171861847f8eSopenharmony_ci     *
171961847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
172061847f8eSopenharmony_ci     * @systemapi hide for inner use.
172161847f8eSopenharmony_ci     * @since 9
172261847f8eSopenharmony_ci     */
172361847f8eSopenharmony_ci    WIFI = 6,
172461847f8eSopenharmony_ci
172561847f8eSopenharmony_ci    /**
172661847f8eSopenharmony_ci     * Network type is data network and Wi-Fi.
172761847f8eSopenharmony_ci     *
172861847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
172961847f8eSopenharmony_ci     * @systemapi hide for inner use.
173061847f8eSopenharmony_ci     * @since 9
173161847f8eSopenharmony_ci     */
173261847f8eSopenharmony_ci    CELLULAR_AND_WIFI = 7
173361847f8eSopenharmony_ci  }
173461847f8eSopenharmony_ci
173561847f8eSopenharmony_ci  /**
173661847f8eSopenharmony_ci   * Enumerates upgrade order.
173761847f8eSopenharmony_ci   *
173861847f8eSopenharmony_ci   * @enum { number }
173961847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
174061847f8eSopenharmony_ci   * @systemapi hide for inner use.
174161847f8eSopenharmony_ci   * @since 9
174261847f8eSopenharmony_ci   */
174361847f8eSopenharmony_ci  export enum Order {
174461847f8eSopenharmony_ci    /**
174561847f8eSopenharmony_ci     * Upgrade order is download.
174661847f8eSopenharmony_ci     *
174761847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
174861847f8eSopenharmony_ci     * @systemapi hide for inner use.
174961847f8eSopenharmony_ci     * @since 9
175061847f8eSopenharmony_ci     */
175161847f8eSopenharmony_ci    DOWNLOAD = 1,
175261847f8eSopenharmony_ci
175361847f8eSopenharmony_ci    /**
175461847f8eSopenharmony_ci     * Upgrade order is Install.
175561847f8eSopenharmony_ci     *
175661847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
175761847f8eSopenharmony_ci     * @systemapi hide for inner use.
175861847f8eSopenharmony_ci     * @since 9
175961847f8eSopenharmony_ci     */
176061847f8eSopenharmony_ci    INSTALL = 2,
176161847f8eSopenharmony_ci
176261847f8eSopenharmony_ci    /**
176361847f8eSopenharmony_ci     * Upgrade order is download and install.
176461847f8eSopenharmony_ci     *
176561847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
176661847f8eSopenharmony_ci     * @systemapi hide for inner use.
176761847f8eSopenharmony_ci     * @since 9
176861847f8eSopenharmony_ci     */
176961847f8eSopenharmony_ci    DOWNLOAD_AND_INSTALL = 3,
177061847f8eSopenharmony_ci
177161847f8eSopenharmony_ci    /**
177261847f8eSopenharmony_ci     * Upgrade order is apply.
177361847f8eSopenharmony_ci     *
177461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
177561847f8eSopenharmony_ci     * @systemapi hide for inner use.
177661847f8eSopenharmony_ci     * @since 9
177761847f8eSopenharmony_ci     */
177861847f8eSopenharmony_ci    APPLY = 4,
177961847f8eSopenharmony_ci
178061847f8eSopenharmony_ci    /**
178161847f8eSopenharmony_ci     * Upgrade order is install and apply.
178261847f8eSopenharmony_ci     *
178361847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
178461847f8eSopenharmony_ci     * @systemapi hide for inner use.
178561847f8eSopenharmony_ci     * @since 9
178661847f8eSopenharmony_ci     */
178761847f8eSopenharmony_ci    INSTALL_AND_APPLY = 6
178861847f8eSopenharmony_ci  }
178961847f8eSopenharmony_ci
179061847f8eSopenharmony_ci  /**
179161847f8eSopenharmony_ci   * Enumerates upgrade status.
179261847f8eSopenharmony_ci   *
179361847f8eSopenharmony_ci   * @enum { number }
179461847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
179561847f8eSopenharmony_ci   * @systemapi hide for inner use.
179661847f8eSopenharmony_ci   * @since 9
179761847f8eSopenharmony_ci   */
179861847f8eSopenharmony_ci  export enum UpgradeStatus {
179961847f8eSopenharmony_ci    /**
180061847f8eSopenharmony_ci     * Upgrade status is waiting for download.
180161847f8eSopenharmony_ci     *
180261847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
180361847f8eSopenharmony_ci     * @systemapi hide for inner use.
180461847f8eSopenharmony_ci     * @since 9
180561847f8eSopenharmony_ci     */
180661847f8eSopenharmony_ci    WAITING_DOWNLOAD = 20,
180761847f8eSopenharmony_ci
180861847f8eSopenharmony_ci    /**
180961847f8eSopenharmony_ci     * Upgrade status is downloading.
181061847f8eSopenharmony_ci     *
181161847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
181261847f8eSopenharmony_ci     * @systemapi hide for inner use.
181361847f8eSopenharmony_ci     * @since 9
181461847f8eSopenharmony_ci     */
181561847f8eSopenharmony_ci    DOWNLOADING = 21,
181661847f8eSopenharmony_ci
181761847f8eSopenharmony_ci    /**
181861847f8eSopenharmony_ci     * Upgrade status is download paused.
181961847f8eSopenharmony_ci     *
182061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
182161847f8eSopenharmony_ci     * @systemapi hide for inner use.
182261847f8eSopenharmony_ci     * @since 9
182361847f8eSopenharmony_ci     */
182461847f8eSopenharmony_ci    DOWNLOAD_PAUSED = 22,
182561847f8eSopenharmony_ci
182661847f8eSopenharmony_ci    /**
182761847f8eSopenharmony_ci     * Upgrade status is download failed.
182861847f8eSopenharmony_ci     *
182961847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
183061847f8eSopenharmony_ci     * @systemapi hide for inner use.
183161847f8eSopenharmony_ci     * @since 9
183261847f8eSopenharmony_ci     */
183361847f8eSopenharmony_ci    DOWNLOAD_FAIL = 23,
183461847f8eSopenharmony_ci
183561847f8eSopenharmony_ci    /**
183661847f8eSopenharmony_ci     * Upgrade status is waiting for installation.
183761847f8eSopenharmony_ci     *
183861847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
183961847f8eSopenharmony_ci     * @systemapi hide for inner use.
184061847f8eSopenharmony_ci     * @since 9
184161847f8eSopenharmony_ci     */
184261847f8eSopenharmony_ci    WAITING_INSTALL = 30,
184361847f8eSopenharmony_ci
184461847f8eSopenharmony_ci    /**
184561847f8eSopenharmony_ci     * Upgrade status is upgrading.
184661847f8eSopenharmony_ci     *
184761847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
184861847f8eSopenharmony_ci     * @systemapi hide for inner use.
184961847f8eSopenharmony_ci     * @since 9
185061847f8eSopenharmony_ci     */
185161847f8eSopenharmony_ci    UPDATING = 31,
185261847f8eSopenharmony_ci
185361847f8eSopenharmony_ci    /**
185461847f8eSopenharmony_ci     * Upgrade status is waiting for applying the update.
185561847f8eSopenharmony_ci     *
185661847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
185761847f8eSopenharmony_ci     * @systemapi hide for inner use.
185861847f8eSopenharmony_ci     * @since 9
185961847f8eSopenharmony_ci     */
186061847f8eSopenharmony_ci    WAITING_APPLY = 40,
186161847f8eSopenharmony_ci
186261847f8eSopenharmony_ci    /**
186361847f8eSopenharmony_ci     * Upgrade status is applying the update.
186461847f8eSopenharmony_ci     *
186561847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
186661847f8eSopenharmony_ci     * @systemapi hide for inner use.
186761847f8eSopenharmony_ci     * @since 9
186861847f8eSopenharmony_ci     */
186961847f8eSopenharmony_ci    APPLYING = 41,
187061847f8eSopenharmony_ci
187161847f8eSopenharmony_ci    /**
187261847f8eSopenharmony_ci     * Upgrade status is update succeeded.
187361847f8eSopenharmony_ci     *
187461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
187561847f8eSopenharmony_ci     * @systemapi hide for inner use.
187661847f8eSopenharmony_ci     * @since 9
187761847f8eSopenharmony_ci     */
187861847f8eSopenharmony_ci    UPGRADE_SUCCESS = 50,
187961847f8eSopenharmony_ci
188061847f8eSopenharmony_ci    /**
188161847f8eSopenharmony_ci     * Upgrade status is update failed.
188261847f8eSopenharmony_ci     *
188361847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
188461847f8eSopenharmony_ci     * @systemapi hide for inner use.
188561847f8eSopenharmony_ci     * @since 9
188661847f8eSopenharmony_ci     */
188761847f8eSopenharmony_ci    UPGRADE_FAIL = 51
188861847f8eSopenharmony_ci  }
188961847f8eSopenharmony_ci
189061847f8eSopenharmony_ci  /**
189161847f8eSopenharmony_ci   * Enumerates event classify.
189261847f8eSopenharmony_ci   *
189361847f8eSopenharmony_ci   * @enum { number }
189461847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
189561847f8eSopenharmony_ci   * @systemapi hide for inner use.
189661847f8eSopenharmony_ci   * @since 9
189761847f8eSopenharmony_ci   */
189861847f8eSopenharmony_ci  export enum EventClassify {
189961847f8eSopenharmony_ci    /**
190061847f8eSopenharmony_ci     * Event classify is task event.
190161847f8eSopenharmony_ci     *
190261847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
190361847f8eSopenharmony_ci     * @systemapi hide for inner use.
190461847f8eSopenharmony_ci     * @since 9
190561847f8eSopenharmony_ci     */
190661847f8eSopenharmony_ci    TASK = 0x01000000
190761847f8eSopenharmony_ci  }
190861847f8eSopenharmony_ci
190961847f8eSopenharmony_ci  /**
191061847f8eSopenharmony_ci   * Enumerates event id.
191161847f8eSopenharmony_ci   *
191261847f8eSopenharmony_ci   * @enum { number }
191361847f8eSopenharmony_ci   * @syscap SystemCapability.Update.UpdateService
191461847f8eSopenharmony_ci   * @systemapi hide for inner use.
191561847f8eSopenharmony_ci   * @since 9
191661847f8eSopenharmony_ci   */
191761847f8eSopenharmony_ci  export enum EventId {
191861847f8eSopenharmony_ci    /**
191961847f8eSopenharmony_ci     * Event id is task event.
192061847f8eSopenharmony_ci     *
192161847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
192261847f8eSopenharmony_ci     * @systemapi hide for inner use.
192361847f8eSopenharmony_ci     * @since 9
192461847f8eSopenharmony_ci     */
192561847f8eSopenharmony_ci    EVENT_TASK_BASE = EventClassify.TASK,
192661847f8eSopenharmony_ci
192761847f8eSopenharmony_ci    /**
192861847f8eSopenharmony_ci     * Event id is task received.
192961847f8eSopenharmony_ci     *
193061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
193161847f8eSopenharmony_ci     * @systemapi hide for inner use.
193261847f8eSopenharmony_ci     * @since 9
193361847f8eSopenharmony_ci     */
193461847f8eSopenharmony_ci    EVENT_TASK_RECEIVE,
193561847f8eSopenharmony_ci
193661847f8eSopenharmony_ci    /**
193761847f8eSopenharmony_ci     * Event id is task cancelled.
193861847f8eSopenharmony_ci     *
193961847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
194061847f8eSopenharmony_ci     * @systemapi hide for inner use.
194161847f8eSopenharmony_ci     * @since 9
194261847f8eSopenharmony_ci     */
194361847f8eSopenharmony_ci    EVENT_TASK_CANCEL,
194461847f8eSopenharmony_ci
194561847f8eSopenharmony_ci    /**
194661847f8eSopenharmony_ci     * Event id is waiting for download.
194761847f8eSopenharmony_ci     *
194861847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
194961847f8eSopenharmony_ci     * @systemapi hide for inner use.
195061847f8eSopenharmony_ci     * @since 9
195161847f8eSopenharmony_ci     */
195261847f8eSopenharmony_ci    EVENT_DOWNLOAD_WAIT,
195361847f8eSopenharmony_ci
195461847f8eSopenharmony_ci    /**
195561847f8eSopenharmony_ci     * Event id is download started.
195661847f8eSopenharmony_ci     *
195761847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
195861847f8eSopenharmony_ci     * @systemapi hide for inner use.
195961847f8eSopenharmony_ci     * @since 9
196061847f8eSopenharmony_ci     */
196161847f8eSopenharmony_ci    EVENT_DOWNLOAD_START,
196261847f8eSopenharmony_ci
196361847f8eSopenharmony_ci    /**
196461847f8eSopenharmony_ci     * Event id is download progress update.
196561847f8eSopenharmony_ci     *
196661847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
196761847f8eSopenharmony_ci     * @systemapi hide for inner use.
196861847f8eSopenharmony_ci     * @since 9
196961847f8eSopenharmony_ci     */
197061847f8eSopenharmony_ci    EVENT_DOWNLOAD_UPDATE,
197161847f8eSopenharmony_ci
197261847f8eSopenharmony_ci    /**
197361847f8eSopenharmony_ci     * Event id is download paused.
197461847f8eSopenharmony_ci     *
197561847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
197661847f8eSopenharmony_ci     * @systemapi hide for inner use.
197761847f8eSopenharmony_ci     * @since 9
197861847f8eSopenharmony_ci     */
197961847f8eSopenharmony_ci    EVENT_DOWNLOAD_PAUSE,
198061847f8eSopenharmony_ci
198161847f8eSopenharmony_ci    /**
198261847f8eSopenharmony_ci     * Event id is download resumed.
198361847f8eSopenharmony_ci     *
198461847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
198561847f8eSopenharmony_ci     * @systemapi hide for inner use.
198661847f8eSopenharmony_ci     * @since 9
198761847f8eSopenharmony_ci     */
198861847f8eSopenharmony_ci    EVENT_DOWNLOAD_RESUME,
198961847f8eSopenharmony_ci
199061847f8eSopenharmony_ci    /**
199161847f8eSopenharmony_ci     * Event id is download succeeded.
199261847f8eSopenharmony_ci     *
199361847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
199461847f8eSopenharmony_ci     * @systemapi hide for inner use.
199561847f8eSopenharmony_ci     * @since 9
199661847f8eSopenharmony_ci     */
199761847f8eSopenharmony_ci    EVENT_DOWNLOAD_SUCCESS,
199861847f8eSopenharmony_ci
199961847f8eSopenharmony_ci    /**
200061847f8eSopenharmony_ci     * Event id is download failed.
200161847f8eSopenharmony_ci     *
200261847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
200361847f8eSopenharmony_ci     * @systemapi hide for inner use.
200461847f8eSopenharmony_ci     * @since 9
200561847f8eSopenharmony_ci     */
200661847f8eSopenharmony_ci    EVENT_DOWNLOAD_FAIL,
200761847f8eSopenharmony_ci
200861847f8eSopenharmony_ci    /**
200961847f8eSopenharmony_ci     * Event id is waiting for update.
201061847f8eSopenharmony_ci     *
201161847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
201261847f8eSopenharmony_ci     * @systemapi hide for inner use.
201361847f8eSopenharmony_ci     * @since 9
201461847f8eSopenharmony_ci     */
201561847f8eSopenharmony_ci    EVENT_UPGRADE_WAIT,
201661847f8eSopenharmony_ci
201761847f8eSopenharmony_ci    /**
201861847f8eSopenharmony_ci     * Event id is update started.
201961847f8eSopenharmony_ci     *
202061847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
202161847f8eSopenharmony_ci     * @systemapi hide for inner use.
202261847f8eSopenharmony_ci     * @since 9
202361847f8eSopenharmony_ci     */
202461847f8eSopenharmony_ci    EVENT_UPGRADE_START,
202561847f8eSopenharmony_ci
202661847f8eSopenharmony_ci    /**
202761847f8eSopenharmony_ci     * Event id is update in progress.
202861847f8eSopenharmony_ci     *
202961847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
203061847f8eSopenharmony_ci     * @systemapi hide for inner use.
203161847f8eSopenharmony_ci     * @since 9
203261847f8eSopenharmony_ci     */
203361847f8eSopenharmony_ci    EVENT_UPGRADE_UPDATE,
203461847f8eSopenharmony_ci
203561847f8eSopenharmony_ci    /**
203661847f8eSopenharmony_ci     * Event id is waiting for applying the update.
203761847f8eSopenharmony_ci     *
203861847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
203961847f8eSopenharmony_ci     * @systemapi hide for inner use.
204061847f8eSopenharmony_ci     * @since 9
204161847f8eSopenharmony_ci     */
204261847f8eSopenharmony_ci    EVENT_APPLY_WAIT,
204361847f8eSopenharmony_ci
204461847f8eSopenharmony_ci    /**
204561847f8eSopenharmony_ci     * Event id is applying the update.
204661847f8eSopenharmony_ci     *
204761847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
204861847f8eSopenharmony_ci     * @systemapi hide for inner use.
204961847f8eSopenharmony_ci     * @since 9
205061847f8eSopenharmony_ci     */
205161847f8eSopenharmony_ci    EVENT_APPLY_START,
205261847f8eSopenharmony_ci
205361847f8eSopenharmony_ci    /**
205461847f8eSopenharmony_ci     * Event id is update succeeded.
205561847f8eSopenharmony_ci     *
205661847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
205761847f8eSopenharmony_ci     * @systemapi hide for inner use.
205861847f8eSopenharmony_ci     * @since 9
205961847f8eSopenharmony_ci     */
206061847f8eSopenharmony_ci    EVENT_UPGRADE_SUCCESS,
206161847f8eSopenharmony_ci
206261847f8eSopenharmony_ci    /**
206361847f8eSopenharmony_ci     * Event id is update failed.
206461847f8eSopenharmony_ci     *
206561847f8eSopenharmony_ci     * @syscap SystemCapability.Update.UpdateService
206661847f8eSopenharmony_ci     * @systemapi hide for inner use.
206761847f8eSopenharmony_ci     * @since 9
206861847f8eSopenharmony_ci     */
206961847f8eSopenharmony_ci    EVENT_UPGRADE_FAIL
207061847f8eSopenharmony_ci  }
207161847f8eSopenharmony_ci}
207261847f8eSopenharmony_ci
207361847f8eSopenharmony_ciexport default update;