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 { AsyncCallback } from './@ohos.base';
2261847f8eSopenharmony_ciimport { Callback } from './@ohos.base';
2361847f8eSopenharmony_ciimport BaseContext from './application/BaseContext';
2461847f8eSopenharmony_ci
2561847f8eSopenharmony_ci/**
2661847f8eSopenharmony_ci * upload and download
2761847f8eSopenharmony_ci *
2861847f8eSopenharmony_ci * @namespace request
2961847f8eSopenharmony_ci * @since 6
3061847f8eSopenharmony_ci */
3161847f8eSopenharmony_ci/**
3261847f8eSopenharmony_ci * upload and download
3361847f8eSopenharmony_ci *
3461847f8eSopenharmony_ci * @namespace request
3561847f8eSopenharmony_ci * @syscap SystemCapability.Request.FileTransferAgent
3661847f8eSopenharmony_ci * @crossplatform
3761847f8eSopenharmony_ci * @since 10
3861847f8eSopenharmony_ci */
3961847f8eSopenharmony_ci/**
4061847f8eSopenharmony_ci * upload and download
4161847f8eSopenharmony_ci *
4261847f8eSopenharmony_ci * @namespace request
4361847f8eSopenharmony_ci * @syscap SystemCapability.Request.FileTransferAgent
4461847f8eSopenharmony_ci * @crossplatform
4561847f8eSopenharmony_ci * @atomicservice
4661847f8eSopenharmony_ci * @since 11
4761847f8eSopenharmony_ci */
4861847f8eSopenharmony_cideclare namespace request {
4961847f8eSopenharmony_ci  /**
5061847f8eSopenharmony_ci   * Error code 201 - the permissions check fails.
5161847f8eSopenharmony_ci   *
5261847f8eSopenharmony_ci   * @constant
5361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
5461847f8eSopenharmony_ci   * @since 9
5561847f8eSopenharmony_ci   */
5661847f8eSopenharmony_ci  /**
5761847f8eSopenharmony_ci   * Error code 201 - the permissions check fails.
5861847f8eSopenharmony_ci   *
5961847f8eSopenharmony_ci   * @constant
6061847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
6161847f8eSopenharmony_ci   * @crossplatform
6261847f8eSopenharmony_ci   * @since 10
6361847f8eSopenharmony_ci   */
6461847f8eSopenharmony_ci  const EXCEPTION_PERMISSION: number;
6561847f8eSopenharmony_ci  /**
6661847f8eSopenharmony_ci   * Error code 401 - the parameters check fails.
6761847f8eSopenharmony_ci   *
6861847f8eSopenharmony_ci   * @constant
6961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
7061847f8eSopenharmony_ci   * @since 9
7161847f8eSopenharmony_ci   */
7261847f8eSopenharmony_ci  /**
7361847f8eSopenharmony_ci   * Error code 401 - the parameters check fails.
7461847f8eSopenharmony_ci   *
7561847f8eSopenharmony_ci   * @constant
7661847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
7761847f8eSopenharmony_ci   * @crossplatform
7861847f8eSopenharmony_ci   * @since 10
7961847f8eSopenharmony_ci   */
8061847f8eSopenharmony_ci  const EXCEPTION_PARAMCHECK: number;
8161847f8eSopenharmony_ci  /**
8261847f8eSopenharmony_ci   * Error code 801 - call unsupported api.
8361847f8eSopenharmony_ci   *
8461847f8eSopenharmony_ci   * @constant
8561847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
8661847f8eSopenharmony_ci   * @since 9
8761847f8eSopenharmony_ci   */
8861847f8eSopenharmony_ci  /**
8961847f8eSopenharmony_ci   * Error code 801 - call unsupported api.
9061847f8eSopenharmony_ci   *
9161847f8eSopenharmony_ci   * @constant
9261847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
9361847f8eSopenharmony_ci   * @crossplatform
9461847f8eSopenharmony_ci   * @since 10
9561847f8eSopenharmony_ci   */
9661847f8eSopenharmony_ci  const EXCEPTION_UNSUPPORTED: number;
9761847f8eSopenharmony_ci  /**
9861847f8eSopenharmony_ci   * Error code 13400001 - file operation error.
9961847f8eSopenharmony_ci   *
10061847f8eSopenharmony_ci   * @constant
10161847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
10261847f8eSopenharmony_ci   * @since 9
10361847f8eSopenharmony_ci   */
10461847f8eSopenharmony_ci  /**
10561847f8eSopenharmony_ci   * Error code 13400001 - file operation error.
10661847f8eSopenharmony_ci   *
10761847f8eSopenharmony_ci   * @constant
10861847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
10961847f8eSopenharmony_ci   * @crossplatform
11061847f8eSopenharmony_ci   * @since 10
11161847f8eSopenharmony_ci   */
11261847f8eSopenharmony_ci  const EXCEPTION_FILEIO: number;
11361847f8eSopenharmony_ci  /**
11461847f8eSopenharmony_ci   * Error code 13400002 - bad file path.
11561847f8eSopenharmony_ci   *
11661847f8eSopenharmony_ci   * @constant
11761847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
11861847f8eSopenharmony_ci   * @since 9
11961847f8eSopenharmony_ci   */
12061847f8eSopenharmony_ci  /**
12161847f8eSopenharmony_ci   * Error code 13400002 - bad file path.
12261847f8eSopenharmony_ci   *
12361847f8eSopenharmony_ci   * @constant
12461847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
12561847f8eSopenharmony_ci   * @crossplatform
12661847f8eSopenharmony_ci   * @since 10
12761847f8eSopenharmony_ci   */
12861847f8eSopenharmony_ci  const EXCEPTION_FILEPATH: number;
12961847f8eSopenharmony_ci  /**
13061847f8eSopenharmony_ci   * Error code 13400003 - task service ability error.
13161847f8eSopenharmony_ci   *
13261847f8eSopenharmony_ci   * @constant
13361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
13461847f8eSopenharmony_ci   * @since 9
13561847f8eSopenharmony_ci   */
13661847f8eSopenharmony_ci  /**
13761847f8eSopenharmony_ci   * Error code 13400003 - task service ability error.
13861847f8eSopenharmony_ci   *
13961847f8eSopenharmony_ci   * @constant
14061847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
14161847f8eSopenharmony_ci   * @crossplatform
14261847f8eSopenharmony_ci   * @since 10
14361847f8eSopenharmony_ci   */
14461847f8eSopenharmony_ci  const EXCEPTION_SERVICE: number;
14561847f8eSopenharmony_ci  /**
14661847f8eSopenharmony_ci   * Error code 13499999 - others error.
14761847f8eSopenharmony_ci   *
14861847f8eSopenharmony_ci   * @constant
14961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
15061847f8eSopenharmony_ci   * @since 9
15161847f8eSopenharmony_ci   */
15261847f8eSopenharmony_ci  /**
15361847f8eSopenharmony_ci   * Error code 13499999 - others error.
15461847f8eSopenharmony_ci   *
15561847f8eSopenharmony_ci   * @constant
15661847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
15761847f8eSopenharmony_ci   * @crossplatform
15861847f8eSopenharmony_ci   * @since 10
15961847f8eSopenharmony_ci   */
16061847f8eSopenharmony_ci  const EXCEPTION_OTHERS: number;
16161847f8eSopenharmony_ci
16261847f8eSopenharmony_ci  /**
16361847f8eSopenharmony_ci   * Code 0x00000001 - Bit flag indicating download is allowed when using the cellular network.
16461847f8eSopenharmony_ci   *
16561847f8eSopenharmony_ci   * @constant
16661847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
16761847f8eSopenharmony_ci   * @since 6
16861847f8eSopenharmony_ci   */
16961847f8eSopenharmony_ci  /**
17061847f8eSopenharmony_ci   * Code 0x00000001 - Bit flag indicating download is allowed when using the cellular network.
17161847f8eSopenharmony_ci   *
17261847f8eSopenharmony_ci   * @constant
17361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
17461847f8eSopenharmony_ci   * @crossplatform
17561847f8eSopenharmony_ci   * @since 10
17661847f8eSopenharmony_ci   */
17761847f8eSopenharmony_ci  const NETWORK_MOBILE: number;
17861847f8eSopenharmony_ci
17961847f8eSopenharmony_ci  /**
18061847f8eSopenharmony_ci   * Code 0x00010000 - Bit flag indicating download is allowed when using the WLAN.
18161847f8eSopenharmony_ci   *
18261847f8eSopenharmony_ci   * @constant
18361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
18461847f8eSopenharmony_ci   * @since 6
18561847f8eSopenharmony_ci   */
18661847f8eSopenharmony_ci  /**
18761847f8eSopenharmony_ci   * Code 0x00010000 - Bit flag indicating download is allowed when using the WLAN.
18861847f8eSopenharmony_ci   *
18961847f8eSopenharmony_ci   * @constant
19061847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
19161847f8eSopenharmony_ci   * @crossplatform
19261847f8eSopenharmony_ci   * @since 10
19361847f8eSopenharmony_ci   */
19461847f8eSopenharmony_ci  const NETWORK_WIFI: number;
19561847f8eSopenharmony_ci
19661847f8eSopenharmony_ci  /**
19761847f8eSopenharmony_ci   * Error code 0 - Indicates that the download cannot be resumed for network reasons.
19861847f8eSopenharmony_ci   *
19961847f8eSopenharmony_ci   * @constant
20061847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
20161847f8eSopenharmony_ci   * @since 7
20261847f8eSopenharmony_ci   */
20361847f8eSopenharmony_ci  /**
20461847f8eSopenharmony_ci   * Error code 0 - Indicates that the download cannot be resumed for network reasons.
20561847f8eSopenharmony_ci   *
20661847f8eSopenharmony_ci   * @constant
20761847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
20861847f8eSopenharmony_ci   * @crossplatform
20961847f8eSopenharmony_ci   * @since 10
21061847f8eSopenharmony_ci   */
21161847f8eSopenharmony_ci  const ERROR_CANNOT_RESUME: number;
21261847f8eSopenharmony_ci
21361847f8eSopenharmony_ci  /**
21461847f8eSopenharmony_ci   * Error code 1 - Indicates that no storage device, such as an SD card, is found.
21561847f8eSopenharmony_ci   *
21661847f8eSopenharmony_ci   * @constant
21761847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
21861847f8eSopenharmony_ci   * @since 7
21961847f8eSopenharmony_ci   */
22061847f8eSopenharmony_ci  /**
22161847f8eSopenharmony_ci   * Error code 1 - Indicates that no storage device, such as an SD card, is found.
22261847f8eSopenharmony_ci   *
22361847f8eSopenharmony_ci   * @constant
22461847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
22561847f8eSopenharmony_ci   * @crossplatform
22661847f8eSopenharmony_ci   * @since 10
22761847f8eSopenharmony_ci   */
22861847f8eSopenharmony_ci  const ERROR_DEVICE_NOT_FOUND: number;
22961847f8eSopenharmony_ci
23061847f8eSopenharmony_ci  /**
23161847f8eSopenharmony_ci   * Error code 2 - Indicates that files to be downloaded already exist, and that the download session cannot overwrite the existing files.
23261847f8eSopenharmony_ci   *
23361847f8eSopenharmony_ci   * @constant
23461847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
23561847f8eSopenharmony_ci   * @since 7
23661847f8eSopenharmony_ci   */
23761847f8eSopenharmony_ci  /**
23861847f8eSopenharmony_ci   * Error code 2 - Indicates that files to be downloaded already exist, and that the download session cannot overwrite the existing files.
23961847f8eSopenharmony_ci   *
24061847f8eSopenharmony_ci   * @constant
24161847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
24261847f8eSopenharmony_ci   * @crossplatform
24361847f8eSopenharmony_ci   * @since 10
24461847f8eSopenharmony_ci   */
24561847f8eSopenharmony_ci  const ERROR_FILE_ALREADY_EXISTS: number;
24661847f8eSopenharmony_ci
24761847f8eSopenharmony_ci  /**
24861847f8eSopenharmony_ci   * Error code 3 - Indicates that a file operation fails.
24961847f8eSopenharmony_ci   *
25061847f8eSopenharmony_ci   * @constant
25161847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
25261847f8eSopenharmony_ci   * @since 7
25361847f8eSopenharmony_ci   */
25461847f8eSopenharmony_ci  /**
25561847f8eSopenharmony_ci   * Error code 3 - Indicates that a file operation fails.
25661847f8eSopenharmony_ci   *
25761847f8eSopenharmony_ci   * @constant
25861847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
25961847f8eSopenharmony_ci   * @crossplatform
26061847f8eSopenharmony_ci   * @since 10
26161847f8eSopenharmony_ci   */
26261847f8eSopenharmony_ci  const ERROR_FILE_ERROR: number;
26361847f8eSopenharmony_ci
26461847f8eSopenharmony_ci  /**
26561847f8eSopenharmony_ci   * Error code 4 - Indicates that the HTTP transmission fails.
26661847f8eSopenharmony_ci   *
26761847f8eSopenharmony_ci   * @constant
26861847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
26961847f8eSopenharmony_ci   * @since 7
27061847f8eSopenharmony_ci   */
27161847f8eSopenharmony_ci  /**
27261847f8eSopenharmony_ci   * Error code 4 - Indicates that the HTTP transmission fails.
27361847f8eSopenharmony_ci   *
27461847f8eSopenharmony_ci   * @constant
27561847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
27661847f8eSopenharmony_ci   * @crossplatform
27761847f8eSopenharmony_ci   * @since 10
27861847f8eSopenharmony_ci   */
27961847f8eSopenharmony_ci  const ERROR_HTTP_DATA_ERROR: number;
28061847f8eSopenharmony_ci
28161847f8eSopenharmony_ci  /**
28261847f8eSopenharmony_ci   * Error code 5 - Indicates insufficient storage space.
28361847f8eSopenharmony_ci   *
28461847f8eSopenharmony_ci   * @constant
28561847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
28661847f8eSopenharmony_ci   * @since 7
28761847f8eSopenharmony_ci   */
28861847f8eSopenharmony_ci  /**
28961847f8eSopenharmony_ci   * Error code 5 - Indicates insufficient storage space.
29061847f8eSopenharmony_ci   *
29161847f8eSopenharmony_ci   * @constant
29261847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
29361847f8eSopenharmony_ci   * @crossplatform
29461847f8eSopenharmony_ci   * @since 10
29561847f8eSopenharmony_ci   */
29661847f8eSopenharmony_ci  const ERROR_INSUFFICIENT_SPACE: number;
29761847f8eSopenharmony_ci
29861847f8eSopenharmony_ci  /**
29961847f8eSopenharmony_ci   * Error code 6 - Indicates an error caused by too many network redirections.
30061847f8eSopenharmony_ci   *
30161847f8eSopenharmony_ci   * @constant
30261847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
30361847f8eSopenharmony_ci   * @since 7
30461847f8eSopenharmony_ci   */
30561847f8eSopenharmony_ci  /**
30661847f8eSopenharmony_ci   * Error code 6 - Indicates an error caused by too many network redirections.
30761847f8eSopenharmony_ci   *
30861847f8eSopenharmony_ci   * @constant
30961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
31061847f8eSopenharmony_ci   * @crossplatform
31161847f8eSopenharmony_ci   * @since 10
31261847f8eSopenharmony_ci   */
31361847f8eSopenharmony_ci  const ERROR_TOO_MANY_REDIRECTS: number;
31461847f8eSopenharmony_ci
31561847f8eSopenharmony_ci  /**
31661847f8eSopenharmony_ci   * Error code 7 - Indicates an HTTP code that cannot be identified.
31761847f8eSopenharmony_ci   *
31861847f8eSopenharmony_ci   * @constant
31961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
32061847f8eSopenharmony_ci   * @since 7
32161847f8eSopenharmony_ci   */
32261847f8eSopenharmony_ci  /**
32361847f8eSopenharmony_ci   * Error code 7 - Indicates an HTTP code that cannot be identified.
32461847f8eSopenharmony_ci   *
32561847f8eSopenharmony_ci   * @constant
32661847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
32761847f8eSopenharmony_ci   * @crossplatform
32861847f8eSopenharmony_ci   * @since 10
32961847f8eSopenharmony_ci   */
33061847f8eSopenharmony_ci  const ERROR_UNHANDLED_HTTP_CODE: number;
33161847f8eSopenharmony_ci
33261847f8eSopenharmony_ci  /**
33361847f8eSopenharmony_ci   * Error code 8 - Indicates an undefined error.
33461847f8eSopenharmony_ci   *
33561847f8eSopenharmony_ci   * @constant
33661847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
33761847f8eSopenharmony_ci   * @since 7
33861847f8eSopenharmony_ci   */
33961847f8eSopenharmony_ci  /**
34061847f8eSopenharmony_ci   * Error code 8 - Indicates an undefined error.
34161847f8eSopenharmony_ci   *
34261847f8eSopenharmony_ci   * @constant
34361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
34461847f8eSopenharmony_ci   * @crossplatform
34561847f8eSopenharmony_ci   * @since 10
34661847f8eSopenharmony_ci   */
34761847f8eSopenharmony_ci  const ERROR_UNKNOWN: number;
34861847f8eSopenharmony_ci
34961847f8eSopenharmony_ci  /**
35061847f8eSopenharmony_ci   * Error code 9 - Indicates network offline.
35161847f8eSopenharmony_ci   *
35261847f8eSopenharmony_ci   * @constant
35361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
35461847f8eSopenharmony_ci   * @since 9
35561847f8eSopenharmony_ci   */
35661847f8eSopenharmony_ci  /**
35761847f8eSopenharmony_ci   * Error code 9 - Indicates network offline.
35861847f8eSopenharmony_ci   *
35961847f8eSopenharmony_ci   * @constant
36061847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
36161847f8eSopenharmony_ci   * @crossplatform
36261847f8eSopenharmony_ci   * @since 10
36361847f8eSopenharmony_ci   */
36461847f8eSopenharmony_ci  const ERROR_OFFLINE: number;
36561847f8eSopenharmony_ci
36661847f8eSopenharmony_ci  /**
36761847f8eSopenharmony_ci   * Error code 10 - Indicates network type configuration error.
36861847f8eSopenharmony_ci   *
36961847f8eSopenharmony_ci   * @constant
37061847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
37161847f8eSopenharmony_ci   * @since 9
37261847f8eSopenharmony_ci   */
37361847f8eSopenharmony_ci  /**
37461847f8eSopenharmony_ci   * Error code 10 - Indicates network type configuration error.
37561847f8eSopenharmony_ci   *
37661847f8eSopenharmony_ci   * @constant
37761847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
37861847f8eSopenharmony_ci   * @crossplatform
37961847f8eSopenharmony_ci   * @since 10
38061847f8eSopenharmony_ci   */
38161847f8eSopenharmony_ci  const ERROR_UNSUPPORTED_NETWORK_TYPE: number;
38261847f8eSopenharmony_ci
38361847f8eSopenharmony_ci  /**
38461847f8eSopenharmony_ci   * Paused code 0 - Indicates that the download is paused and waiting for a WLAN connection,
38561847f8eSopenharmony_ci   * because the file size exceeds the maximum allowed for a session using the cellular network.
38661847f8eSopenharmony_ci   *
38761847f8eSopenharmony_ci   * @constant
38861847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
38961847f8eSopenharmony_ci   * @since 7
39061847f8eSopenharmony_ci   */
39161847f8eSopenharmony_ci  /**
39261847f8eSopenharmony_ci   * Paused code 0 - Indicates that the download is paused and waiting for a WLAN connection,
39361847f8eSopenharmony_ci   * because the file size exceeds the maximum allowed for a session using the cellular network.
39461847f8eSopenharmony_ci   *
39561847f8eSopenharmony_ci   * @constant
39661847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
39761847f8eSopenharmony_ci   * @crossplatform
39861847f8eSopenharmony_ci   * @since 10
39961847f8eSopenharmony_ci   */
40061847f8eSopenharmony_ci  const PAUSED_QUEUED_FOR_WIFI: number;
40161847f8eSopenharmony_ci
40261847f8eSopenharmony_ci  /**
40361847f8eSopenharmony_ci   * Paused code 1 - Indicates that the download is paused due to a network problem, for example, network disconnection.
40461847f8eSopenharmony_ci   *
40561847f8eSopenharmony_ci   * @constant
40661847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
40761847f8eSopenharmony_ci   * @since 7
40861847f8eSopenharmony_ci   */
40961847f8eSopenharmony_ci  /**
41061847f8eSopenharmony_ci   * Paused code 1 - Indicates that the download is paused due to a network problem, for example, network disconnection.
41161847f8eSopenharmony_ci   *
41261847f8eSopenharmony_ci   * @constant
41361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
41461847f8eSopenharmony_ci   * @crossplatform
41561847f8eSopenharmony_ci   * @since 10
41661847f8eSopenharmony_ci   */
41761847f8eSopenharmony_ci  const PAUSED_WAITING_FOR_NETWORK: number;
41861847f8eSopenharmony_ci
41961847f8eSopenharmony_ci  /**
42061847f8eSopenharmony_ci   * Paused code 2 - Indicates that a network error occurs, and the download session will be retried.
42161847f8eSopenharmony_ci   *
42261847f8eSopenharmony_ci   * @constant
42361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
42461847f8eSopenharmony_ci   * @since 7
42561847f8eSopenharmony_ci   */
42661847f8eSopenharmony_ci  /**
42761847f8eSopenharmony_ci   * Paused code 2 - Indicates that a network error occurs, and the download session will be retried.
42861847f8eSopenharmony_ci   *
42961847f8eSopenharmony_ci   * @constant
43061847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
43161847f8eSopenharmony_ci   * @crossplatform
43261847f8eSopenharmony_ci   * @since 10
43361847f8eSopenharmony_ci   */
43461847f8eSopenharmony_ci  const PAUSED_WAITING_TO_RETRY: number;
43561847f8eSopenharmony_ci
43661847f8eSopenharmony_ci  /**
43761847f8eSopenharmony_ci   * Paused code 3 - Indicates that the download is paused due to the user.
43861847f8eSopenharmony_ci   *
43961847f8eSopenharmony_ci   * @constant
44061847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
44161847f8eSopenharmony_ci   * @since 9
44261847f8eSopenharmony_ci   */
44361847f8eSopenharmony_ci  /**
44461847f8eSopenharmony_ci   * Paused code 3 - Indicates that the download is paused due to the user.
44561847f8eSopenharmony_ci   *
44661847f8eSopenharmony_ci   * @constant
44761847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
44861847f8eSopenharmony_ci   * @crossplatform
44961847f8eSopenharmony_ci   * @since 10
45061847f8eSopenharmony_ci   */
45161847f8eSopenharmony_ci  const PAUSED_BY_USER: number;
45261847f8eSopenharmony_ci
45361847f8eSopenharmony_ci  /**
45461847f8eSopenharmony_ci   * Paused code 4 - Indicates that the download is paused for some reasons.
45561847f8eSopenharmony_ci   *
45661847f8eSopenharmony_ci   * @constant
45761847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
45861847f8eSopenharmony_ci   * @since 7
45961847f8eSopenharmony_ci   */
46061847f8eSopenharmony_ci  /**
46161847f8eSopenharmony_ci   * Paused code 4 - Indicates that the download is paused for some reasons.
46261847f8eSopenharmony_ci   *
46361847f8eSopenharmony_ci   * @constant
46461847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
46561847f8eSopenharmony_ci   * @crossplatform
46661847f8eSopenharmony_ci   * @since 10
46761847f8eSopenharmony_ci   */
46861847f8eSopenharmony_ci  const PAUSED_UNKNOWN: number;
46961847f8eSopenharmony_ci
47061847f8eSopenharmony_ci  /**
47161847f8eSopenharmony_ci   * Session status code 0 - Indicates that the download session is completed.
47261847f8eSopenharmony_ci   *
47361847f8eSopenharmony_ci   * @constant
47461847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
47561847f8eSopenharmony_ci   * @since 7
47661847f8eSopenharmony_ci   */
47761847f8eSopenharmony_ci  /**
47861847f8eSopenharmony_ci   * Session status code 0 - Indicates that the download session is completed.
47961847f8eSopenharmony_ci   *
48061847f8eSopenharmony_ci   * @constant
48161847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
48261847f8eSopenharmony_ci   * @crossplatform
48361847f8eSopenharmony_ci   * @since 10
48461847f8eSopenharmony_ci   */
48561847f8eSopenharmony_ci  const SESSION_SUCCESSFUL: number;
48661847f8eSopenharmony_ci
48761847f8eSopenharmony_ci  /**
48861847f8eSopenharmony_ci   * Session status code 1 - Indicates that the download session is in progress.
48961847f8eSopenharmony_ci   *
49061847f8eSopenharmony_ci   * @constant
49161847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
49261847f8eSopenharmony_ci   * @since 7
49361847f8eSopenharmony_ci   */
49461847f8eSopenharmony_ci  /**
49561847f8eSopenharmony_ci   * Session status code 1 - Indicates that the download session is in progress.
49661847f8eSopenharmony_ci   *
49761847f8eSopenharmony_ci   * @constant
49861847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
49961847f8eSopenharmony_ci   * @crossplatform
50061847f8eSopenharmony_ci   * @since 10
50161847f8eSopenharmony_ci   */
50261847f8eSopenharmony_ci  const SESSION_RUNNING: number;
50361847f8eSopenharmony_ci
50461847f8eSopenharmony_ci  /**
50561847f8eSopenharmony_ci   * Session status code 2 - Indicates that the download session is being scheduled.
50661847f8eSopenharmony_ci   *
50761847f8eSopenharmony_ci   * @constant
50861847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
50961847f8eSopenharmony_ci   * @since 7
51061847f8eSopenharmony_ci   */
51161847f8eSopenharmony_ci  /**
51261847f8eSopenharmony_ci   * Session status code 2 - Indicates that the download session is being scheduled.
51361847f8eSopenharmony_ci   *
51461847f8eSopenharmony_ci   * @constant
51561847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
51661847f8eSopenharmony_ci   * @crossplatform
51761847f8eSopenharmony_ci   * @since 10
51861847f8eSopenharmony_ci   */
51961847f8eSopenharmony_ci  const SESSION_PENDING: number;
52061847f8eSopenharmony_ci
52161847f8eSopenharmony_ci  /**
52261847f8eSopenharmony_ci   * Session status code 3 - Indicates that the download session has been paused.
52361847f8eSopenharmony_ci   *
52461847f8eSopenharmony_ci   * @constant
52561847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
52661847f8eSopenharmony_ci   * @since 7
52761847f8eSopenharmony_ci   */
52861847f8eSopenharmony_ci  /**
52961847f8eSopenharmony_ci   * Session status code 3 - Indicates that the download session has been paused.
53061847f8eSopenharmony_ci   *
53161847f8eSopenharmony_ci   * @constant
53261847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
53361847f8eSopenharmony_ci   * @crossplatform
53461847f8eSopenharmony_ci   * @since 10
53561847f8eSopenharmony_ci   */
53661847f8eSopenharmony_ci  const SESSION_PAUSED: number;
53761847f8eSopenharmony_ci
53861847f8eSopenharmony_ci  /**
53961847f8eSopenharmony_ci   * Session status code 4 - Indicates that the download session has failed and will not be retried.
54061847f8eSopenharmony_ci   *
54161847f8eSopenharmony_ci   * @constant
54261847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
54361847f8eSopenharmony_ci   * @since 7
54461847f8eSopenharmony_ci   */
54561847f8eSopenharmony_ci  /**
54661847f8eSopenharmony_ci   * Session status code 4 - Indicates that the download session has failed and will not be retried.
54761847f8eSopenharmony_ci   *
54861847f8eSopenharmony_ci   * @constant
54961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
55061847f8eSopenharmony_ci   * @crossplatform
55161847f8eSopenharmony_ci   * @since 10
55261847f8eSopenharmony_ci   */
55361847f8eSopenharmony_ci  const SESSION_FAILED: number;
55461847f8eSopenharmony_ci
55561847f8eSopenharmony_ci  /**
55661847f8eSopenharmony_ci   * Starts a download task.
55761847f8eSopenharmony_ci   *
55861847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
55961847f8eSopenharmony_ci   * @param { DownloadConfig } config Download config
56061847f8eSopenharmony_ci   * @param { AsyncCallback<DownloadTask> } callback Indicate the callback function to receive DownloadTask.
56161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
56261847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
56361847f8eSopenharmony_ci   * @FAModelOnly
56461847f8eSopenharmony_ci   * @since 6
56561847f8eSopenharmony_ci   * @deprecated since 9
56661847f8eSopenharmony_ci   * @useinstead ohos.request.downloadFile
56761847f8eSopenharmony_ci   */
56861847f8eSopenharmony_ci  function download(config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void;
56961847f8eSopenharmony_ci
57061847f8eSopenharmony_ci  /**
57161847f8eSopenharmony_ci   * Starts a download task.
57261847f8eSopenharmony_ci   *
57361847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
57461847f8eSopenharmony_ci   * @param { BaseContext } context Indicates the application BaseContext.
57561847f8eSopenharmony_ci   * @param { DownloadConfig } config Download config
57661847f8eSopenharmony_ci   * @param { AsyncCallback<DownloadTask> } callback Indicate the callback function to receive DownloadTask.
57761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
57861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
57961847f8eSopenharmony_ci   * <br>2. Incorrect parameter type. 3. Parameter verification failed.
58061847f8eSopenharmony_ci   * @throws { BusinessError } 13400001 - file operation error
58161847f8eSopenharmony_ci   * @throws { BusinessError } 13400002 - bad file path
58261847f8eSopenharmony_ci   * @throws { BusinessError } 13400003 - task service ability error
58361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
58461847f8eSopenharmony_ci   * @since 9
58561847f8eSopenharmony_ci   */
58661847f8eSopenharmony_ci  /**
58761847f8eSopenharmony_ci   * Starts a download task.
58861847f8eSopenharmony_ci   *
58961847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
59061847f8eSopenharmony_ci   * @param { BaseContext } context Indicates the application BaseContext.
59161847f8eSopenharmony_ci   * @param { DownloadConfig } config Download config
59261847f8eSopenharmony_ci   * @param { AsyncCallback<DownloadTask> } callback Indicate the callback function to receive DownloadTask.
59361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
59461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
59561847f8eSopenharmony_ci   * <br>2. Incorrect parameter type. 3. Parameter verification failed.
59661847f8eSopenharmony_ci   * @throws { BusinessError } 13400001 - file operation error
59761847f8eSopenharmony_ci   * @throws { BusinessError } 13400002 - bad file path
59861847f8eSopenharmony_ci   * @throws { BusinessError } 13400003 - task service ability error
59961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
60061847f8eSopenharmony_ci   * @crossplatform
60161847f8eSopenharmony_ci   * @since 10
60261847f8eSopenharmony_ci   */
60361847f8eSopenharmony_ci  function downloadFile(context: BaseContext, config: DownloadConfig, callback: AsyncCallback<DownloadTask>): void;
60461847f8eSopenharmony_ci
60561847f8eSopenharmony_ci  /**
60661847f8eSopenharmony_ci   * Starts a download task.
60761847f8eSopenharmony_ci   *
60861847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
60961847f8eSopenharmony_ci   * @param { DownloadConfig } config Download config
61061847f8eSopenharmony_ci   * @returns { Promise<DownloadTask> } the promise returned by the function.
61161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
61261847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
61361847f8eSopenharmony_ci   * @FAModelOnly
61461847f8eSopenharmony_ci   * @since 6
61561847f8eSopenharmony_ci   * @deprecated since 9
61661847f8eSopenharmony_ci   * @useinstead ohos.request.downloadFile
61761847f8eSopenharmony_ci   */
61861847f8eSopenharmony_ci  function download(config: DownloadConfig): Promise<DownloadTask>;
61961847f8eSopenharmony_ci
62061847f8eSopenharmony_ci  /**
62161847f8eSopenharmony_ci   * Starts a download task.
62261847f8eSopenharmony_ci   *
62361847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
62461847f8eSopenharmony_ci   * @param { BaseContext } context Indicates the application BaseContext.
62561847f8eSopenharmony_ci   * @param { DownloadConfig } config Download config
62661847f8eSopenharmony_ci   * @returns { Promise<DownloadTask> } the promise returned by the function.
62761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
62861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
62961847f8eSopenharmony_ci   * <br>2. Incorrect parameter type. 3. Parameter verification failed.
63061847f8eSopenharmony_ci   * @throws { BusinessError } 13400001 - file operation error
63161847f8eSopenharmony_ci   * @throws { BusinessError } 13400002 - bad file path
63261847f8eSopenharmony_ci   * @throws { BusinessError } 13400003 - task service ability error
63361847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
63461847f8eSopenharmony_ci   * @since 9
63561847f8eSopenharmony_ci   */
63661847f8eSopenharmony_ci  /**
63761847f8eSopenharmony_ci   * Starts a download task.
63861847f8eSopenharmony_ci   *
63961847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
64061847f8eSopenharmony_ci   * @param { BaseContext } context Indicates the application BaseContext.
64161847f8eSopenharmony_ci   * @param { DownloadConfig } config Download config
64261847f8eSopenharmony_ci   * @returns { Promise<DownloadTask> } the promise returned by the function.
64361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
64461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
64561847f8eSopenharmony_ci   * <br>2. Incorrect parameter type. 3. Parameter verification failed.
64661847f8eSopenharmony_ci   * @throws { BusinessError } 13400001 - file operation error
64761847f8eSopenharmony_ci   * @throws { BusinessError } 13400002 - bad file path
64861847f8eSopenharmony_ci   * @throws { BusinessError } 13400003 - task service ability error
64961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
65061847f8eSopenharmony_ci   * @crossplatform
65161847f8eSopenharmony_ci   * @since 10
65261847f8eSopenharmony_ci   */
65361847f8eSopenharmony_ci  function downloadFile(context: BaseContext, config: DownloadConfig): Promise<DownloadTask>;
65461847f8eSopenharmony_ci
65561847f8eSopenharmony_ci  /**
65661847f8eSopenharmony_ci   * Starts an upload task.
65761847f8eSopenharmony_ci   *
65861847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
65961847f8eSopenharmony_ci   * @param { UploadConfig } config Upload config
66061847f8eSopenharmony_ci   * @param { AsyncCallback<UploadTask> } callback Indicate the callback function to receive UploadTask.
66161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
66261847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Upload
66361847f8eSopenharmony_ci   * @FAModelOnly
66461847f8eSopenharmony_ci   * @since 6
66561847f8eSopenharmony_ci   * @deprecated since 9
66661847f8eSopenharmony_ci   * @useinstead ohos.request.uploadFile
66761847f8eSopenharmony_ci   */
66861847f8eSopenharmony_ci  function upload(config: UploadConfig, callback: AsyncCallback<UploadTask>): void;
66961847f8eSopenharmony_ci
67061847f8eSopenharmony_ci  /**
67161847f8eSopenharmony_ci   * Starts an upload task.
67261847f8eSopenharmony_ci   *
67361847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
67461847f8eSopenharmony_ci   * @param { BaseContext } context Indicates the application BaseContext.
67561847f8eSopenharmony_ci   * @param { UploadConfig } config Upload config
67661847f8eSopenharmony_ci   * @param { AsyncCallback<UploadTask> } callback Indicate the callback function to receive UploadTask.
67761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
67861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
67961847f8eSopenharmony_ci   * <br>2. Incorrect parameter type. 3. Parameter verification failed.
68061847f8eSopenharmony_ci   * @throws { BusinessError } 13400002 - bad file path
68161847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Upload
68261847f8eSopenharmony_ci   * @since 9
68361847f8eSopenharmony_ci   */
68461847f8eSopenharmony_ci  /**
68561847f8eSopenharmony_ci   * Starts an upload task.
68661847f8eSopenharmony_ci   *
68761847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
68861847f8eSopenharmony_ci   * @param { BaseContext } context Indicates the application BaseContext.
68961847f8eSopenharmony_ci   * @param { UploadConfig } config Upload config
69061847f8eSopenharmony_ci   * @param { AsyncCallback<UploadTask> } callback Indicate the callback function to receive UploadTask.
69161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
69261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
69361847f8eSopenharmony_ci   * <br>2. Incorrect parameter type. 3. Parameter verification failed.
69461847f8eSopenharmony_ci   * @throws { BusinessError } 13400002 - bad file path
69561847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Upload
69661847f8eSopenharmony_ci   * @crossplatform
69761847f8eSopenharmony_ci   * @since 10
69861847f8eSopenharmony_ci   */
69961847f8eSopenharmony_ci  function uploadFile(context: BaseContext, config: UploadConfig, callback: AsyncCallback<UploadTask>): void;
70061847f8eSopenharmony_ci
70161847f8eSopenharmony_ci  /**
70261847f8eSopenharmony_ci   * Starts an upload task.
70361847f8eSopenharmony_ci   *
70461847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
70561847f8eSopenharmony_ci   * @param { UploadConfig } config Upload config
70661847f8eSopenharmony_ci   * @returns { Promise<UploadTask> } the promise returned by the function.
70761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
70861847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Upload
70961847f8eSopenharmony_ci   * @FAModelOnly
71061847f8eSopenharmony_ci   * @since 6
71161847f8eSopenharmony_ci   * @deprecated since 9
71261847f8eSopenharmony_ci   * @useinstead ohos.request.uploadFile
71361847f8eSopenharmony_ci   */
71461847f8eSopenharmony_ci  function upload(config: UploadConfig): Promise<UploadTask>;
71561847f8eSopenharmony_ci
71661847f8eSopenharmony_ci  /**
71761847f8eSopenharmony_ci   * Starts an upload task.
71861847f8eSopenharmony_ci   *
71961847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
72061847f8eSopenharmony_ci   * @param { BaseContext } context Indicates the application BaseContext.
72161847f8eSopenharmony_ci   * @param { UploadConfig } config Upload config
72261847f8eSopenharmony_ci   * @returns { Promise<UploadTask> } the promise returned by the function.
72361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
72461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
72561847f8eSopenharmony_ci   * <br>2. Incorrect parameter type. 3. Parameter verification failed.
72661847f8eSopenharmony_ci   * @throws { BusinessError } 13400002 - bad file path
72761847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Upload
72861847f8eSopenharmony_ci   * @since 9
72961847f8eSopenharmony_ci   */
73061847f8eSopenharmony_ci  /**
73161847f8eSopenharmony_ci   * Starts an upload task.
73261847f8eSopenharmony_ci   *
73361847f8eSopenharmony_ci   * @permission ohos.permission.INTERNET
73461847f8eSopenharmony_ci   * @param { BaseContext } context Indicates the application BaseContext.
73561847f8eSopenharmony_ci   * @param { UploadConfig } config Upload config
73661847f8eSopenharmony_ci   * @returns { Promise<UploadTask> } the promise returned by the function.
73761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - the permissions check fails
73861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
73961847f8eSopenharmony_ci   * <br>2. Incorrect parameter type. 3. Parameter verification failed.
74061847f8eSopenharmony_ci   * @throws { BusinessError } 13400002 - bad file path
74161847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Upload
74261847f8eSopenharmony_ci   * @crossplatform
74361847f8eSopenharmony_ci   * @since 10
74461847f8eSopenharmony_ci   */
74561847f8eSopenharmony_ci  function uploadFile(context: BaseContext, config: UploadConfig): Promise<UploadTask>;
74661847f8eSopenharmony_ci
74761847f8eSopenharmony_ci  /**
74861847f8eSopenharmony_ci   * DownloadConfig data Structure
74961847f8eSopenharmony_ci   *
75061847f8eSopenharmony_ci   * @interface DownloadConfig
75161847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
75261847f8eSopenharmony_ci   * @since 6
75361847f8eSopenharmony_ci   * @name DownloadConfig
75461847f8eSopenharmony_ci   */
75561847f8eSopenharmony_ci  /**
75661847f8eSopenharmony_ci   * DownloadConfig data Structure
75761847f8eSopenharmony_ci   *
75861847f8eSopenharmony_ci   * @typedef DownloadConfig
75961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
76061847f8eSopenharmony_ci   * @crossplatform
76161847f8eSopenharmony_ci   * @since 10
76261847f8eSopenharmony_ci   * @name DownloadConfig
76361847f8eSopenharmony_ci   */
76461847f8eSopenharmony_ci  interface DownloadConfig {
76561847f8eSopenharmony_ci    /**
76661847f8eSopenharmony_ci     * Resource address.
76761847f8eSopenharmony_ci     * Verification rule: Starting with http (s)://and with a length not exceeding 2048 characters.
76861847f8eSopenharmony_ci     *
76961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
77061847f8eSopenharmony_ci     * @since 6
77161847f8eSopenharmony_ci     */
77261847f8eSopenharmony_ci    /**
77361847f8eSopenharmony_ci     * Resource address.
77461847f8eSopenharmony_ci     * Verification rule: Starting with http (s)://and with a length not exceeding 2048 characters.
77561847f8eSopenharmony_ci     *
77661847f8eSopenharmony_ci     * @type { string }
77761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
77861847f8eSopenharmony_ci     * @crossplatform
77961847f8eSopenharmony_ci     * @since 10
78061847f8eSopenharmony_ci     */
78161847f8eSopenharmony_ci    url: string;
78261847f8eSopenharmony_ci    /**
78361847f8eSopenharmony_ci     * Adds an HTTP or HTTPS header to be included with the download request.
78461847f8eSopenharmony_ci     *
78561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
78661847f8eSopenharmony_ci     * @since 6
78761847f8eSopenharmony_ci     */
78861847f8eSopenharmony_ci    /**
78961847f8eSopenharmony_ci     * Adds an HTTP or HTTPS header to be included with the download request.
79061847f8eSopenharmony_ci     *
79161847f8eSopenharmony_ci     * @type { ?Object }
79261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
79361847f8eSopenharmony_ci     * @crossplatform
79461847f8eSopenharmony_ci     * @since 10
79561847f8eSopenharmony_ci     */
79661847f8eSopenharmony_ci    header?: Object;
79761847f8eSopenharmony_ci    /**
79861847f8eSopenharmony_ci     * Allows download under a metered connection.
79961847f8eSopenharmony_ci     *
80061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
80161847f8eSopenharmony_ci     * @since 6
80261847f8eSopenharmony_ci     */
80361847f8eSopenharmony_ci    /**
80461847f8eSopenharmony_ci     * Allows download under a metered connection.
80561847f8eSopenharmony_ci     *
80661847f8eSopenharmony_ci     * @type { ?boolean }
80761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
80861847f8eSopenharmony_ci     * @crossplatform
80961847f8eSopenharmony_ci     * @since 10
81061847f8eSopenharmony_ci     */
81161847f8eSopenharmony_ci    enableMetered?: boolean;
81261847f8eSopenharmony_ci    /**
81361847f8eSopenharmony_ci     * Allows download in a roaming network.
81461847f8eSopenharmony_ci     *
81561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
81661847f8eSopenharmony_ci     * @since 6
81761847f8eSopenharmony_ci     */
81861847f8eSopenharmony_ci    /**
81961847f8eSopenharmony_ci     * Allows download in a roaming network.
82061847f8eSopenharmony_ci     *
82161847f8eSopenharmony_ci     * @type { ?boolean }
82261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
82361847f8eSopenharmony_ci     * @crossplatform
82461847f8eSopenharmony_ci     * @since 10
82561847f8eSopenharmony_ci     */
82661847f8eSopenharmony_ci    enableRoaming?: boolean;
82761847f8eSopenharmony_ci    /**
82861847f8eSopenharmony_ci     * Sets the description of a download session.
82961847f8eSopenharmony_ci     *
83061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
83161847f8eSopenharmony_ci     * @since 6
83261847f8eSopenharmony_ci     */
83361847f8eSopenharmony_ci    /**
83461847f8eSopenharmony_ci     * Sets the description of a download session.
83561847f8eSopenharmony_ci     *
83661847f8eSopenharmony_ci     * @type { ?string }
83761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
83861847f8eSopenharmony_ci     * @crossplatform
83961847f8eSopenharmony_ci     * @since 10
84061847f8eSopenharmony_ci     */
84161847f8eSopenharmony_ci    description?: string;
84261847f8eSopenharmony_ci    /**
84361847f8eSopenharmony_ci     * Sets the network type allowed for download.
84461847f8eSopenharmony_ci     *
84561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
84661847f8eSopenharmony_ci     * @since 6
84761847f8eSopenharmony_ci     */
84861847f8eSopenharmony_ci    /**
84961847f8eSopenharmony_ci     * Sets the network type allowed for download.
85061847f8eSopenharmony_ci     *
85161847f8eSopenharmony_ci     * @type { ?number }
85261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
85361847f8eSopenharmony_ci     * @crossplatform
85461847f8eSopenharmony_ci     * @since 10
85561847f8eSopenharmony_ci     */
85661847f8eSopenharmony_ci    networkType?: number;
85761847f8eSopenharmony_ci    /**
85861847f8eSopenharmony_ci     * Sets the path for downloads.
85961847f8eSopenharmony_ci     *
86061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
86161847f8eSopenharmony_ci     * @since 7
86261847f8eSopenharmony_ci     */
86361847f8eSopenharmony_ci    /**
86461847f8eSopenharmony_ci     * Sets the path for downloads.
86561847f8eSopenharmony_ci     *
86661847f8eSopenharmony_ci     * @type { ?string }
86761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
86861847f8eSopenharmony_ci     * @crossplatform
86961847f8eSopenharmony_ci     * @since 10
87061847f8eSopenharmony_ci     */
87161847f8eSopenharmony_ci    filePath?: string;
87261847f8eSopenharmony_ci    /**
87361847f8eSopenharmony_ci     * Sets a download session title.
87461847f8eSopenharmony_ci     *
87561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
87661847f8eSopenharmony_ci     * @since 6
87761847f8eSopenharmony_ci     */
87861847f8eSopenharmony_ci    /**
87961847f8eSopenharmony_ci     * Sets a download session title.
88061847f8eSopenharmony_ci     *
88161847f8eSopenharmony_ci     * @type { ?string }
88261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
88361847f8eSopenharmony_ci     * @crossplatform
88461847f8eSopenharmony_ci     * @since 10
88561847f8eSopenharmony_ci     */
88661847f8eSopenharmony_ci    title?: string;
88761847f8eSopenharmony_ci    /**
88861847f8eSopenharmony_ci     * Allow download background task notifications.
88961847f8eSopenharmony_ci     *
89061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
89161847f8eSopenharmony_ci     * @since 9
89261847f8eSopenharmony_ci     */
89361847f8eSopenharmony_ci    /**
89461847f8eSopenharmony_ci     * Allow download background task notifications.
89561847f8eSopenharmony_ci     *
89661847f8eSopenharmony_ci     * @type { ?boolean }
89761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
89861847f8eSopenharmony_ci     * @crossplatform
89961847f8eSopenharmony_ci     * @since 10
90061847f8eSopenharmony_ci     */
90161847f8eSopenharmony_ci    background?: boolean;
90261847f8eSopenharmony_ci  }
90361847f8eSopenharmony_ci
90461847f8eSopenharmony_ci  /**
90561847f8eSopenharmony_ci   * DownloadInfo data Structure
90661847f8eSopenharmony_ci   *
90761847f8eSopenharmony_ci   * @interface DownloadInfo
90861847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
90961847f8eSopenharmony_ci   * @since 7
91061847f8eSopenharmony_ci   * @name DownloadInfo
91161847f8eSopenharmony_ci   */
91261847f8eSopenharmony_ci  /**
91361847f8eSopenharmony_ci   * DownloadInfo data Structure
91461847f8eSopenharmony_ci   *
91561847f8eSopenharmony_ci   * @typedef DownloadInfo
91661847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
91761847f8eSopenharmony_ci   * @crossplatform
91861847f8eSopenharmony_ci   * @since 10
91961847f8eSopenharmony_ci   */
92061847f8eSopenharmony_ci  interface DownloadInfo {
92161847f8eSopenharmony_ci    /**
92261847f8eSopenharmony_ci     * the description of a file to be downloaded.
92361847f8eSopenharmony_ci     *
92461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
92561847f8eSopenharmony_ci     * @since 7
92661847f8eSopenharmony_ci     */
92761847f8eSopenharmony_ci    /**
92861847f8eSopenharmony_ci     * the description of a file to be downloaded.
92961847f8eSopenharmony_ci     *
93061847f8eSopenharmony_ci     * @type { string }
93161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
93261847f8eSopenharmony_ci     * @crossplatform
93361847f8eSopenharmony_ci     * @since 10
93461847f8eSopenharmony_ci     */
93561847f8eSopenharmony_ci    description: string;
93661847f8eSopenharmony_ci    /**
93761847f8eSopenharmony_ci     * the real-time downloads size (in bytes).
93861847f8eSopenharmony_ci     *
93961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
94061847f8eSopenharmony_ci     * @since 7
94161847f8eSopenharmony_ci     */
94261847f8eSopenharmony_ci    /**
94361847f8eSopenharmony_ci     * the real-time downloads size (in bytes).
94461847f8eSopenharmony_ci     *
94561847f8eSopenharmony_ci     * @type { number }
94661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
94761847f8eSopenharmony_ci     * @crossplatform
94861847f8eSopenharmony_ci     * @since 10
94961847f8eSopenharmony_ci     */
95061847f8eSopenharmony_ci    downloadedBytes: number;
95161847f8eSopenharmony_ci    /**
95261847f8eSopenharmony_ci     * the ID of a file to be downloaded.
95361847f8eSopenharmony_ci     *
95461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
95561847f8eSopenharmony_ci     * @since 7
95661847f8eSopenharmony_ci     */
95761847f8eSopenharmony_ci    /**
95861847f8eSopenharmony_ci     * the ID of a file to be downloaded.
95961847f8eSopenharmony_ci     *
96061847f8eSopenharmony_ci     * @type { number }
96161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
96261847f8eSopenharmony_ci     * @crossplatform
96361847f8eSopenharmony_ci     * @since 10
96461847f8eSopenharmony_ci     */
96561847f8eSopenharmony_ci    downloadId: number;
96661847f8eSopenharmony_ci    /**
96761847f8eSopenharmony_ci     * a download failure cause, which can be any DownloadSession.ERROR_* constant.
96861847f8eSopenharmony_ci     *
96961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
97061847f8eSopenharmony_ci     * @since 7
97161847f8eSopenharmony_ci     */
97261847f8eSopenharmony_ci    /**
97361847f8eSopenharmony_ci     * a download failure cause, which can be any DownloadSession.ERROR_* constant.
97461847f8eSopenharmony_ci     *
97561847f8eSopenharmony_ci     * @type { number }
97661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
97761847f8eSopenharmony_ci     * @crossplatform
97861847f8eSopenharmony_ci     * @since 10
97961847f8eSopenharmony_ci     */
98061847f8eSopenharmony_ci    failedReason: number;
98161847f8eSopenharmony_ci    /**
98261847f8eSopenharmony_ci     * the name of a file to be downloaded.
98361847f8eSopenharmony_ci     *
98461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
98561847f8eSopenharmony_ci     * @since 7
98661847f8eSopenharmony_ci     */
98761847f8eSopenharmony_ci    /**
98861847f8eSopenharmony_ci     * the name of a file to be downloaded.
98961847f8eSopenharmony_ci     *
99061847f8eSopenharmony_ci     * @type { string }
99161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
99261847f8eSopenharmony_ci     * @crossplatform
99361847f8eSopenharmony_ci     * @since 10
99461847f8eSopenharmony_ci     */
99561847f8eSopenharmony_ci    fileName: string;
99661847f8eSopenharmony_ci    /**
99761847f8eSopenharmony_ci     * the URI of a stored file.
99861847f8eSopenharmony_ci     *
99961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
100061847f8eSopenharmony_ci     * @since 7
100161847f8eSopenharmony_ci     */
100261847f8eSopenharmony_ci    /**
100361847f8eSopenharmony_ci     * the URI of a stored file.
100461847f8eSopenharmony_ci     *
100561847f8eSopenharmony_ci     * @type { string }
100661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
100761847f8eSopenharmony_ci     * @crossplatform
100861847f8eSopenharmony_ci     * @since 10
100961847f8eSopenharmony_ci     */
101061847f8eSopenharmony_ci    filePath: string;
101161847f8eSopenharmony_ci    /**
101261847f8eSopenharmony_ci     * the reason why a session is paused, which can be any DownloadSession.PAUSED_* constant.
101361847f8eSopenharmony_ci     *
101461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
101561847f8eSopenharmony_ci     * @since 7
101661847f8eSopenharmony_ci     */
101761847f8eSopenharmony_ci    /**
101861847f8eSopenharmony_ci     * the reason why a session is paused, which can be any DownloadSession.PAUSED_* constant.
101961847f8eSopenharmony_ci     *
102061847f8eSopenharmony_ci     * @type { number }
102161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
102261847f8eSopenharmony_ci     * @crossplatform
102361847f8eSopenharmony_ci     * @since 10
102461847f8eSopenharmony_ci     */
102561847f8eSopenharmony_ci    pausedReason: number;
102661847f8eSopenharmony_ci    /**
102761847f8eSopenharmony_ci     * the download status code, which can be any DownloadSession.SESSION_* constant.
102861847f8eSopenharmony_ci     *
102961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
103061847f8eSopenharmony_ci     * @since 7
103161847f8eSopenharmony_ci     */
103261847f8eSopenharmony_ci    /**
103361847f8eSopenharmony_ci     * the download status code, which can be any DownloadSession.SESSION_* constant.
103461847f8eSopenharmony_ci     *
103561847f8eSopenharmony_ci     * @type { number }
103661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
103761847f8eSopenharmony_ci     * @crossplatform
103861847f8eSopenharmony_ci     * @since 10
103961847f8eSopenharmony_ci     */
104061847f8eSopenharmony_ci    status: number;
104161847f8eSopenharmony_ci    /**
104261847f8eSopenharmony_ci     * the URI of files to be downloaded.
104361847f8eSopenharmony_ci     *
104461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
104561847f8eSopenharmony_ci     * @since 7
104661847f8eSopenharmony_ci     */
104761847f8eSopenharmony_ci    /**
104861847f8eSopenharmony_ci     * the URI of files to be downloaded.
104961847f8eSopenharmony_ci     *
105061847f8eSopenharmony_ci     * @type { string }
105161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
105261847f8eSopenharmony_ci     * @crossplatform
105361847f8eSopenharmony_ci     * @since 10
105461847f8eSopenharmony_ci     */
105561847f8eSopenharmony_ci    targetURI: string;
105661847f8eSopenharmony_ci    /**
105761847f8eSopenharmony_ci     * the title of a file to be downloaded.
105861847f8eSopenharmony_ci     *
105961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
106061847f8eSopenharmony_ci     * @since 7
106161847f8eSopenharmony_ci     */
106261847f8eSopenharmony_ci    /**
106361847f8eSopenharmony_ci     * the title of a file to be downloaded.
106461847f8eSopenharmony_ci     *
106561847f8eSopenharmony_ci     * @type { string }
106661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
106761847f8eSopenharmony_ci     * @crossplatform
106861847f8eSopenharmony_ci     * @since 10
106961847f8eSopenharmony_ci     */
107061847f8eSopenharmony_ci    downloadTitle: string;
107161847f8eSopenharmony_ci    /**
107261847f8eSopenharmony_ci     * the total size of files to be downloaded (in bytes).
107361847f8eSopenharmony_ci     *
107461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
107561847f8eSopenharmony_ci     * @since 7
107661847f8eSopenharmony_ci     */
107761847f8eSopenharmony_ci    /**
107861847f8eSopenharmony_ci     * the total size of files to be downloaded (in bytes).
107961847f8eSopenharmony_ci     *
108061847f8eSopenharmony_ci     * @type { number }
108161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
108261847f8eSopenharmony_ci     * @crossplatform
108361847f8eSopenharmony_ci     * @since 10
108461847f8eSopenharmony_ci     */
108561847f8eSopenharmony_ci    downloadTotalBytes: number;
108661847f8eSopenharmony_ci  }
108761847f8eSopenharmony_ci
108861847f8eSopenharmony_ci  /**
108961847f8eSopenharmony_ci   * Download task interface
109061847f8eSopenharmony_ci   *
109161847f8eSopenharmony_ci   * @interface DownloadTask
109261847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
109361847f8eSopenharmony_ci   * @since 6
109461847f8eSopenharmony_ci   */
109561847f8eSopenharmony_ci  /**
109661847f8eSopenharmony_ci   * Download task interface
109761847f8eSopenharmony_ci   *
109861847f8eSopenharmony_ci   * @typedef DownloadTask
109961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
110061847f8eSopenharmony_ci   * @crossplatform
110161847f8eSopenharmony_ci   * @since 10
110261847f8eSopenharmony_ci   */
110361847f8eSopenharmony_ci  interface DownloadTask {
110461847f8eSopenharmony_ci    /**
110561847f8eSopenharmony_ci     * Called when the current download session is in process.
110661847f8eSopenharmony_ci     *
110761847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the download task progress.
110861847f8eSopenharmony_ci     * @param { function } callback
110961847f8eSopenharmony_ci     *        The callback function for the download progress change event
111061847f8eSopenharmony_ci     *        receivedSize the length of downloaded data, in bytes
111161847f8eSopenharmony_ci     *        totalSize the length of data expected to be downloaded, in bytes.
111261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
111361847f8eSopenharmony_ci     * @since 6
111461847f8eSopenharmony_ci     */
111561847f8eSopenharmony_ci    /**
111661847f8eSopenharmony_ci     * Called when the current download session is in process.
111761847f8eSopenharmony_ci     *
111861847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the download task progress.
111961847f8eSopenharmony_ci     * @param { function } callback
112061847f8eSopenharmony_ci     *        The callback function for the download progress change event
112161847f8eSopenharmony_ci     *        receivedSize the length of downloaded data, in bytes
112261847f8eSopenharmony_ci     *        totalSize the length of data expected to be downloaded, in bytes.
112361847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
112461847f8eSopenharmony_ci     * @crossplatform
112561847f8eSopenharmony_ci     * @since 10
112661847f8eSopenharmony_ci     */
112761847f8eSopenharmony_ci    /**
112861847f8eSopenharmony_ci     * Called when the current download session is in process.
112961847f8eSopenharmony_ci     *
113061847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the download task progress.
113161847f8eSopenharmony_ci     * @param { function } callback
113261847f8eSopenharmony_ci     * <br>The callback function for the download progress change event
113361847f8eSopenharmony_ci     * <br>receivedSize the length of downloaded data, in bytes
113461847f8eSopenharmony_ci     * <br>totalSize the length of data expected to be downloaded, in bytes.
113561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
113661847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
113761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
113861847f8eSopenharmony_ci     * @crossplatform
113961847f8eSopenharmony_ci     * @since 12
114061847f8eSopenharmony_ci     */
114161847f8eSopenharmony_ci    on(type: 'progress', callback: (receivedSize: number, totalSize: number) => void): void;
114261847f8eSopenharmony_ci
114361847f8eSopenharmony_ci    /**
114461847f8eSopenharmony_ci     * Called when the current download session is in process.
114561847f8eSopenharmony_ci     *
114661847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the download task progress.
114761847f8eSopenharmony_ci     * @param { function } [callback]
114861847f8eSopenharmony_ci     *        The callback function for the download progress change event
114961847f8eSopenharmony_ci     *        receivedSize the length of downloaded data, in bytes
115061847f8eSopenharmony_ci     *        totalSize the length of data expected to be downloaded, in bytes.
115161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
115261847f8eSopenharmony_ci     * @since 6
115361847f8eSopenharmony_ci     */
115461847f8eSopenharmony_ci    /**
115561847f8eSopenharmony_ci     * Called when the current download session is in process.
115661847f8eSopenharmony_ci     *
115761847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the download task progress.
115861847f8eSopenharmony_ci     * @param { function } [callback]
115961847f8eSopenharmony_ci     *        The callback function for the download progress change event
116061847f8eSopenharmony_ci     *        receivedSize the length of downloaded data, in bytes
116161847f8eSopenharmony_ci     *        totalSize the length of data expected to be downloaded, in bytes.
116261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
116361847f8eSopenharmony_ci     * @crossplatform
116461847f8eSopenharmony_ci     * @since 10
116561847f8eSopenharmony_ci     */
116661847f8eSopenharmony_ci    /**
116761847f8eSopenharmony_ci     * Called when the current download session is in process.
116861847f8eSopenharmony_ci     *
116961847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the download task progress.
117061847f8eSopenharmony_ci     * @param { function } [callback]
117161847f8eSopenharmony_ci     * <br>The callback function for the download progress change event
117261847f8eSopenharmony_ci     * <br>receivedSize the length of downloaded data, in bytes
117361847f8eSopenharmony_ci     * <br>totalSize the length of data expected to be downloaded, in bytes.
117461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
117561847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
117661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
117761847f8eSopenharmony_ci     * @crossplatform
117861847f8eSopenharmony_ci     * @since 12
117961847f8eSopenharmony_ci     */
118061847f8eSopenharmony_ci    off(type: 'progress', callback?: (receivedSize: number, totalSize: number) => void): void;
118161847f8eSopenharmony_ci
118261847f8eSopenharmony_ci    /**
118361847f8eSopenharmony_ci     * Called when the current download session complete pause or remove.
118461847f8eSopenharmony_ci     *
118561847f8eSopenharmony_ci     * @param { 'complete' | 'pause' | 'remove' } type Indicates the download session event type
118661847f8eSopenharmony_ci     *        complete: download task completed,
118761847f8eSopenharmony_ci     *        pause: download task stopped,
118861847f8eSopenharmony_ci     *        remove: download task deleted.
118961847f8eSopenharmony_ci     * @param { function } callback The callback function for the download complete pause or remove change event.
119061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
119161847f8eSopenharmony_ci     * @since 7
119261847f8eSopenharmony_ci     */
119361847f8eSopenharmony_ci    /**
119461847f8eSopenharmony_ci     * Called when the current download session complete pause or remove.
119561847f8eSopenharmony_ci     *
119661847f8eSopenharmony_ci     * @param { 'complete' | 'pause' | 'remove' } type Indicates the download session event type
119761847f8eSopenharmony_ci     *        complete: download task completed,
119861847f8eSopenharmony_ci     *        pause: download task stopped,
119961847f8eSopenharmony_ci     *        remove: download task deleted.
120061847f8eSopenharmony_ci     * @param { function } callback The callback function for the download complete pause or remove change event.
120161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
120261847f8eSopenharmony_ci     * @crossplatform
120361847f8eSopenharmony_ci     * @since 10
120461847f8eSopenharmony_ci     */
120561847f8eSopenharmony_ci    /**
120661847f8eSopenharmony_ci     * Called when the current download session complete pause or remove.
120761847f8eSopenharmony_ci     *
120861847f8eSopenharmony_ci     * @param { 'complete' | 'pause' | 'remove' } type Indicates the download session event type
120961847f8eSopenharmony_ci     * <br>complete: download task completed,
121061847f8eSopenharmony_ci     * <br>pause: download task stopped,
121161847f8eSopenharmony_ci     * <br>remove: download task deleted.
121261847f8eSopenharmony_ci     * @param { function } callback The callback function for the download complete pause or remove change event.
121361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
121461847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
121561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
121661847f8eSopenharmony_ci     * @crossplatform
121761847f8eSopenharmony_ci     * @since 12
121861847f8eSopenharmony_ci     */
121961847f8eSopenharmony_ci    on(type: 'complete' | 'pause' | 'remove', callback: () => void): void;
122061847f8eSopenharmony_ci
122161847f8eSopenharmony_ci    /**
122261847f8eSopenharmony_ci     * Called when the current download session complete pause or remove.
122361847f8eSopenharmony_ci     *
122461847f8eSopenharmony_ci     * @param { 'complete' | 'pause' | 'remove' } type Indicates the download session event type
122561847f8eSopenharmony_ci     *        complete: download task completed,
122661847f8eSopenharmony_ci     *        pause: download task stopped,
122761847f8eSopenharmony_ci     *        remove: download task deleted.
122861847f8eSopenharmony_ci     * @param { function } [callback] The callback function for the download complete pause or remove change event.
122961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
123061847f8eSopenharmony_ci     * @since 7
123161847f8eSopenharmony_ci     */
123261847f8eSopenharmony_ci    /**
123361847f8eSopenharmony_ci     * Called when the current download session complete pause or remove.
123461847f8eSopenharmony_ci     *
123561847f8eSopenharmony_ci     * @param { 'complete' | 'pause' | 'remove' } type Indicates the download session event type
123661847f8eSopenharmony_ci     *        complete: download task completed,
123761847f8eSopenharmony_ci     *        pause: download task stopped,
123861847f8eSopenharmony_ci     *        remove: download task deleted.
123961847f8eSopenharmony_ci     * @param { function } [callback] The callback function for the download complete pause or remove change event.
124061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
124161847f8eSopenharmony_ci     * @crossplatform
124261847f8eSopenharmony_ci     * @since 10
124361847f8eSopenharmony_ci     */
124461847f8eSopenharmony_ci    /**
124561847f8eSopenharmony_ci     * Called when the current download session complete pause or remove.
124661847f8eSopenharmony_ci     *
124761847f8eSopenharmony_ci     * @param { 'complete' | 'pause' | 'remove' } type Indicates the download session event type
124861847f8eSopenharmony_ci     * <br>complete: download task completed,
124961847f8eSopenharmony_ci     * <br>pause: download task stopped,
125061847f8eSopenharmony_ci     * <br>remove: download task deleted.
125161847f8eSopenharmony_ci     * @param { function } [callback] The callback function for the download complete pause or remove change event.
125261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
125361847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
125461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
125561847f8eSopenharmony_ci     * @crossplatform
125661847f8eSopenharmony_ci     * @since 12
125761847f8eSopenharmony_ci     */
125861847f8eSopenharmony_ci    off(type: 'complete' | 'pause' | 'remove', callback?: () => void): void;
125961847f8eSopenharmony_ci
126061847f8eSopenharmony_ci    /**
126161847f8eSopenharmony_ci     * Called when the current download session fails.
126261847f8eSopenharmony_ci     *
126361847f8eSopenharmony_ci     * @param { 'fail' } type Indicates the download session type, fail: download task has failed.
126461847f8eSopenharmony_ci     * @param { function } callback The callback function for the download fail change event
126561847f8eSopenharmony_ci     *        err The error code for download task.
126661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
126761847f8eSopenharmony_ci     * @since 7
126861847f8eSopenharmony_ci     */
126961847f8eSopenharmony_ci    /**
127061847f8eSopenharmony_ci     * Called when the current download session fails.
127161847f8eSopenharmony_ci     *
127261847f8eSopenharmony_ci     * @param { 'fail' } type Indicates the download session type, fail: download task has failed.
127361847f8eSopenharmony_ci     * @param { function } callback The callback function for the download fail change event
127461847f8eSopenharmony_ci     *        err The error code for download task.
127561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
127661847f8eSopenharmony_ci     * @crossplatform
127761847f8eSopenharmony_ci     * @since 10
127861847f8eSopenharmony_ci     */
127961847f8eSopenharmony_ci    /**
128061847f8eSopenharmony_ci     * Called when the current download session fails.
128161847f8eSopenharmony_ci     *
128261847f8eSopenharmony_ci     * @param { 'fail' } type Indicates the download session type, fail: download task has failed.
128361847f8eSopenharmony_ci     * @param { function } callback The callback function for the download fail change event
128461847f8eSopenharmony_ci     * <br>err The error code for download task.
128561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
128661847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
128761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
128861847f8eSopenharmony_ci     * @crossplatform
128961847f8eSopenharmony_ci     * @since 12
129061847f8eSopenharmony_ci     */
129161847f8eSopenharmony_ci    on(type: 'fail', callback: (err: number) => void): void;
129261847f8eSopenharmony_ci
129361847f8eSopenharmony_ci    /**
129461847f8eSopenharmony_ci     * Called when the current download session fails.
129561847f8eSopenharmony_ci     *
129661847f8eSopenharmony_ci     * @param { 'fail' } type Indicates the download session type, fail: download task has failed.
129761847f8eSopenharmony_ci     * @param { function } [callback] Indicate the callback function to receive err.
129861847f8eSopenharmony_ci     *        err The error code for download task.
129961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
130061847f8eSopenharmony_ci     * @since 7
130161847f8eSopenharmony_ci     */
130261847f8eSopenharmony_ci    /**
130361847f8eSopenharmony_ci     * Called when the current download session fails.
130461847f8eSopenharmony_ci     *
130561847f8eSopenharmony_ci     * @param { 'fail' } type Indicates the download session type, fail: download task has failed.
130661847f8eSopenharmony_ci     * @param { function } [callback] Indicate the callback function to receive err.
130761847f8eSopenharmony_ci     *        err The error code for download task.
130861847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
130961847f8eSopenharmony_ci     * @crossplatform
131061847f8eSopenharmony_ci     * @since 10
131161847f8eSopenharmony_ci     */
131261847f8eSopenharmony_ci    /**
131361847f8eSopenharmony_ci     * Called when the current download session fails.
131461847f8eSopenharmony_ci     *
131561847f8eSopenharmony_ci     * @param { 'fail' } type Indicates the download session type, fail: download task has failed.
131661847f8eSopenharmony_ci     * @param { function } [callback] Indicate the callback function to receive err.
131761847f8eSopenharmony_ci     * <br>err The error code for download task.
131861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
131961847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
132061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
132161847f8eSopenharmony_ci     * @crossplatform
132261847f8eSopenharmony_ci     * @since 12
132361847f8eSopenharmony_ci     */
132461847f8eSopenharmony_ci    off(type: 'fail', callback?: (err: number) => void): void;
132561847f8eSopenharmony_ci
132661847f8eSopenharmony_ci    /**
132761847f8eSopenharmony_ci     * Deletes a download session and the downloaded files.
132861847f8eSopenharmony_ci     *
132961847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
133061847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback Indicates asynchronous invoking Result.
133161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
133261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
133361847f8eSopenharmony_ci     * @since 6
133461847f8eSopenharmony_ci     * @deprecated since 9
133561847f8eSopenharmony_ci     * @useinstead ohos.request.delete
133661847f8eSopenharmony_ci     */
133761847f8eSopenharmony_ci    remove(callback: AsyncCallback<boolean>): void;
133861847f8eSopenharmony_ci
133961847f8eSopenharmony_ci    /**
134061847f8eSopenharmony_ci     * Deletes a download session and the downloaded files.
134161847f8eSopenharmony_ci     *
134261847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
134361847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
134461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
134561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
134661847f8eSopenharmony_ci     * @since 6
134761847f8eSopenharmony_ci     * @deprecated since 9
134861847f8eSopenharmony_ci     * @useinstead ohos.request.delete
134961847f8eSopenharmony_ci     */
135061847f8eSopenharmony_ci    remove(): Promise<boolean>;
135161847f8eSopenharmony_ci
135261847f8eSopenharmony_ci    /**
135361847f8eSopenharmony_ci     * Pause a download session.
135461847f8eSopenharmony_ci     *
135561847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
135661847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback Indicates asynchronous invoking Result.
135761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
135861847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
135961847f8eSopenharmony_ci     * @since 7
136061847f8eSopenharmony_ci     * @deprecated since 9
136161847f8eSopenharmony_ci     * @useinstead ohos.request.suspend
136261847f8eSopenharmony_ci     */
136361847f8eSopenharmony_ci    pause(callback: AsyncCallback<void>): void;
136461847f8eSopenharmony_ci
136561847f8eSopenharmony_ci    /**
136661847f8eSopenharmony_ci     * Pause a download session.
136761847f8eSopenharmony_ci     *
136861847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
136961847f8eSopenharmony_ci     * @returns { Promise<void> } the promise returned by the function.
137061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
137161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
137261847f8eSopenharmony_ci     * @since 7
137361847f8eSopenharmony_ci     * @deprecated since 9
137461847f8eSopenharmony_ci     * @useinstead ohos.request.suspend
137561847f8eSopenharmony_ci     */
137661847f8eSopenharmony_ci    pause(): Promise<void>;
137761847f8eSopenharmony_ci
137861847f8eSopenharmony_ci    /**
137961847f8eSopenharmony_ci     * Resume a paused download session.
138061847f8eSopenharmony_ci     *
138161847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
138261847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback Indicates asynchronous invoking Result.
138361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
138461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
138561847f8eSopenharmony_ci     * @since 7
138661847f8eSopenharmony_ci     * @deprecated since 9
138761847f8eSopenharmony_ci     * @useinstead ohos.request.restore
138861847f8eSopenharmony_ci     */
138961847f8eSopenharmony_ci    resume(callback: AsyncCallback<void>): void;
139061847f8eSopenharmony_ci
139161847f8eSopenharmony_ci    /**
139261847f8eSopenharmony_ci     * Resume a paused download session.
139361847f8eSopenharmony_ci     *
139461847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
139561847f8eSopenharmony_ci     * @returns { Promise<void> } the promise returned by the function.
139661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
139761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
139861847f8eSopenharmony_ci     * @since 7
139961847f8eSopenharmony_ci     * @deprecated since 9
140061847f8eSopenharmony_ci     * @useinstead ohos.request.restore
140161847f8eSopenharmony_ci     */
140261847f8eSopenharmony_ci    resume(): Promise<void>;
140361847f8eSopenharmony_ci
140461847f8eSopenharmony_ci    /**
140561847f8eSopenharmony_ci     * Queries download information of a session, which is defined in DownloadSession.DownloadInfo.
140661847f8eSopenharmony_ci     *
140761847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
140861847f8eSopenharmony_ci     * @param { AsyncCallback<DownloadInfo> } callback Indicate the callback function to receive download info.
140961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
141061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
141161847f8eSopenharmony_ci     * @since 7
141261847f8eSopenharmony_ci     * @deprecated since 9
141361847f8eSopenharmony_ci     * @useinstead ohos.request.getTaskInfo
141461847f8eSopenharmony_ci     */
141561847f8eSopenharmony_ci    query(callback: AsyncCallback<DownloadInfo>): void;
141661847f8eSopenharmony_ci
141761847f8eSopenharmony_ci    /**
141861847f8eSopenharmony_ci     * Queries download information of a session, which is defined in DownloadSession.DownloadInfo.
141961847f8eSopenharmony_ci     *
142061847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
142161847f8eSopenharmony_ci     * @returns { Promise<DownloadInfo> } the promise returned by the function.
142261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
142361847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
142461847f8eSopenharmony_ci     * @since 7
142561847f8eSopenharmony_ci     * @deprecated since 9
142661847f8eSopenharmony_ci     * @useinstead ohos.request.getTaskInfo
142761847f8eSopenharmony_ci     */
142861847f8eSopenharmony_ci    query(): Promise<DownloadInfo>;
142961847f8eSopenharmony_ci
143061847f8eSopenharmony_ci    /**
143161847f8eSopenharmony_ci     * Queries the MIME type of the download file.
143261847f8eSopenharmony_ci     *
143361847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
143461847f8eSopenharmony_ci     * @param { AsyncCallback<string> } callback Indicate the callback function to receive download file MIME type.
143561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
143661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
143761847f8eSopenharmony_ci     * @since 7
143861847f8eSopenharmony_ci     * @deprecated since 9
143961847f8eSopenharmony_ci     * @useinstead ohos.request.getTaskMimeType
144061847f8eSopenharmony_ci     */
144161847f8eSopenharmony_ci    queryMimeType(callback: AsyncCallback<string>): void;
144261847f8eSopenharmony_ci
144361847f8eSopenharmony_ci    /**
144461847f8eSopenharmony_ci     * Queries the MIME type of the download file.
144561847f8eSopenharmony_ci     *
144661847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
144761847f8eSopenharmony_ci     * @returns { Promise<string> } the promise returned by the function.
144861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
144961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
145061847f8eSopenharmony_ci     * @since 7
145161847f8eSopenharmony_ci     * @deprecated since 9
145261847f8eSopenharmony_ci     * @useinstead ohos.request.getTaskMimeType
145361847f8eSopenharmony_ci     */
145461847f8eSopenharmony_ci    queryMimeType(): Promise<string>;
145561847f8eSopenharmony_ci
145661847f8eSopenharmony_ci    /**
145761847f8eSopenharmony_ci     * Delete the download task
145861847f8eSopenharmony_ci     *
145961847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
146061847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
146161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
146261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
146361847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
146461847f8eSopenharmony_ci     * @since 9
146561847f8eSopenharmony_ci     */
146661847f8eSopenharmony_ci    /**
146761847f8eSopenharmony_ci     * Delete the download task
146861847f8eSopenharmony_ci     *
146961847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
147061847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
147161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
147261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
147361847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
147461847f8eSopenharmony_ci     * @crossplatform
147561847f8eSopenharmony_ci     * @since 10
147661847f8eSopenharmony_ci     */
147761847f8eSopenharmony_ci    /**
147861847f8eSopenharmony_ci     * Delete the download task
147961847f8eSopenharmony_ci     *
148061847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
148161847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
148261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
148361847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
148461847f8eSopenharmony_ci     * @crossplatform
148561847f8eSopenharmony_ci     * @since 12
148661847f8eSopenharmony_ci     */
148761847f8eSopenharmony_ci    delete(callback: AsyncCallback<boolean>): void;
148861847f8eSopenharmony_ci
148961847f8eSopenharmony_ci    /**
149061847f8eSopenharmony_ci     * Delete the download task
149161847f8eSopenharmony_ci     *
149261847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
149361847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
149461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
149561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
149661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
149761847f8eSopenharmony_ci     * @since 9
149861847f8eSopenharmony_ci     */
149961847f8eSopenharmony_ci    /**
150061847f8eSopenharmony_ci     * Delete the download task
150161847f8eSopenharmony_ci     *
150261847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
150361847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
150461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
150561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
150661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
150761847f8eSopenharmony_ci     * @crossplatform
150861847f8eSopenharmony_ci     * @since 10
150961847f8eSopenharmony_ci     */
151061847f8eSopenharmony_ci    /**
151161847f8eSopenharmony_ci     * Delete the download task
151261847f8eSopenharmony_ci     *
151361847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
151461847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
151561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
151661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
151761847f8eSopenharmony_ci     * @crossplatform
151861847f8eSopenharmony_ci     * @since 12
151961847f8eSopenharmony_ci     */
152061847f8eSopenharmony_ci    delete(): Promise<boolean>;
152161847f8eSopenharmony_ci
152261847f8eSopenharmony_ci    /**
152361847f8eSopenharmony_ci     * Suspend the download task
152461847f8eSopenharmony_ci     *
152561847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
152661847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
152761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
152861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
152961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
153061847f8eSopenharmony_ci     * @since 9
153161847f8eSopenharmony_ci     */
153261847f8eSopenharmony_ci    /**
153361847f8eSopenharmony_ci     * Suspend the download task
153461847f8eSopenharmony_ci     *
153561847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
153661847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
153761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
153861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
153961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
154061847f8eSopenharmony_ci     * @crossplatform
154161847f8eSopenharmony_ci     * @since 10
154261847f8eSopenharmony_ci     */
154361847f8eSopenharmony_ci    /**
154461847f8eSopenharmony_ci     * Suspend the download task
154561847f8eSopenharmony_ci     *
154661847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
154761847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
154861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
154961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
155061847f8eSopenharmony_ci     * @crossplatform
155161847f8eSopenharmony_ci     * @since 12
155261847f8eSopenharmony_ci     */
155361847f8eSopenharmony_ci    suspend(callback: AsyncCallback<boolean>): void;
155461847f8eSopenharmony_ci
155561847f8eSopenharmony_ci    /**
155661847f8eSopenharmony_ci     * Suspend the download task
155761847f8eSopenharmony_ci     *
155861847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
155961847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
156061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
156161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
156261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
156361847f8eSopenharmony_ci     * @since 9
156461847f8eSopenharmony_ci     */
156561847f8eSopenharmony_ci    /**
156661847f8eSopenharmony_ci     * Suspend the download task
156761847f8eSopenharmony_ci     *
156861847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
156961847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
157061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
157161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
157261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
157361847f8eSopenharmony_ci     * @crossplatform
157461847f8eSopenharmony_ci     * @since 10
157561847f8eSopenharmony_ci     */
157661847f8eSopenharmony_ci    /**
157761847f8eSopenharmony_ci     * Suspend the download task
157861847f8eSopenharmony_ci     *
157961847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
158061847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
158161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
158261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
158361847f8eSopenharmony_ci     * @crossplatform
158461847f8eSopenharmony_ci     * @since 12
158561847f8eSopenharmony_ci     */
158661847f8eSopenharmony_ci    suspend(): Promise<boolean>;
158761847f8eSopenharmony_ci
158861847f8eSopenharmony_ci    /**
158961847f8eSopenharmony_ci     * Restore the download task
159061847f8eSopenharmony_ci     *
159161847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
159261847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
159361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
159461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
159561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
159661847f8eSopenharmony_ci     * @since 9
159761847f8eSopenharmony_ci     */
159861847f8eSopenharmony_ci    /**
159961847f8eSopenharmony_ci     * Restore the download task
160061847f8eSopenharmony_ci     *
160161847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
160261847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
160361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
160461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
160561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
160661847f8eSopenharmony_ci     * @crossplatform
160761847f8eSopenharmony_ci     * @since 10
160861847f8eSopenharmony_ci     */
160961847f8eSopenharmony_ci    /**
161061847f8eSopenharmony_ci     * Restore the download task
161161847f8eSopenharmony_ci     *
161261847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
161361847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
161461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
161561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
161661847f8eSopenharmony_ci     * @crossplatform
161761847f8eSopenharmony_ci     * @since 12
161861847f8eSopenharmony_ci     */
161961847f8eSopenharmony_ci    restore(callback: AsyncCallback<boolean>): void;
162061847f8eSopenharmony_ci
162161847f8eSopenharmony_ci    /**
162261847f8eSopenharmony_ci     * Restore the download task
162361847f8eSopenharmony_ci     *
162461847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
162561847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
162661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
162761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
162861847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
162961847f8eSopenharmony_ci     * @since 9
163061847f8eSopenharmony_ci     */
163161847f8eSopenharmony_ci    /**
163261847f8eSopenharmony_ci     * Restore the download task
163361847f8eSopenharmony_ci     *
163461847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
163561847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
163661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
163761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
163861847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
163961847f8eSopenharmony_ci     * @crossplatform
164061847f8eSopenharmony_ci     * @since 10
164161847f8eSopenharmony_ci     */
164261847f8eSopenharmony_ci    /**
164361847f8eSopenharmony_ci     * Restore the download task
164461847f8eSopenharmony_ci     *
164561847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
164661847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
164761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
164861847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
164961847f8eSopenharmony_ci     * @crossplatform
165061847f8eSopenharmony_ci     * @since 12
165161847f8eSopenharmony_ci     */
165261847f8eSopenharmony_ci    restore(): Promise<boolean>;
165361847f8eSopenharmony_ci
165461847f8eSopenharmony_ci    /**
165561847f8eSopenharmony_ci     * Get the download task info
165661847f8eSopenharmony_ci     *
165761847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
165861847f8eSopenharmony_ci     * @param { AsyncCallback<DownloadInfo> } callback
165961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
166061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
166161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
166261847f8eSopenharmony_ci     * @since 9
166361847f8eSopenharmony_ci     */
166461847f8eSopenharmony_ci    /**
166561847f8eSopenharmony_ci     * Get the download task info
166661847f8eSopenharmony_ci     *
166761847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
166861847f8eSopenharmony_ci     * @param { AsyncCallback<DownloadInfo> } callback
166961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
167061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
167161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
167261847f8eSopenharmony_ci     * @crossplatform
167361847f8eSopenharmony_ci     * @since 10
167461847f8eSopenharmony_ci     */
167561847f8eSopenharmony_ci    /**
167661847f8eSopenharmony_ci     * Get the download task info
167761847f8eSopenharmony_ci     *
167861847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
167961847f8eSopenharmony_ci     * @param { AsyncCallback<DownloadInfo> } callback
168061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
168161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
168261847f8eSopenharmony_ci     * @crossplatform
168361847f8eSopenharmony_ci     * @since 12
168461847f8eSopenharmony_ci     */
168561847f8eSopenharmony_ci    getTaskInfo(callback: AsyncCallback<DownloadInfo>): void;
168661847f8eSopenharmony_ci
168761847f8eSopenharmony_ci    /**
168861847f8eSopenharmony_ci     * Get the download task info
168961847f8eSopenharmony_ci     *
169061847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
169161847f8eSopenharmony_ci     * @returns { Promise<DownloadInfo> } the promise returned by the function.
169261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
169361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
169461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
169561847f8eSopenharmony_ci     * @since 9
169661847f8eSopenharmony_ci     */
169761847f8eSopenharmony_ci    /**
169861847f8eSopenharmony_ci     * Get the download task info
169961847f8eSopenharmony_ci     *
170061847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
170161847f8eSopenharmony_ci     * @returns { Promise<DownloadInfo> } the promise returned by the function.
170261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
170361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
170461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
170561847f8eSopenharmony_ci     * @crossplatform
170661847f8eSopenharmony_ci     * @since 10
170761847f8eSopenharmony_ci     */
170861847f8eSopenharmony_ci    /**
170961847f8eSopenharmony_ci     * Get the download task info
171061847f8eSopenharmony_ci     *
171161847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
171261847f8eSopenharmony_ci     * @returns { Promise<DownloadInfo> } the promise returned by the function.
171361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
171461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
171561847f8eSopenharmony_ci     * @crossplatform
171661847f8eSopenharmony_ci     * @since 12
171761847f8eSopenharmony_ci     */
171861847f8eSopenharmony_ci    getTaskInfo(): Promise<DownloadInfo>;
171961847f8eSopenharmony_ci
172061847f8eSopenharmony_ci    /**
172161847f8eSopenharmony_ci     * Get mimetype of the download task
172261847f8eSopenharmony_ci     *
172361847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
172461847f8eSopenharmony_ci     * @param { AsyncCallback<string> } callback
172561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
172661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
172761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
172861847f8eSopenharmony_ci     * @since 9
172961847f8eSopenharmony_ci     */
173061847f8eSopenharmony_ci    /**
173161847f8eSopenharmony_ci     * Get mimetype of the download task
173261847f8eSopenharmony_ci     *
173361847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
173461847f8eSopenharmony_ci     * @param { AsyncCallback<string> } callback
173561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
173661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
173761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
173861847f8eSopenharmony_ci     * @crossplatform
173961847f8eSopenharmony_ci     * @since 10
174061847f8eSopenharmony_ci     */
174161847f8eSopenharmony_ci    /**
174261847f8eSopenharmony_ci     * Get mimetype of the download task
174361847f8eSopenharmony_ci     *
174461847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
174561847f8eSopenharmony_ci     * @param { AsyncCallback<string> } callback
174661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
174761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
174861847f8eSopenharmony_ci     * @crossplatform
174961847f8eSopenharmony_ci     * @since 12
175061847f8eSopenharmony_ci     */
175161847f8eSopenharmony_ci    getTaskMimeType(callback: AsyncCallback<string>): void;
175261847f8eSopenharmony_ci
175361847f8eSopenharmony_ci    /**
175461847f8eSopenharmony_ci     * Get mimetype of the download task
175561847f8eSopenharmony_ci     *
175661847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
175761847f8eSopenharmony_ci     * @returns { Promise<string> } the promise returned by the function.
175861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
175961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
176061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
176161847f8eSopenharmony_ci     * @since 9
176261847f8eSopenharmony_ci     */
176361847f8eSopenharmony_ci    /**
176461847f8eSopenharmony_ci     * Get mimetype of the download task
176561847f8eSopenharmony_ci     *
176661847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
176761847f8eSopenharmony_ci     * @returns { Promise<string> } the promise returned by the function.
176861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
176961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
177061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
177161847f8eSopenharmony_ci     * @crossplatform
177261847f8eSopenharmony_ci     * @since 10
177361847f8eSopenharmony_ci     */
177461847f8eSopenharmony_ci    /**
177561847f8eSopenharmony_ci     * Get mimetype of the download task
177661847f8eSopenharmony_ci     *
177761847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
177861847f8eSopenharmony_ci     * @returns { Promise<string> } the promise returned by the function.
177961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
178061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
178161847f8eSopenharmony_ci     * @crossplatform
178261847f8eSopenharmony_ci     * @since 12
178361847f8eSopenharmony_ci     */
178461847f8eSopenharmony_ci    getTaskMimeType(): Promise<string>;
178561847f8eSopenharmony_ci  }
178661847f8eSopenharmony_ci
178761847f8eSopenharmony_ci  /**
178861847f8eSopenharmony_ci   * File data Structure
178961847f8eSopenharmony_ci   *
179061847f8eSopenharmony_ci   * @interface File
179161847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
179261847f8eSopenharmony_ci   * @since 6
179361847f8eSopenharmony_ci   * @name File
179461847f8eSopenharmony_ci   */
179561847f8eSopenharmony_ci  /**
179661847f8eSopenharmony_ci   * File data Structure
179761847f8eSopenharmony_ci   *
179861847f8eSopenharmony_ci   * @typedef File
179961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
180061847f8eSopenharmony_ci   * @crossplatform
180161847f8eSopenharmony_ci   * @since 10
180261847f8eSopenharmony_ci   */
180361847f8eSopenharmony_ci  interface File {
180461847f8eSopenharmony_ci    /**
180561847f8eSopenharmony_ci     * When multipart is submitted, the file name in the request header.
180661847f8eSopenharmony_ci     *
180761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
180861847f8eSopenharmony_ci     * @since 6
180961847f8eSopenharmony_ci     */
181061847f8eSopenharmony_ci    /**
181161847f8eSopenharmony_ci     * When multipart is submitted, the file name in the request header.
181261847f8eSopenharmony_ci     *
181361847f8eSopenharmony_ci     * @type { string }
181461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
181561847f8eSopenharmony_ci     * @crossplatform
181661847f8eSopenharmony_ci     * @since 10
181761847f8eSopenharmony_ci     */
181861847f8eSopenharmony_ci    filename: string;
181961847f8eSopenharmony_ci    /**
182061847f8eSopenharmony_ci     * When multipart is submitted, the name of the form item. The default is file.
182161847f8eSopenharmony_ci     *
182261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
182361847f8eSopenharmony_ci     * @since 6
182461847f8eSopenharmony_ci     */
182561847f8eSopenharmony_ci    /**
182661847f8eSopenharmony_ci     * When multipart is submitted, the name of the form item. The default is file.
182761847f8eSopenharmony_ci     *
182861847f8eSopenharmony_ci     * @type { string }
182961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
183061847f8eSopenharmony_ci     * @crossplatform
183161847f8eSopenharmony_ci     * @since 10
183261847f8eSopenharmony_ci     */
183361847f8eSopenharmony_ci    name: string;
183461847f8eSopenharmony_ci    /**
183561847f8eSopenharmony_ci     * The local storage path of the file (please refer to the storage directory definition for path usage).
183661847f8eSopenharmony_ci     *
183761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
183861847f8eSopenharmony_ci     * @since 6
183961847f8eSopenharmony_ci     */
184061847f8eSopenharmony_ci    /**
184161847f8eSopenharmony_ci     * The local storage path of the file (please refer to the storage directory definition for path usage).
184261847f8eSopenharmony_ci     *
184361847f8eSopenharmony_ci     * @type { string }
184461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
184561847f8eSopenharmony_ci     * @crossplatform
184661847f8eSopenharmony_ci     * @since 10
184761847f8eSopenharmony_ci     */
184861847f8eSopenharmony_ci    uri: string;
184961847f8eSopenharmony_ci    /**
185061847f8eSopenharmony_ci     * The content type of the file is obtained by default according to the suffix of the file name or path.
185161847f8eSopenharmony_ci     *
185261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
185361847f8eSopenharmony_ci     * @since 6
185461847f8eSopenharmony_ci     */
185561847f8eSopenharmony_ci    /**
185661847f8eSopenharmony_ci     * The content type of the file is obtained by default according to the suffix of the file name or path.
185761847f8eSopenharmony_ci     *
185861847f8eSopenharmony_ci     * @type { string }
185961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
186061847f8eSopenharmony_ci     * @crossplatform
186161847f8eSopenharmony_ci     * @since 10
186261847f8eSopenharmony_ci     */
186361847f8eSopenharmony_ci    type: string;
186461847f8eSopenharmony_ci  }
186561847f8eSopenharmony_ci
186661847f8eSopenharmony_ci  /**
186761847f8eSopenharmony_ci   * RequestData data Structure
186861847f8eSopenharmony_ci   *
186961847f8eSopenharmony_ci   * @interface RequestData
187061847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
187161847f8eSopenharmony_ci   * @since 6
187261847f8eSopenharmony_ci   * @name RequestData
187361847f8eSopenharmony_ci   */
187461847f8eSopenharmony_ci  /**
187561847f8eSopenharmony_ci   * RequestData data Structure
187661847f8eSopenharmony_ci   *
187761847f8eSopenharmony_ci   * @typedef RequestData
187861847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
187961847f8eSopenharmony_ci   * @crossplatform
188061847f8eSopenharmony_ci   * @since 10
188161847f8eSopenharmony_ci   */
188261847f8eSopenharmony_ci  interface RequestData {
188361847f8eSopenharmony_ci    /**
188461847f8eSopenharmony_ci     * Represents the name of the form element.
188561847f8eSopenharmony_ci     *
188661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
188761847f8eSopenharmony_ci     * @since 6
188861847f8eSopenharmony_ci     */
188961847f8eSopenharmony_ci    /**
189061847f8eSopenharmony_ci     * Represents the name of the form element.
189161847f8eSopenharmony_ci     *
189261847f8eSopenharmony_ci     * @type { string }
189361847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
189461847f8eSopenharmony_ci     * @crossplatform
189561847f8eSopenharmony_ci     * @since 10
189661847f8eSopenharmony_ci     */
189761847f8eSopenharmony_ci    name: string;
189861847f8eSopenharmony_ci    /**
189961847f8eSopenharmony_ci     * Represents the value of the form element.
190061847f8eSopenharmony_ci     *
190161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
190261847f8eSopenharmony_ci     * @since 6
190361847f8eSopenharmony_ci     */
190461847f8eSopenharmony_ci    /**
190561847f8eSopenharmony_ci     * Represents the value of the form element.
190661847f8eSopenharmony_ci     *
190761847f8eSopenharmony_ci     * @type { string }
190861847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Download
190961847f8eSopenharmony_ci     * @crossplatform
191061847f8eSopenharmony_ci     * @since 10
191161847f8eSopenharmony_ci     */
191261847f8eSopenharmony_ci    value: string;
191361847f8eSopenharmony_ci  }
191461847f8eSopenharmony_ci
191561847f8eSopenharmony_ci  /**
191661847f8eSopenharmony_ci   * UploadConfig data Structure
191761847f8eSopenharmony_ci   *
191861847f8eSopenharmony_ci   * @interface UploadConfig
191961847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Upload
192061847f8eSopenharmony_ci   * @since 6
192161847f8eSopenharmony_ci   * @name UploadConfig
192261847f8eSopenharmony_ci   */
192361847f8eSopenharmony_ci  /**
192461847f8eSopenharmony_ci   * UploadConfig data Structure
192561847f8eSopenharmony_ci   *
192661847f8eSopenharmony_ci   * @typedef UploadConfig
192761847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Upload
192861847f8eSopenharmony_ci   * @crossplatform
192961847f8eSopenharmony_ci   * @since 10
193061847f8eSopenharmony_ci   */
193161847f8eSopenharmony_ci  interface UploadConfig {
193261847f8eSopenharmony_ci    /**
193361847f8eSopenharmony_ci     * Resource address.
193461847f8eSopenharmony_ci     * Verification rule: Starting with http (s)://and with a length not exceeding 2048 characters.
193561847f8eSopenharmony_ci     *
193661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
193761847f8eSopenharmony_ci     * @since 6
193861847f8eSopenharmony_ci     */
193961847f8eSopenharmony_ci    /**
194061847f8eSopenharmony_ci     * Resource address.
194161847f8eSopenharmony_ci     * Verification rule: Starting with http (s)://and with a length not exceeding 2048 characters.
194261847f8eSopenharmony_ci     *
194361847f8eSopenharmony_ci     * @type { string }
194461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
194561847f8eSopenharmony_ci     * @crossplatform
194661847f8eSopenharmony_ci     * @since 10
194761847f8eSopenharmony_ci     */
194861847f8eSopenharmony_ci    url: string;
194961847f8eSopenharmony_ci    /**
195061847f8eSopenharmony_ci     * Adds an HTTP or HTTPS header to be included with the upload request.
195161847f8eSopenharmony_ci     *
195261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
195361847f8eSopenharmony_ci     * @since 6
195461847f8eSopenharmony_ci     */
195561847f8eSopenharmony_ci    /**
195661847f8eSopenharmony_ci     * Adds an HTTP or HTTPS header to be included with the upload request.
195761847f8eSopenharmony_ci     *
195861847f8eSopenharmony_ci     * @type { Object }
195961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
196061847f8eSopenharmony_ci     * @crossplatform
196161847f8eSopenharmony_ci     * @since 10
196261847f8eSopenharmony_ci     */
196361847f8eSopenharmony_ci    header: Object;
196461847f8eSopenharmony_ci    /**
196561847f8eSopenharmony_ci     * Request method: POST, PUT. The default POST.
196661847f8eSopenharmony_ci     *
196761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
196861847f8eSopenharmony_ci     * @since 6
196961847f8eSopenharmony_ci     */
197061847f8eSopenharmony_ci    /**
197161847f8eSopenharmony_ci     * Request method: POST, PUT. The default POST.
197261847f8eSopenharmony_ci     *
197361847f8eSopenharmony_ci     * @type { string }
197461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
197561847f8eSopenharmony_ci     * @crossplatform
197661847f8eSopenharmony_ci     * @since 10
197761847f8eSopenharmony_ci     */
197861847f8eSopenharmony_ci    method: string;
197961847f8eSopenharmony_ci    /**
198061847f8eSopenharmony_ci     * The index of paths for a task.
198161847f8eSopenharmony_ci     * Usually used for a continuous job.
198261847f8eSopenharmony_ci     * The default is 0.
198361847f8eSopenharmony_ci     *
198461847f8eSopenharmony_ci     * @type { ?number }
198561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
198661847f8eSopenharmony_ci     * @since 11
198761847f8eSopenharmony_ci     */
198861847f8eSopenharmony_ci    index?: number;
198961847f8eSopenharmony_ci    /**
199061847f8eSopenharmony_ci     * The start point of a file.
199161847f8eSopenharmony_ci     * Usually used for a continuous job.
199261847f8eSopenharmony_ci     * It will start read at the point in upload.
199361847f8eSopenharmony_ci     * The default is 0.
199461847f8eSopenharmony_ci     *
199561847f8eSopenharmony_ci     * @type { ?number }
199661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
199761847f8eSopenharmony_ci     * @since 11
199861847f8eSopenharmony_ci     */
199961847f8eSopenharmony_ci    begins?: number;
200061847f8eSopenharmony_ci    /**
200161847f8eSopenharmony_ci     * The end point of a file.
200261847f8eSopenharmony_ci     * Usually used for a continuous job.
200361847f8eSopenharmony_ci     * It will end read at the point in upload.
200461847f8eSopenharmony_ci     * The default is -1 indicating the end of the data for upload.
200561847f8eSopenharmony_ci     *
200661847f8eSopenharmony_ci     * @type { ?number }
200761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
200861847f8eSopenharmony_ci     * @since 11
200961847f8eSopenharmony_ci     */
201061847f8eSopenharmony_ci    ends?: number;
201161847f8eSopenharmony_ci    /**
201261847f8eSopenharmony_ci     * A list of files to be uploaded. Please use multipart/form-data to submit.
201361847f8eSopenharmony_ci     *
201461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
201561847f8eSopenharmony_ci     * @since 6
201661847f8eSopenharmony_ci     */
201761847f8eSopenharmony_ci    /**
201861847f8eSopenharmony_ci     * A list of files to be uploaded. Please use multipart/form-data to submit.
201961847f8eSopenharmony_ci     *
202061847f8eSopenharmony_ci     * @type { Array<File> }
202161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
202261847f8eSopenharmony_ci     * @crossplatform
202361847f8eSopenharmony_ci     * @since 10
202461847f8eSopenharmony_ci     */
202561847f8eSopenharmony_ci    files: Array<File>;
202661847f8eSopenharmony_ci    /**
202761847f8eSopenharmony_ci     * The requested form data.
202861847f8eSopenharmony_ci     *
202961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
203061847f8eSopenharmony_ci     * @since 6
203161847f8eSopenharmony_ci     */
203261847f8eSopenharmony_ci    /**
203361847f8eSopenharmony_ci     * The requested form data.
203461847f8eSopenharmony_ci     *
203561847f8eSopenharmony_ci     * @type { Array<RequestData> }
203661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
203761847f8eSopenharmony_ci     * @crossplatform
203861847f8eSopenharmony_ci     * @since 10
203961847f8eSopenharmony_ci     */
204061847f8eSopenharmony_ci    data: Array<RequestData>;
204161847f8eSopenharmony_ci  }
204261847f8eSopenharmony_ci
204361847f8eSopenharmony_ci  /**
204461847f8eSopenharmony_ci   * TaskState data Structure
204561847f8eSopenharmony_ci   *
204661847f8eSopenharmony_ci   * @interface TaskState
204761847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Upload
204861847f8eSopenharmony_ci   * @since 9
204961847f8eSopenharmony_ci   * @name TaskState
205061847f8eSopenharmony_ci   */
205161847f8eSopenharmony_ci  /**
205261847f8eSopenharmony_ci   * TaskState data Structure
205361847f8eSopenharmony_ci   *
205461847f8eSopenharmony_ci   * @typedef TaskState
205561847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Upload
205661847f8eSopenharmony_ci   * @crossplatform
205761847f8eSopenharmony_ci   * @since 10
205861847f8eSopenharmony_ci   */
205961847f8eSopenharmony_ci  interface TaskState {
206061847f8eSopenharmony_ci    /**
206161847f8eSopenharmony_ci     * Upload file path.
206261847f8eSopenharmony_ci     *
206361847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
206461847f8eSopenharmony_ci     * @since 9
206561847f8eSopenharmony_ci     */
206661847f8eSopenharmony_ci    /**
206761847f8eSopenharmony_ci     * Upload file path.
206861847f8eSopenharmony_ci     *
206961847f8eSopenharmony_ci     * @type { string }
207061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
207161847f8eSopenharmony_ci     * @crossplatform
207261847f8eSopenharmony_ci     * @since 10
207361847f8eSopenharmony_ci     */
207461847f8eSopenharmony_ci    path: string;
207561847f8eSopenharmony_ci    /**
207661847f8eSopenharmony_ci     * Upload task return value.
207761847f8eSopenharmony_ci     *
207861847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
207961847f8eSopenharmony_ci     * @since 9
208061847f8eSopenharmony_ci     */
208161847f8eSopenharmony_ci    /**
208261847f8eSopenharmony_ci     * Upload task return value.
208361847f8eSopenharmony_ci     *
208461847f8eSopenharmony_ci     * @type { number }
208561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
208661847f8eSopenharmony_ci     * @crossplatform
208761847f8eSopenharmony_ci     * @since 10
208861847f8eSopenharmony_ci     */
208961847f8eSopenharmony_ci    responseCode: number;
209061847f8eSopenharmony_ci    /**
209161847f8eSopenharmony_ci     * Upload task information.
209261847f8eSopenharmony_ci     *
209361847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
209461847f8eSopenharmony_ci     * @since 9
209561847f8eSopenharmony_ci     */
209661847f8eSopenharmony_ci    /**
209761847f8eSopenharmony_ci     * Upload task information.
209861847f8eSopenharmony_ci     *
209961847f8eSopenharmony_ci     * @type { string }
210061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
210161847f8eSopenharmony_ci     * @crossplatform
210261847f8eSopenharmony_ci     * @since 10
210361847f8eSopenharmony_ci     */
210461847f8eSopenharmony_ci    message: string;
210561847f8eSopenharmony_ci  }
210661847f8eSopenharmony_ci
210761847f8eSopenharmony_ci  /**
210861847f8eSopenharmony_ci   * Upload task interface
210961847f8eSopenharmony_ci   *
211061847f8eSopenharmony_ci   * @interface UploadTask
211161847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
211261847f8eSopenharmony_ci   * @since 6
211361847f8eSopenharmony_ci   */
211461847f8eSopenharmony_ci  /**
211561847f8eSopenharmony_ci   * Upload task interface
211661847f8eSopenharmony_ci   *
211761847f8eSopenharmony_ci   * @typedef UploadTask
211861847f8eSopenharmony_ci   * @syscap SystemCapability.MiscServices.Download
211961847f8eSopenharmony_ci   * @crossplatform
212061847f8eSopenharmony_ci   * @since 10
212161847f8eSopenharmony_ci   */
212261847f8eSopenharmony_ci  interface UploadTask {
212361847f8eSopenharmony_ci    /**
212461847f8eSopenharmony_ci     * Called when the current upload session is in process.
212561847f8eSopenharmony_ci     *
212661847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the upload task progress.
212761847f8eSopenharmony_ci     * @param { function } callback
212861847f8eSopenharmony_ci     *        The callback function for the upload progress change event
212961847f8eSopenharmony_ci     *        uploadedSize The length of uploaded data, in bytes
213061847f8eSopenharmony_ci     *        totalSize The length of data expected to be uploaded, in bytes.
213161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
213261847f8eSopenharmony_ci     * @since 6
213361847f8eSopenharmony_ci     */
213461847f8eSopenharmony_ci    /**
213561847f8eSopenharmony_ci     * Called when the current upload session is in process.
213661847f8eSopenharmony_ci     *
213761847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the upload task progress.
213861847f8eSopenharmony_ci     * @param { function } callback
213961847f8eSopenharmony_ci     *        The callback function for the upload progress change event
214061847f8eSopenharmony_ci     *        uploadedSize The length of uploaded data, in bytes
214161847f8eSopenharmony_ci     *        totalSize The length of data expected to be uploaded, in bytes.
214261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
214361847f8eSopenharmony_ci     * @crossplatform
214461847f8eSopenharmony_ci     * @since 10
214561847f8eSopenharmony_ci     */
214661847f8eSopenharmony_ci    /**
214761847f8eSopenharmony_ci     * Called when the current upload session is in process.
214861847f8eSopenharmony_ci     *
214961847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the upload task progress.
215061847f8eSopenharmony_ci     * @param { function } callback
215161847f8eSopenharmony_ci     * <br>The callback function for the upload progress change event
215261847f8eSopenharmony_ci     * <br>uploadedSize The length of uploaded data, in bytes
215361847f8eSopenharmony_ci     * <br>totalSize The length of data expected to be uploaded, in bytes.
215461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
215561847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
215661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
215761847f8eSopenharmony_ci     * @crossplatform
215861847f8eSopenharmony_ci     * @since 12
215961847f8eSopenharmony_ci     */
216061847f8eSopenharmony_ci    on(type: 'progress', callback: (uploadedSize: number, totalSize: number) => void): void;
216161847f8eSopenharmony_ci
216261847f8eSopenharmony_ci    /**
216361847f8eSopenharmony_ci     * Called when the current upload session is in process.
216461847f8eSopenharmony_ci     *
216561847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the upload task progress.
216661847f8eSopenharmony_ci     * @param { function } [callback]
216761847f8eSopenharmony_ci     *        The callback function for the upload progress change event
216861847f8eSopenharmony_ci     *        uploadedSize The length of uploaded data, in bytes
216961847f8eSopenharmony_ci     *        totalSize The length of data expected to be uploaded, in bytes.
217061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
217161847f8eSopenharmony_ci     * @since 6
217261847f8eSopenharmony_ci     */
217361847f8eSopenharmony_ci    /**
217461847f8eSopenharmony_ci     * Called when the current upload session is in process.
217561847f8eSopenharmony_ci     *
217661847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the upload task progress.
217761847f8eSopenharmony_ci     * @param { function } [callback]
217861847f8eSopenharmony_ci     *        The callback function for the upload progress change event
217961847f8eSopenharmony_ci     *        uploadedSize The length of uploaded data, in bytes
218061847f8eSopenharmony_ci     *        totalSize The length of data expected to be uploaded, in bytes.
218161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
218261847f8eSopenharmony_ci     * @crossplatform
218361847f8eSopenharmony_ci     * @since 10
218461847f8eSopenharmony_ci     */
218561847f8eSopenharmony_ci    /**
218661847f8eSopenharmony_ci     * Called when the current upload session is in process.
218761847f8eSopenharmony_ci     *
218861847f8eSopenharmony_ci     * @param { 'progress' } type progress Indicates the upload task progress.
218961847f8eSopenharmony_ci     * @param { function } [callback]
219061847f8eSopenharmony_ci     * <br>The callback function for the upload progress change event
219161847f8eSopenharmony_ci     * <br>uploadedSize The length of uploaded data, in bytes
219261847f8eSopenharmony_ci     * <br>totalSize The length of data expected to be uploaded, in bytes.
219361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
219461847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
219561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
219661847f8eSopenharmony_ci     * @crossplatform
219761847f8eSopenharmony_ci     * @since 12
219861847f8eSopenharmony_ci     */
219961847f8eSopenharmony_ci    off(type: 'progress', callback?: (uploadedSize: number, totalSize: number) => void): void;
220061847f8eSopenharmony_ci
220161847f8eSopenharmony_ci    /**
220261847f8eSopenharmony_ci     * Called when the header of the current upload session has been received.
220361847f8eSopenharmony_ci     *
220461847f8eSopenharmony_ci     * @param { 'headerReceive' } type headerReceive Indicates the upload task headed receive.
220561847f8eSopenharmony_ci     * @param { function } callback The callback function for the HTTP Response Header event
220661847f8eSopenharmony_ci     *        header HTTP Response Header returned by the developer server.
220761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
220861847f8eSopenharmony_ci     * @since 7
220961847f8eSopenharmony_ci     */
221061847f8eSopenharmony_ci    /**
221161847f8eSopenharmony_ci     * Called when the header of the current upload session has been received.
221261847f8eSopenharmony_ci     *
221361847f8eSopenharmony_ci     * @param { 'headerReceive' } type headerReceive Indicates the upload task headed receive.
221461847f8eSopenharmony_ci     * @param { function } callback The callback function for the HTTP Response Header event
221561847f8eSopenharmony_ci     *        header HTTP Response Header returned by the developer server.
221661847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
221761847f8eSopenharmony_ci     * @crossplatform
221861847f8eSopenharmony_ci     * @since 10
221961847f8eSopenharmony_ci     */
222061847f8eSopenharmony_ci    /**
222161847f8eSopenharmony_ci     * Called when the header of the current upload session has been received.
222261847f8eSopenharmony_ci     *
222361847f8eSopenharmony_ci     * @param { 'headerReceive' } type headerReceive Indicates the upload task headed receive.
222461847f8eSopenharmony_ci     * @param { function } callback The callback function for the HTTP Response Header event
222561847f8eSopenharmony_ci     * <br>header HTTP Response Header returned by the developer server.
222661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
222761847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
222861847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
222961847f8eSopenharmony_ci     * @crossplatform
223061847f8eSopenharmony_ci     * @since 12
223161847f8eSopenharmony_ci     */
223261847f8eSopenharmony_ci    on(type: 'headerReceive', callback: (header: object) => void): void;
223361847f8eSopenharmony_ci
223461847f8eSopenharmony_ci    /**
223561847f8eSopenharmony_ci     * Called when the header of the current upload session has been received.
223661847f8eSopenharmony_ci     *
223761847f8eSopenharmony_ci     * @param { 'headerReceive' } type headerReceive Indicates the upload task headed receive.
223861847f8eSopenharmony_ci     * @param { function } [callback] The callback function for the HTTP Response Header event
223961847f8eSopenharmony_ci     *        header HTTP Response Header returned by the developer server.
224061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
224161847f8eSopenharmony_ci     * @since 7
224261847f8eSopenharmony_ci     */
224361847f8eSopenharmony_ci    /**
224461847f8eSopenharmony_ci     * Called when the header of the current upload session has been received.
224561847f8eSopenharmony_ci     *
224661847f8eSopenharmony_ci     * @param { 'headerReceive' } type headerReceive Indicates the upload task headed receive.
224761847f8eSopenharmony_ci     * @param { function } [callback] The callback function for the HTTP Response Header event
224861847f8eSopenharmony_ci     *        header HTTP Response Header returned by the developer server.
224961847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
225061847f8eSopenharmony_ci     * @crossplatform
225161847f8eSopenharmony_ci     * @since 10
225261847f8eSopenharmony_ci     */
225361847f8eSopenharmony_ci    /**
225461847f8eSopenharmony_ci     * Called when the header of the current upload session has been received.
225561847f8eSopenharmony_ci     *
225661847f8eSopenharmony_ci     * @param { 'headerReceive' } type headerReceive Indicates the upload task headed receive.
225761847f8eSopenharmony_ci     * @param { function } [callback] The callback function for the HTTP Response Header event
225861847f8eSopenharmony_ci     * <br>header HTTP Response Header returned by the developer server.
225961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
226061847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
226161847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
226261847f8eSopenharmony_ci     * @crossplatform
226361847f8eSopenharmony_ci     * @since 12
226461847f8eSopenharmony_ci     */
226561847f8eSopenharmony_ci    off(type: 'headerReceive', callback?: (header: object) => void): void;
226661847f8eSopenharmony_ci
226761847f8eSopenharmony_ci    /**
226861847f8eSopenharmony_ci     * Called when the current upload session complete or fail.
226961847f8eSopenharmony_ci     *
227061847f8eSopenharmony_ci     * @param { 'complete' | 'fail' } type Indicates the upload session event type
227161847f8eSopenharmony_ci     *        complete: upload task completed
227261847f8eSopenharmony_ci     *        fail: upload task failed
227361847f8eSopenharmony_ci     * @param { Callback<Array<TaskState>> } callback The callback function for the upload complete or fail change event.
227461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
227561847f8eSopenharmony_ci     * @since 9
227661847f8eSopenharmony_ci     */
227761847f8eSopenharmony_ci    /**
227861847f8eSopenharmony_ci     * Called when the current upload session complete or fail.
227961847f8eSopenharmony_ci     *
228061847f8eSopenharmony_ci     * @param { 'complete' | 'fail' } type Indicates the upload session event type
228161847f8eSopenharmony_ci     *        complete: upload task completed
228261847f8eSopenharmony_ci     *        fail: upload task failed
228361847f8eSopenharmony_ci     * @param { Callback<Array<TaskState>> } callback The callback function for the upload complete or fail change event.
228461847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
228561847f8eSopenharmony_ci     * @crossplatform
228661847f8eSopenharmony_ci     * @since 10
228761847f8eSopenharmony_ci     */
228861847f8eSopenharmony_ci    /**
228961847f8eSopenharmony_ci     * Called when the current upload session complete or fail.
229061847f8eSopenharmony_ci     *
229161847f8eSopenharmony_ci     * @param { 'complete' | 'fail' } type Indicates the upload session event type
229261847f8eSopenharmony_ci     * <br>complete: upload task completed
229361847f8eSopenharmony_ci     * <br>fail: upload task failed
229461847f8eSopenharmony_ci     * @param { Callback<Array<TaskState>> } callback The callback function for the upload complete or fail change event.
229561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
229661847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
229761847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
229861847f8eSopenharmony_ci     * @crossplatform
229961847f8eSopenharmony_ci     * @since 12
230061847f8eSopenharmony_ci     */
230161847f8eSopenharmony_ci    on(type: 'complete' | 'fail', callback: Callback<Array<TaskState>>): void;
230261847f8eSopenharmony_ci
230361847f8eSopenharmony_ci    /**
230461847f8eSopenharmony_ci     * Called when the current upload session complete or fail.
230561847f8eSopenharmony_ci     *
230661847f8eSopenharmony_ci     * @param { 'complete' | 'fail' } type Indicates the upload session event type
230761847f8eSopenharmony_ci     *        complete: upload task completed
230861847f8eSopenharmony_ci     *         fail: upload task failed
230961847f8eSopenharmony_ci     * @param { Callback<Array<TaskState>> } [callback]
231061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
231161847f8eSopenharmony_ci     * @since 9
231261847f8eSopenharmony_ci     */
231361847f8eSopenharmony_ci    /**
231461847f8eSopenharmony_ci     * Called when the current upload session complete or fail.
231561847f8eSopenharmony_ci     *
231661847f8eSopenharmony_ci     * @param { 'complete' | 'fail' } type Indicates the upload session event type
231761847f8eSopenharmony_ci     *        complete: upload task completed
231861847f8eSopenharmony_ci     *         fail: upload task failed
231961847f8eSopenharmony_ci     * @param { Callback<Array<TaskState>> } [callback]
232061847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
232161847f8eSopenharmony_ci     * @crossplatform
232261847f8eSopenharmony_ci     * @since 10
232361847f8eSopenharmony_ci     */
232461847f8eSopenharmony_ci    /**
232561847f8eSopenharmony_ci     * Called when the current upload session complete or fail.
232661847f8eSopenharmony_ci     *
232761847f8eSopenharmony_ci     * @param { 'complete' | 'fail' } type Indicates the upload session event type
232861847f8eSopenharmony_ci     * <br>complete: upload task completed
232961847f8eSopenharmony_ci     * <br>fail: upload task failed
233061847f8eSopenharmony_ci     * @param { Callback<Array<TaskState>> } [callback]
233161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails. Possible causes: 1. Missing mandatory parameters.
233261847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
233361847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
233461847f8eSopenharmony_ci     * @crossplatform
233561847f8eSopenharmony_ci     * @since 12
233661847f8eSopenharmony_ci     */
233761847f8eSopenharmony_ci    off(type: 'complete' | 'fail', callback?: Callback<Array<TaskState>>): void;
233861847f8eSopenharmony_ci
233961847f8eSopenharmony_ci    /**
234061847f8eSopenharmony_ci     * Deletes an upload session.
234161847f8eSopenharmony_ci     *
234261847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
234361847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback Indicates asynchronous invoking Result.
234461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
234561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
234661847f8eSopenharmony_ci     * @since 6
234761847f8eSopenharmony_ci     * @deprecated since 9
234861847f8eSopenharmony_ci     * @useinstead ohos.request.delete
234961847f8eSopenharmony_ci     */
235061847f8eSopenharmony_ci    remove(callback: AsyncCallback<boolean>): void;
235161847f8eSopenharmony_ci
235261847f8eSopenharmony_ci    /**
235361847f8eSopenharmony_ci     * Deletes an upload session.
235461847f8eSopenharmony_ci     *
235561847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
235661847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
235761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
235861847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
235961847f8eSopenharmony_ci     * @since 6
236061847f8eSopenharmony_ci     * @deprecated since 9
236161847f8eSopenharmony_ci     * @useinstead ohos.request.delete
236261847f8eSopenharmony_ci     */
236361847f8eSopenharmony_ci    remove(): Promise<boolean>;
236461847f8eSopenharmony_ci
236561847f8eSopenharmony_ci    /**
236661847f8eSopenharmony_ci     * Delete the upload task
236761847f8eSopenharmony_ci     *
236861847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
236961847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
237061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
237161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
237261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
237361847f8eSopenharmony_ci     * @since 9
237461847f8eSopenharmony_ci     */
237561847f8eSopenharmony_ci    /**
237661847f8eSopenharmony_ci     * Delete the upload task
237761847f8eSopenharmony_ci     *
237861847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
237961847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
238061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
238161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
238261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
238361847f8eSopenharmony_ci     * @crossplatform
238461847f8eSopenharmony_ci     * @since 10
238561847f8eSopenharmony_ci     */
238661847f8eSopenharmony_ci    /**
238761847f8eSopenharmony_ci     * Delete the upload task
238861847f8eSopenharmony_ci     *
238961847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
239061847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback
239161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
239261847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
239361847f8eSopenharmony_ci     * @crossplatform
239461847f8eSopenharmony_ci     * @since 12
239561847f8eSopenharmony_ci     */
239661847f8eSopenharmony_ci    delete(callback: AsyncCallback<boolean>): void;
239761847f8eSopenharmony_ci
239861847f8eSopenharmony_ci    /**
239961847f8eSopenharmony_ci     * Delete the upload task
240061847f8eSopenharmony_ci     *
240161847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
240261847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
240361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
240461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
240561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
240661847f8eSopenharmony_ci     * @since 9
240761847f8eSopenharmony_ci     */
240861847f8eSopenharmony_ci    /**
240961847f8eSopenharmony_ci     * Delete the upload task
241061847f8eSopenharmony_ci     *
241161847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
241261847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
241361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
241461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - the parameters check fails
241561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
241661847f8eSopenharmony_ci     * @crossplatform
241761847f8eSopenharmony_ci     * @since 10
241861847f8eSopenharmony_ci     */
241961847f8eSopenharmony_ci    /**
242061847f8eSopenharmony_ci     * Delete the upload task
242161847f8eSopenharmony_ci     *
242261847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
242361847f8eSopenharmony_ci     * @returns { Promise<boolean> } the promise returned by the function.
242461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - the permissions check fails
242561847f8eSopenharmony_ci     * @syscap SystemCapability.MiscServices.Upload
242661847f8eSopenharmony_ci     * @crossplatform
242761847f8eSopenharmony_ci     * @since 12
242861847f8eSopenharmony_ci     */
242961847f8eSopenharmony_ci    delete(): Promise<boolean>;
243061847f8eSopenharmony_ci  }
243161847f8eSopenharmony_ci
243261847f8eSopenharmony_ci  /**
243361847f8eSopenharmony_ci   * The request agent api.
243461847f8eSopenharmony_ci   * Supports "background" and "frontend" tasks as while.
243561847f8eSopenharmony_ci   * Though "background" and "frontend" here do not the same with process's concept.
243661847f8eSopenharmony_ci   * All tasks will be executed at request manager service and recorded.
243761847f8eSopenharmony_ci   * Background tasks is for concurrent transfer, such as caching videos for a later play.
243861847f8eSopenharmony_ci   * Frontend tasks is for instant transfer, such as submitting forms for a consumption bill.
243961847f8eSopenharmony_ci   * Background tasks use notification to tell user tasks' status information.
244061847f8eSopenharmony_ci   * Frontend tasks use callback to tell caller tasks' status information.
244161847f8eSopenharmony_ci   * Background has some automatically restore mechanism.
244261847f8eSopenharmony_ci   * Frontend tasks controlled by caller.
244361847f8eSopenharmony_ci   * Uses `multipart/form-data` in client request for upload.
244461847f8eSopenharmony_ci   * A `Content-Disposition: attachment; filename=<filename>` response from server leads to download.
244561847f8eSopenharmony_ci   * More details, please see the architecture documents of the request subsystem.
244661847f8eSopenharmony_ci   *
244761847f8eSopenharmony_ci   * @namespace agent
244861847f8eSopenharmony_ci   * @syscap SystemCapability.Request.FileTransferAgent
244961847f8eSopenharmony_ci   * @since 10
245061847f8eSopenharmony_ci   */
245161847f8eSopenharmony_ci  /**
245261847f8eSopenharmony_ci   * The request agent api.
245361847f8eSopenharmony_ci   * Supports "background" and "frontend" tasks as while.
245461847f8eSopenharmony_ci   * Though "background" and "frontend" here do not the same with process's concept.
245561847f8eSopenharmony_ci   * All tasks will be executed at request manager service and recorded.
245661847f8eSopenharmony_ci   * Background tasks is for concurrent transfer, such as caching videos for a later play.
245761847f8eSopenharmony_ci   * Frontend tasks is for instant transfer, such as submitting forms for a consumption bill.
245861847f8eSopenharmony_ci   * Background tasks use notification to tell user tasks' status information.
245961847f8eSopenharmony_ci   * Frontend tasks use callback to tell caller tasks' status information.
246061847f8eSopenharmony_ci   * Background has some automatically restore mechanism.
246161847f8eSopenharmony_ci   * Frontend tasks controlled by caller.
246261847f8eSopenharmony_ci   * Uses `multipart/form-data` in client request for upload.
246361847f8eSopenharmony_ci   * A `Content-Disposition: attachment; filename=<filename>` response from server leads to download.
246461847f8eSopenharmony_ci   * More details, please see the architecture documents of the request subsystem.
246561847f8eSopenharmony_ci   * Only front-end mode is supported in cross-platform scenarios.
246661847f8eSopenharmony_ci   *
246761847f8eSopenharmony_ci   * @namespace agent
246861847f8eSopenharmony_ci   * @syscap SystemCapability.Request.FileTransferAgent
246961847f8eSopenharmony_ci   * @crossplatform
247061847f8eSopenharmony_ci   * @atomicservice
247161847f8eSopenharmony_ci   * @since 11
247261847f8eSopenharmony_ci   */
247361847f8eSopenharmony_ci  namespace agent {
247461847f8eSopenharmony_ci    /**
247561847f8eSopenharmony_ci     * The action options.
247661847f8eSopenharmony_ci     *
247761847f8eSopenharmony_ci     * @enum { number } Action
247861847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
247961847f8eSopenharmony_ci     * @since 10
248061847f8eSopenharmony_ci     */
248161847f8eSopenharmony_ci    /**
248261847f8eSopenharmony_ci     * The action options.
248361847f8eSopenharmony_ci     *
248461847f8eSopenharmony_ci     * @enum { number } Action
248561847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
248661847f8eSopenharmony_ci     * @crossplatform
248761847f8eSopenharmony_ci     * @atomicservice
248861847f8eSopenharmony_ci     * @since 11
248961847f8eSopenharmony_ci     */
249061847f8eSopenharmony_ci    enum Action {
249161847f8eSopenharmony_ci      /**
249261847f8eSopenharmony_ci       * Indicates download task.
249361847f8eSopenharmony_ci       *
249461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
249561847f8eSopenharmony_ci       * @since 10
249661847f8eSopenharmony_ci       */
249761847f8eSopenharmony_ci      /**
249861847f8eSopenharmony_ci       * Indicates download task.
249961847f8eSopenharmony_ci       *
250061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
250161847f8eSopenharmony_ci       * @crossplatform
250261847f8eSopenharmony_ci       * @atomicservice
250361847f8eSopenharmony_ci       * @since 11
250461847f8eSopenharmony_ci       */
250561847f8eSopenharmony_ci      DOWNLOAD,
250661847f8eSopenharmony_ci      /**
250761847f8eSopenharmony_ci       * Indicates upload task.
250861847f8eSopenharmony_ci       *
250961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
251061847f8eSopenharmony_ci       * @since 10
251161847f8eSopenharmony_ci       */
251261847f8eSopenharmony_ci      /**
251361847f8eSopenharmony_ci       * Indicates upload task.
251461847f8eSopenharmony_ci       *
251561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
251661847f8eSopenharmony_ci       * @crossplatform
251761847f8eSopenharmony_ci       * @atomicservice
251861847f8eSopenharmony_ci       * @since 11
251961847f8eSopenharmony_ci       */
252061847f8eSopenharmony_ci      UPLOAD
252161847f8eSopenharmony_ci    }
252261847f8eSopenharmony_ci
252361847f8eSopenharmony_ci    /**
252461847f8eSopenharmony_ci     * The mode options.
252561847f8eSopenharmony_ci     *
252661847f8eSopenharmony_ci     * @enum { number } Mode
252761847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
252861847f8eSopenharmony_ci     * @since 10
252961847f8eSopenharmony_ci     */
253061847f8eSopenharmony_ci    /**
253161847f8eSopenharmony_ci     * The mode options.
253261847f8eSopenharmony_ci     *
253361847f8eSopenharmony_ci     * @enum { number } Mode
253461847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
253561847f8eSopenharmony_ci     * @crossplatform
253661847f8eSopenharmony_ci     * @atomicservice
253761847f8eSopenharmony_ci     * @since 11
253861847f8eSopenharmony_ci     */
253961847f8eSopenharmony_ci    enum Mode {
254061847f8eSopenharmony_ci      /**
254161847f8eSopenharmony_ci       * Indicates background task.
254261847f8eSopenharmony_ci       *
254361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
254461847f8eSopenharmony_ci       * @since 10
254561847f8eSopenharmony_ci       */
254661847f8eSopenharmony_ci      /**
254761847f8eSopenharmony_ci       * Indicates background task.
254861847f8eSopenharmony_ci       *
254961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
255061847f8eSopenharmony_ci       * @atomicservice
255161847f8eSopenharmony_ci       * @since 11
255261847f8eSopenharmony_ci       */
255361847f8eSopenharmony_ci      BACKGROUND,
255461847f8eSopenharmony_ci      /**
255561847f8eSopenharmony_ci       * Indicates foreground task.
255661847f8eSopenharmony_ci       *
255761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
255861847f8eSopenharmony_ci       * @since 10
255961847f8eSopenharmony_ci       */
256061847f8eSopenharmony_ci      /**
256161847f8eSopenharmony_ci       * Indicates foreground task.
256261847f8eSopenharmony_ci       *
256361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
256461847f8eSopenharmony_ci       * @crossplatform
256561847f8eSopenharmony_ci       * @atomicservice
256661847f8eSopenharmony_ci       * @since 11
256761847f8eSopenharmony_ci       */
256861847f8eSopenharmony_ci      FOREGROUND
256961847f8eSopenharmony_ci    }
257061847f8eSopenharmony_ci
257161847f8eSopenharmony_ci    /**
257261847f8eSopenharmony_ci     * The network options.
257361847f8eSopenharmony_ci     *
257461847f8eSopenharmony_ci     * @enum { number } Network
257561847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
257661847f8eSopenharmony_ci     * @since 10
257761847f8eSopenharmony_ci     */
257861847f8eSopenharmony_ci    /**
257961847f8eSopenharmony_ci     * The network options.
258061847f8eSopenharmony_ci     *
258161847f8eSopenharmony_ci     * @enum { number } Network
258261847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
258361847f8eSopenharmony_ci     * @crossplatform
258461847f8eSopenharmony_ci     * @atomicservice
258561847f8eSopenharmony_ci     * @since 11
258661847f8eSopenharmony_ci     */
258761847f8eSopenharmony_ci    enum Network {
258861847f8eSopenharmony_ci      /**
258961847f8eSopenharmony_ci       * Indicates no restriction on network type.
259061847f8eSopenharmony_ci       *
259161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
259261847f8eSopenharmony_ci       * @since 10
259361847f8eSopenharmony_ci       */
259461847f8eSopenharmony_ci      /**
259561847f8eSopenharmony_ci       * Indicates no restriction on network type.
259661847f8eSopenharmony_ci       *
259761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
259861847f8eSopenharmony_ci       * @crossplatform
259961847f8eSopenharmony_ci       * @atomicservice
260061847f8eSopenharmony_ci       * @since 11
260161847f8eSopenharmony_ci       */
260261847f8eSopenharmony_ci      ANY,
260361847f8eSopenharmony_ci      /**
260461847f8eSopenharmony_ci       * Indicates Wi-Fi only.
260561847f8eSopenharmony_ci       *
260661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
260761847f8eSopenharmony_ci       * @since 10
260861847f8eSopenharmony_ci       */
260961847f8eSopenharmony_ci      /**
261061847f8eSopenharmony_ci       * Indicates Wi-Fi only.
261161847f8eSopenharmony_ci       *
261261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
261361847f8eSopenharmony_ci       * @crossplatform
261461847f8eSopenharmony_ci       * @atomicservice
261561847f8eSopenharmony_ci       * @since 11
261661847f8eSopenharmony_ci       */
261761847f8eSopenharmony_ci      WIFI,
261861847f8eSopenharmony_ci      /**
261961847f8eSopenharmony_ci       * Indicates cellular only.
262061847f8eSopenharmony_ci       *
262161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
262261847f8eSopenharmony_ci       * @since 10
262361847f8eSopenharmony_ci       */
262461847f8eSopenharmony_ci      /**
262561847f8eSopenharmony_ci       * Indicates cellular only.
262661847f8eSopenharmony_ci       *
262761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
262861847f8eSopenharmony_ci       * @crossplatform
262961847f8eSopenharmony_ci       * @atomicservice
263061847f8eSopenharmony_ci       * @since 11
263161847f8eSopenharmony_ci       */
263261847f8eSopenharmony_ci      CELLULAR
263361847f8eSopenharmony_ci    }
263461847f8eSopenharmony_ci
263561847f8eSopenharmony_ci    /**
263661847f8eSopenharmony_ci     * Broadcast events for the request.
263761847f8eSopenharmony_ci     *
263861847f8eSopenharmony_ci     * @enum { string } BroadcastEvent
263961847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
264061847f8eSopenharmony_ci     * @since 11
264161847f8eSopenharmony_ci     */
264261847f8eSopenharmony_ci    enum BroadcastEvent {
264361847f8eSopenharmony_ci      /**
264461847f8eSopenharmony_ci       * Completion event for the task.
264561847f8eSopenharmony_ci       * The code in the commonEventData can only be "0x40"(COMPLETE) or "0x41"(FAILED), same as "State".
264661847f8eSopenharmony_ci       * The data in the commonEventData contains the id of the task.
264761847f8eSopenharmony_ci       *
264861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
264961847f8eSopenharmony_ci       * @since 11
265061847f8eSopenharmony_ci       */
265161847f8eSopenharmony_ci      COMPLETE = 'ohos.request.event.COMPLETE'
265261847f8eSopenharmony_ci    }
265361847f8eSopenharmony_ci
265461847f8eSopenharmony_ci    /**
265561847f8eSopenharmony_ci     * The file information for a form item.
265661847f8eSopenharmony_ci     *
265761847f8eSopenharmony_ci     * @typedef FileSpec
265861847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
265961847f8eSopenharmony_ci     * @since 10
266061847f8eSopenharmony_ci     */
266161847f8eSopenharmony_ci    /**
266261847f8eSopenharmony_ci     * The file information for a form item.
266361847f8eSopenharmony_ci     *
266461847f8eSopenharmony_ci     * @typedef FileSpec
266561847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
266661847f8eSopenharmony_ci     * @crossplatform
266761847f8eSopenharmony_ci     * @atomicservice
266861847f8eSopenharmony_ci     * @since 11
266961847f8eSopenharmony_ci     */
267061847f8eSopenharmony_ci    interface FileSpec {
267161847f8eSopenharmony_ci      /**
267261847f8eSopenharmony_ci       * A relative path string, like "./xxx/yyy/zzz.html", "xxx/yyy/zzz.html", in the caller's cache directory.
267361847f8eSopenharmony_ci       *
267461847f8eSopenharmony_ci       * @type { string }
267561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
267661847f8eSopenharmony_ci       * @since 10
267761847f8eSopenharmony_ci       */
267861847f8eSopenharmony_ci      /**
267961847f8eSopenharmony_ci       * A relative path string, like "./xxx/yyy/zzz.html", "xxx/yyy/zzz.html", in the caller's cache directory.
268061847f8eSopenharmony_ci       *
268161847f8eSopenharmony_ci       * @type { string }
268261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
268361847f8eSopenharmony_ci       * @crossplatform
268461847f8eSopenharmony_ci       * @atomicservice
268561847f8eSopenharmony_ci       * @since 11
268661847f8eSopenharmony_ci       */
268761847f8eSopenharmony_ci      /**
268861847f8eSopenharmony_ci       * The path to save the uploaded file.
268961847f8eSopenharmony_ci       * Currently support:
269061847f8eSopenharmony_ci       * 1: relative path, like "./xxx/yyy/zzz.html", "xxx/yyy/zzz.html", under caller's cache folder.
269161847f8eSopenharmony_ci       * 2: internal protocol path, starting with "internal://", like "internal://cache/path/to/file.txt".
269261847f8eSopenharmony_ci       * 3: application storage path, only the base directory and its subdirectories are supported, like "/data/storage/el1/base/path/to/file.txt".
269361847f8eSopenharmony_ci       * 4: file protocol path with self bundle name, only the base directory and its subdirectories are supported, like "file://com.example.test/data/storage/el2/base/file.txt".
269461847f8eSopenharmony_ci       * 5: user file url, like "file://media/Photo/path/to/file.png".
269561847f8eSopenharmony_ci       *
269661847f8eSopenharmony_ci       * @type { string }
269761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
269861847f8eSopenharmony_ci       * @crossplatform
269961847f8eSopenharmony_ci       * @atomicservice
270061847f8eSopenharmony_ci       * @since 12
270161847f8eSopenharmony_ci       */
270261847f8eSopenharmony_ci      path: string;
270361847f8eSopenharmony_ci      /**
270461847f8eSopenharmony_ci       * The MIME type of the file.
270561847f8eSopenharmony_ci       * The default is obtained by the suffix of the filename.
270661847f8eSopenharmony_ci       *
270761847f8eSopenharmony_ci       * @type { ?string }
270861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
270961847f8eSopenharmony_ci       * @since 10
271061847f8eSopenharmony_ci       */
271161847f8eSopenharmony_ci      /**
271261847f8eSopenharmony_ci       * The MIME type of the file.
271361847f8eSopenharmony_ci       * The default is obtained by the suffix of the filename.
271461847f8eSopenharmony_ci       *
271561847f8eSopenharmony_ci       * @type { ?string }
271661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
271761847f8eSopenharmony_ci       * @crossplatform
271861847f8eSopenharmony_ci       * @atomicservice
271961847f8eSopenharmony_ci       * @since 11
272061847f8eSopenharmony_ci       */
272161847f8eSopenharmony_ci      mimeType?: string;
272261847f8eSopenharmony_ci      /**
272361847f8eSopenharmony_ci       * The filename, the default is obtained by path.
272461847f8eSopenharmony_ci       *
272561847f8eSopenharmony_ci       * @type { ?string }
272661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
272761847f8eSopenharmony_ci       * @since 10
272861847f8eSopenharmony_ci       */
272961847f8eSopenharmony_ci      /**
273061847f8eSopenharmony_ci       * The filename, the default is obtained by path.
273161847f8eSopenharmony_ci       *
273261847f8eSopenharmony_ci       * @type { ?string }
273361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
273461847f8eSopenharmony_ci       * @crossplatform
273561847f8eSopenharmony_ci       * @atomicservice
273661847f8eSopenharmony_ci       * @since 11
273761847f8eSopenharmony_ci       */
273861847f8eSopenharmony_ci      filename?: string;
273961847f8eSopenharmony_ci      /**
274061847f8eSopenharmony_ci       * The extras for the file information.
274161847f8eSopenharmony_ci       *
274261847f8eSopenharmony_ci       * @type { ?object }
274361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
274461847f8eSopenharmony_ci       * @since 10
274561847f8eSopenharmony_ci       */
274661847f8eSopenharmony_ci      /**
274761847f8eSopenharmony_ci       * The extras for the file information.
274861847f8eSopenharmony_ci       *
274961847f8eSopenharmony_ci       * @type { ?object }
275061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
275161847f8eSopenharmony_ci       * @crossplatform
275261847f8eSopenharmony_ci       * @atomicservice
275361847f8eSopenharmony_ci       * @since 11
275461847f8eSopenharmony_ci       */
275561847f8eSopenharmony_ci      extras?: object;
275661847f8eSopenharmony_ci    }
275761847f8eSopenharmony_ci
275861847f8eSopenharmony_ci    /**
275961847f8eSopenharmony_ci     * The form item information for a task.
276061847f8eSopenharmony_ci     *
276161847f8eSopenharmony_ci     * @typedef FormItem
276261847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
276361847f8eSopenharmony_ci     * @since 10
276461847f8eSopenharmony_ci     */
276561847f8eSopenharmony_ci    /**
276661847f8eSopenharmony_ci     * The form item information for a task.
276761847f8eSopenharmony_ci     *
276861847f8eSopenharmony_ci     * @typedef FormItem
276961847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
277061847f8eSopenharmony_ci     * @crossplatform
277161847f8eSopenharmony_ci     * @atomicservice
277261847f8eSopenharmony_ci     * @since 11
277361847f8eSopenharmony_ci     */
277461847f8eSopenharmony_ci    interface FormItem {
277561847f8eSopenharmony_ci      /**
277661847f8eSopenharmony_ci       * The item's name.
277761847f8eSopenharmony_ci       *
277861847f8eSopenharmony_ci       * @type { string }
277961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
278061847f8eSopenharmony_ci       * @since 10
278161847f8eSopenharmony_ci       */
278261847f8eSopenharmony_ci      /**
278361847f8eSopenharmony_ci       * The item's name.
278461847f8eSopenharmony_ci       *
278561847f8eSopenharmony_ci       * @type { string }
278661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
278761847f8eSopenharmony_ci       * @crossplatform
278861847f8eSopenharmony_ci       * @atomicservice
278961847f8eSopenharmony_ci       * @since 11
279061847f8eSopenharmony_ci       */
279161847f8eSopenharmony_ci      name: string;
279261847f8eSopenharmony_ci      /**
279361847f8eSopenharmony_ci       * The item's value.
279461847f8eSopenharmony_ci       *
279561847f8eSopenharmony_ci       * @type { string | FileSpec | Array<FileSpec> }
279661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
279761847f8eSopenharmony_ci       * @since 10
279861847f8eSopenharmony_ci       */
279961847f8eSopenharmony_ci      /**
280061847f8eSopenharmony_ci       * The item's value.
280161847f8eSopenharmony_ci       *
280261847f8eSopenharmony_ci       * @type { string | FileSpec | Array<FileSpec> }
280361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
280461847f8eSopenharmony_ci       * @crossplatform
280561847f8eSopenharmony_ci       * @atomicservice
280661847f8eSopenharmony_ci       * @since 11
280761847f8eSopenharmony_ci       */
280861847f8eSopenharmony_ci      value: string | FileSpec | Array<FileSpec>;
280961847f8eSopenharmony_ci    }
281061847f8eSopenharmony_ci
281161847f8eSopenharmony_ci    /**
281261847f8eSopenharmony_ci     * The configurations for a task.
281361847f8eSopenharmony_ci     * Using a flexible configuration for clear upload and download functions.
281461847f8eSopenharmony_ci     * If without emphasis, an option is for any task.
281561847f8eSopenharmony_ci     *
281661847f8eSopenharmony_ci     * @typedef Config
281761847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
281861847f8eSopenharmony_ci     * @since 10
281961847f8eSopenharmony_ci     */
282061847f8eSopenharmony_ci    /**
282161847f8eSopenharmony_ci     * The configurations for a task.
282261847f8eSopenharmony_ci     * Using a flexible configuration for clear upload and download functions.
282361847f8eSopenharmony_ci     * If without emphasis, an option is for any task.
282461847f8eSopenharmony_ci     *
282561847f8eSopenharmony_ci     * @typedef Config
282661847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
282761847f8eSopenharmony_ci     * @crossplatform
282861847f8eSopenharmony_ci     * @atomicservice
282961847f8eSopenharmony_ci     * @since 11
283061847f8eSopenharmony_ci     */
283161847f8eSopenharmony_ci    interface Config {
283261847f8eSopenharmony_ci      /**
283361847f8eSopenharmony_ci       * The task action, upload or download.
283461847f8eSopenharmony_ci       *
283561847f8eSopenharmony_ci       * @type { Action }
283661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
283761847f8eSopenharmony_ci       * @since 10
283861847f8eSopenharmony_ci       */
283961847f8eSopenharmony_ci      /**
284061847f8eSopenharmony_ci       * The task action, upload or download.
284161847f8eSopenharmony_ci       *
284261847f8eSopenharmony_ci       * @type { Action }
284361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
284461847f8eSopenharmony_ci       * @crossplatform
284561847f8eSopenharmony_ci       * @atomicservice
284661847f8eSopenharmony_ci       * @since 11
284761847f8eSopenharmony_ci       */
284861847f8eSopenharmony_ci      action: Action;
284961847f8eSopenharmony_ci      /**
285061847f8eSopenharmony_ci       * The Universal Resource Locator for a task.
285161847f8eSopenharmony_ci       * Starting with http(s)://
285261847f8eSopenharmony_ci       * The maximum length is 2048 characters.
285361847f8eSopenharmony_ci       * Using raw `url` option, even url parameters in it.
285461847f8eSopenharmony_ci       *
285561847f8eSopenharmony_ci       * @type { string }
285661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
285761847f8eSopenharmony_ci       * @since 10
285861847f8eSopenharmony_ci       */
285961847f8eSopenharmony_ci      /**
286061847f8eSopenharmony_ci       * The Universal Resource Locator for a task.
286161847f8eSopenharmony_ci       * The maximum length is 2048 characters.
286261847f8eSopenharmony_ci       * Using raw `url` option, even url parameters in it.
286361847f8eSopenharmony_ci       *
286461847f8eSopenharmony_ci       * @type { string }
286561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
286661847f8eSopenharmony_ci       * @crossplatform
286761847f8eSopenharmony_ci       * @atomicservice
286861847f8eSopenharmony_ci       * @since 11
286961847f8eSopenharmony_ci       */
287061847f8eSopenharmony_ci      url: string;
287161847f8eSopenharmony_ci      /**
287261847f8eSopenharmony_ci       * The title for a task, give a meaningful title please.
287361847f8eSopenharmony_ci       * The maximum length is 256 characters.
287461847f8eSopenharmony_ci       * The default is the same with its action.
287561847f8eSopenharmony_ci       *
287661847f8eSopenharmony_ci       * @type { ?string }
287761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
287861847f8eSopenharmony_ci       * @since 10
287961847f8eSopenharmony_ci       */
288061847f8eSopenharmony_ci      /**
288161847f8eSopenharmony_ci       * The title for a task, give a meaningful title please.
288261847f8eSopenharmony_ci       * The maximum length is 256 characters.
288361847f8eSopenharmony_ci       * The default is upload or download, consistent with its action.
288461847f8eSopenharmony_ci       *
288561847f8eSopenharmony_ci       * @type { ?string }
288661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
288761847f8eSopenharmony_ci       * @crossplatform
288861847f8eSopenharmony_ci       * @atomicservice
288961847f8eSopenharmony_ci       * @since 11
289061847f8eSopenharmony_ci       */
289161847f8eSopenharmony_ci      title?: string;
289261847f8eSopenharmony_ci      /**
289361847f8eSopenharmony_ci       * The details for a task.
289461847f8eSopenharmony_ci       * The maximum length is 1024 characters.
289561847f8eSopenharmony_ci       * The default is empty string.
289661847f8eSopenharmony_ci       *
289761847f8eSopenharmony_ci       * @type { ?string }
289861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
289961847f8eSopenharmony_ci       * @since 10
290061847f8eSopenharmony_ci       */
290161847f8eSopenharmony_ci      /**
290261847f8eSopenharmony_ci       * The details for a task.
290361847f8eSopenharmony_ci       * The maximum length is 1024 characters.
290461847f8eSopenharmony_ci       * The default is empty string.
290561847f8eSopenharmony_ci       *
290661847f8eSopenharmony_ci       * @type { ?string }
290761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
290861847f8eSopenharmony_ci       * @crossplatform
290961847f8eSopenharmony_ci       * @atomicservice
291061847f8eSopenharmony_ci       * @since 11
291161847f8eSopenharmony_ci       */
291261847f8eSopenharmony_ci      description?: string;
291361847f8eSopenharmony_ci      /**
291461847f8eSopenharmony_ci       * Indicates task's mode.
291561847f8eSopenharmony_ci       * The default is background.
291661847f8eSopenharmony_ci       * For frontend task, it has callbacks.
291761847f8eSopenharmony_ci       * For background task, it has notifications and fallback.
291861847f8eSopenharmony_ci       *
291961847f8eSopenharmony_ci       * @type { ?Mode }
292061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
292161847f8eSopenharmony_ci       * @since 10
292261847f8eSopenharmony_ci       */
292361847f8eSopenharmony_ci      /**
292461847f8eSopenharmony_ci       * Indicates task's mode.
292561847f8eSopenharmony_ci       * The default is BACKGROUND.
292661847f8eSopenharmony_ci       * For frontend task, it has callbacks.
292761847f8eSopenharmony_ci       * For background task, it has notifications and fallback.
292861847f8eSopenharmony_ci       * The cross-platform default is FOREGROUND.
292961847f8eSopenharmony_ci       *
293061847f8eSopenharmony_ci       * @type { ?Mode }
293161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
293261847f8eSopenharmony_ci       * @crossplatform
293361847f8eSopenharmony_ci       * @atomicservice
293461847f8eSopenharmony_ci       * @since 11
293561847f8eSopenharmony_ci       */
293661847f8eSopenharmony_ci
293761847f8eSopenharmony_ci      mode?: Mode;
293861847f8eSopenharmony_ci      /**
293961847f8eSopenharmony_ci       * The solution choice when path already exists during download.
294061847f8eSopenharmony_ci       * Currently support:
294161847f8eSopenharmony_ci       * true, rewrite the existed file.
294261847f8eSopenharmony_ci       * false, go to fail.
294361847f8eSopenharmony_ci       *
294461847f8eSopenharmony_ci       * @type { ?boolean }
294561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
294661847f8eSopenharmony_ci       * @since 10
294761847f8eSopenharmony_ci       */
294861847f8eSopenharmony_ci      /**
294961847f8eSopenharmony_ci       * The solution choice when path already exists during download.
295061847f8eSopenharmony_ci       * The default is false.
295161847f8eSopenharmony_ci       * Currently support:
295261847f8eSopenharmony_ci       * true, rewrite the existed file.
295361847f8eSopenharmony_ci       * false, go to fail.
295461847f8eSopenharmony_ci       *
295561847f8eSopenharmony_ci       * @type { ?boolean }
295661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
295761847f8eSopenharmony_ci       * @crossplatform
295861847f8eSopenharmony_ci       * @atomicservice
295961847f8eSopenharmony_ci       * @since 11
296061847f8eSopenharmony_ci       */
296161847f8eSopenharmony_ci      overwrite?: boolean;
296261847f8eSopenharmony_ci      /**
296361847f8eSopenharmony_ci       * The HTTP standard method for upload or download: GET/POST/PUT.
296461847f8eSopenharmony_ci       * Case insensitive.
296561847f8eSopenharmony_ci       * For upload, use PUT/POST, the default is PUT.
296661847f8eSopenharmony_ci       * For download, use GET/POST, the default is GET.
296761847f8eSopenharmony_ci       *
296861847f8eSopenharmony_ci       * @type { ?string }
296961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
297061847f8eSopenharmony_ci       * @since 10
297161847f8eSopenharmony_ci       */
297261847f8eSopenharmony_ci      /**
297361847f8eSopenharmony_ci       * The HTTP standard method for upload or download: GET/POST/PUT.
297461847f8eSopenharmony_ci       * Case insensitive.
297561847f8eSopenharmony_ci       * For upload, use PUT/POST, the default is PUT.
297661847f8eSopenharmony_ci       * For download, use GET/POST, the default is GET.
297761847f8eSopenharmony_ci       *
297861847f8eSopenharmony_ci       * @type { ?string }
297961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
298061847f8eSopenharmony_ci       * @crossplatform
298161847f8eSopenharmony_ci       * @atomicservice
298261847f8eSopenharmony_ci       * @since 11
298361847f8eSopenharmony_ci       */
298461847f8eSopenharmony_ci      method?: string;
298561847f8eSopenharmony_ci      /**
298661847f8eSopenharmony_ci       * The HTTP headers.
298761847f8eSopenharmony_ci       * For upload request, the `Content-Type` is forced to `multipart/form-data`.
298861847f8eSopenharmony_ci       * For download request, the default `Content-Type` is `application/json`.
298961847f8eSopenharmony_ci       *
299061847f8eSopenharmony_ci       * @type { ?object }
299161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
299261847f8eSopenharmony_ci       * @since 10
299361847f8eSopenharmony_ci       */
299461847f8eSopenharmony_ci      /**
299561847f8eSopenharmony_ci       * The HTTP headers.
299661847f8eSopenharmony_ci       * For upload request, the `Content-Type` is forced to `multipart/form-data`.
299761847f8eSopenharmony_ci       * For download request, the default `Content-Type` is `application/json`.
299861847f8eSopenharmony_ci       *
299961847f8eSopenharmony_ci       * @type { ?object }
300061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
300161847f8eSopenharmony_ci       * @crossplatform
300261847f8eSopenharmony_ci       * @atomicservice
300361847f8eSopenharmony_ci       * @since 11
300461847f8eSopenharmony_ci       */
300561847f8eSopenharmony_ci      headers?: object;
300661847f8eSopenharmony_ci      /**
300761847f8eSopenharmony_ci       * The arguments, it can be any text, uses json usually.
300861847f8eSopenharmony_ci       * For download, it can be raw string, the default is empty string.
300961847f8eSopenharmony_ci       * For upload, it can be form items, the default is a empty form.
301061847f8eSopenharmony_ci       * there must be one `FileSpec` item at least or will be a parameter error.
301161847f8eSopenharmony_ci       *
301261847f8eSopenharmony_ci       * @type { ?(string | Array<FormItem>) }
301361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
301461847f8eSopenharmony_ci       * @since 10
301561847f8eSopenharmony_ci       */
301661847f8eSopenharmony_ci      /**
301761847f8eSopenharmony_ci       * The arguments, it can be any text, uses json usually.
301861847f8eSopenharmony_ci       * For download, it can be raw string, the default is empty string.
301961847f8eSopenharmony_ci       * For upload, it can be form items, the default is a empty form.
302061847f8eSopenharmony_ci       * there must be one `FileSpec` item at least or will be a parameter error.
302161847f8eSopenharmony_ci       *
302261847f8eSopenharmony_ci       * @type { ?(string | Array<FormItem>) }
302361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
302461847f8eSopenharmony_ci       * @crossplatform
302561847f8eSopenharmony_ci       * @atomicservice
302661847f8eSopenharmony_ci       * @since 11
302761847f8eSopenharmony_ci       */
302861847f8eSopenharmony_ci      data?: string | Array<FormItem>;
302961847f8eSopenharmony_ci      /**
303061847f8eSopenharmony_ci       * The path to save the downloaded file, the default is "./".
303161847f8eSopenharmony_ci       * Currently support:
303261847f8eSopenharmony_ci       * 1: relative path, like "./xxx/yyy/zzz.html", "xxx/yyy/zzz.html", under caller's cache folder.
303361847f8eSopenharmony_ci       * 2: uri path, like "datashare://bundle/xxx/yyy/zzz.html", the data provider must allow the caller's access.
303461847f8eSopenharmony_ci       *
303561847f8eSopenharmony_ci       * @type { ?string }
303661847f8eSopenharmony_ci       * @default ./
303761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
303861847f8eSopenharmony_ci       * @since 10
303961847f8eSopenharmony_ci       */
304061847f8eSopenharmony_ci      /**
304161847f8eSopenharmony_ci       * The path to save the downloaded file, the default is "./".
304261847f8eSopenharmony_ci       * Currently support:
304361847f8eSopenharmony_ci       * 1: relative path, like "./xxx/yyy/zzz.html", "xxx/yyy/zzz.html", under caller's cache folder.
304461847f8eSopenharmony_ci       * 2: uri path, like "datashare://bundle/xxx/yyy/zzz.html", the data provider must allow the caller's access.
304561847f8eSopenharmony_ci       *
304661847f8eSopenharmony_ci       * @type { ?string }
304761847f8eSopenharmony_ci       * @default ./
304861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
304961847f8eSopenharmony_ci       * @crossplatform
305061847f8eSopenharmony_ci       * @atomicservice
305161847f8eSopenharmony_ci       * @since 11
305261847f8eSopenharmony_ci       */
305361847f8eSopenharmony_ci      /**
305461847f8eSopenharmony_ci       * The path to save the downloaded file, the default is "./".
305561847f8eSopenharmony_ci       * Currently support:
305661847f8eSopenharmony_ci       * 1: relative path, like "./xxx/yyy/zzz.html", "xxx/yyy/zzz.html", under caller's cache folder.
305761847f8eSopenharmony_ci       * 2: internal protocol path, starting with "internal://", like "internal://cache/path/to/file.txt".
305861847f8eSopenharmony_ci       * 3: application storage path, only the base directory and its subdirectories are supported, like "/data/storage/el1/base/path/to/file.txt".
305961847f8eSopenharmony_ci       * 4: file protocol path with self bundle name, only the base directory and its subdirectories are supported, like "file://com.example.test/data/storage/el2/base/file.txt".
306061847f8eSopenharmony_ci       *
306161847f8eSopenharmony_ci       * @type { ?string }
306261847f8eSopenharmony_ci       * @default ./
306361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
306461847f8eSopenharmony_ci       * @crossplatform
306561847f8eSopenharmony_ci       * @atomicservice
306661847f8eSopenharmony_ci       * @since 12
306761847f8eSopenharmony_ci       */
306861847f8eSopenharmony_ci      saveas?: string;
306961847f8eSopenharmony_ci      /**
307061847f8eSopenharmony_ci       * The network.
307161847f8eSopenharmony_ci       *
307261847f8eSopenharmony_ci       * @type { ?Network }
307361847f8eSopenharmony_ci       * @default Network.ANY
307461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
307561847f8eSopenharmony_ci       * @since 10
307661847f8eSopenharmony_ci       */
307761847f8eSopenharmony_ci      /**
307861847f8eSopenharmony_ci       * The network.
307961847f8eSopenharmony_ci       *
308061847f8eSopenharmony_ci       * @type { ?Network }
308161847f8eSopenharmony_ci       * @default Network.ANY
308261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
308361847f8eSopenharmony_ci       * @crossplatform
308461847f8eSopenharmony_ci       * @atomicservice
308561847f8eSopenharmony_ci       * @since 11
308661847f8eSopenharmony_ci       */
308761847f8eSopenharmony_ci      network?: Network;
308861847f8eSopenharmony_ci      /**
308961847f8eSopenharmony_ci       * Allows work in metered network or not.
309061847f8eSopenharmony_ci       * The default is false.
309161847f8eSopenharmony_ci       *
309261847f8eSopenharmony_ci       * @type { ?boolean }
309361847f8eSopenharmony_ci       * @default false
309461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
309561847f8eSopenharmony_ci       * @since 10
309661847f8eSopenharmony_ci       */
309761847f8eSopenharmony_ci      /**
309861847f8eSopenharmony_ci       * Allows work in metered network or not.
309961847f8eSopenharmony_ci       * The default is false.
310061847f8eSopenharmony_ci       *
310161847f8eSopenharmony_ci       * @type { ?boolean }
310261847f8eSopenharmony_ci       * @default false
310361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
310461847f8eSopenharmony_ci       * @crossplatform
310561847f8eSopenharmony_ci       * @atomicservice
310661847f8eSopenharmony_ci       * @since 11
310761847f8eSopenharmony_ci       */
310861847f8eSopenharmony_ci      metered?: boolean;
310961847f8eSopenharmony_ci      /**
311061847f8eSopenharmony_ci       * Allows work in roaming network or not.
311161847f8eSopenharmony_ci       * The default is true.
311261847f8eSopenharmony_ci       *
311361847f8eSopenharmony_ci       * @type { ?boolean }
311461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
311561847f8eSopenharmony_ci       * @since 10
311661847f8eSopenharmony_ci       */
311761847f8eSopenharmony_ci      /**
311861847f8eSopenharmony_ci       * Allows work in roaming network or not.
311961847f8eSopenharmony_ci       * The default is true.
312061847f8eSopenharmony_ci       *
312161847f8eSopenharmony_ci       * @type { ?boolean }
312261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
312361847f8eSopenharmony_ci       * @crossplatform
312461847f8eSopenharmony_ci       * @atomicservice
312561847f8eSopenharmony_ci       * @since 11
312661847f8eSopenharmony_ci       */
312761847f8eSopenharmony_ci      roaming?: boolean;
312861847f8eSopenharmony_ci      /**
312961847f8eSopenharmony_ci       * Enable automatic retry or not for the background task.
313061847f8eSopenharmony_ci       * The frontend task is always fast-fail.
313161847f8eSopenharmony_ci       *
313261847f8eSopenharmony_ci       * @type { ?boolean }
313361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
313461847f8eSopenharmony_ci       * @since 10
313561847f8eSopenharmony_ci       */
313661847f8eSopenharmony_ci      /**
313761847f8eSopenharmony_ci       * Enable automatic retry or not for the background task.
313861847f8eSopenharmony_ci       * The frontend task is always fast-fail.
313961847f8eSopenharmony_ci       *
314061847f8eSopenharmony_ci       * @type { ?boolean }
314161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
314261847f8eSopenharmony_ci       * @atomicservice
314361847f8eSopenharmony_ci       * @since 11
314461847f8eSopenharmony_ci       */
314561847f8eSopenharmony_ci      retry?: boolean;
314661847f8eSopenharmony_ci      /**
314761847f8eSopenharmony_ci       * Allows redirect or not.
314861847f8eSopenharmony_ci       * The default is yes.
314961847f8eSopenharmony_ci       *
315061847f8eSopenharmony_ci       * @type { ?boolean }
315161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
315261847f8eSopenharmony_ci       * @since 10
315361847f8eSopenharmony_ci       */
315461847f8eSopenharmony_ci      /**
315561847f8eSopenharmony_ci       * Allows redirect or not.
315661847f8eSopenharmony_ci       * The default is true.
315761847f8eSopenharmony_ci       *
315861847f8eSopenharmony_ci       * @type { ?boolean }
315961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
316061847f8eSopenharmony_ci       * @crossplatform
316161847f8eSopenharmony_ci       * @atomicservice
316261847f8eSopenharmony_ci       * @since 11
316361847f8eSopenharmony_ci       */
316461847f8eSopenharmony_ci      redirect?: boolean;
316561847f8eSopenharmony_ci      /**
316661847f8eSopenharmony_ci       * The proxy url for the task.
316761847f8eSopenharmony_ci       * Only this format is supported: http://<domain or IP-address>:<port>
316861847f8eSopenharmony_ci       * Username and password are not supported.
316961847f8eSopenharmony_ci       *
317061847f8eSopenharmony_ci       * @type { ?string }
317161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
317261847f8eSopenharmony_ci       * @since 12
317361847f8eSopenharmony_ci       */
317461847f8eSopenharmony_ci      proxy?: string;
317561847f8eSopenharmony_ci      /**
317661847f8eSopenharmony_ci       * The index of paths for a task.
317761847f8eSopenharmony_ci       * Usually used for a continuous job.
317861847f8eSopenharmony_ci       * The default is 0.
317961847f8eSopenharmony_ci       *
318061847f8eSopenharmony_ci       * @type { ?number }
318161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
318261847f8eSopenharmony_ci       * @since 10
318361847f8eSopenharmony_ci       */
318461847f8eSopenharmony_ci      /**
318561847f8eSopenharmony_ci       * The index of paths for a task.
318661847f8eSopenharmony_ci       * Usually used for a continuous job.
318761847f8eSopenharmony_ci       * The default is 0.
318861847f8eSopenharmony_ci       *
318961847f8eSopenharmony_ci       * @type { ?number }
319061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
319161847f8eSopenharmony_ci       * @crossplatform
319261847f8eSopenharmony_ci       * @atomicservice
319361847f8eSopenharmony_ci       * @since 11
319461847f8eSopenharmony_ci       */
319561847f8eSopenharmony_ci      index?: number;
319661847f8eSopenharmony_ci      /**
319761847f8eSopenharmony_ci       * The start point of a file.
319861847f8eSopenharmony_ci       * Usually used for a continuous job.
319961847f8eSopenharmony_ci       * It will set the "Range" header in download.
320061847f8eSopenharmony_ci       * It will start read at the point in upload.
320161847f8eSopenharmony_ci       * The default is 0.
320261847f8eSopenharmony_ci       *
320361847f8eSopenharmony_ci       * @type { ?number }
320461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
320561847f8eSopenharmony_ci       * @since 10
320661847f8eSopenharmony_ci       */
320761847f8eSopenharmony_ci      /**
320861847f8eSopenharmony_ci       * The start point of a file.
320961847f8eSopenharmony_ci       * Usually used for a continuous job.
321061847f8eSopenharmony_ci       * It will set the "Range" header in download.
321161847f8eSopenharmony_ci       * It will start read at the point in upload.
321261847f8eSopenharmony_ci       * The default is 0.
321361847f8eSopenharmony_ci       *
321461847f8eSopenharmony_ci       * @type { ?number }
321561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
321661847f8eSopenharmony_ci       * @crossplatform
321761847f8eSopenharmony_ci       * @atomicservice
321861847f8eSopenharmony_ci       * @since 11
321961847f8eSopenharmony_ci       */
322061847f8eSopenharmony_ci      begins?: number;
322161847f8eSopenharmony_ci      /**
322261847f8eSopenharmony_ci       * The end point of a file.
322361847f8eSopenharmony_ci       * Usually used for a continuous job.
322461847f8eSopenharmony_ci       * It will set The "Range" header in download.
322561847f8eSopenharmony_ci       * It will end read at the point in upload.
322661847f8eSopenharmony_ci       * The default is -1 indicating the end of the data for upload or download.
322761847f8eSopenharmony_ci       *
322861847f8eSopenharmony_ci       * @type { ?number }
322961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
323061847f8eSopenharmony_ci       * @since 10
323161847f8eSopenharmony_ci       */
323261847f8eSopenharmony_ci      /**
323361847f8eSopenharmony_ci       * The end point of a file.
323461847f8eSopenharmony_ci       * Usually used for a continuous job.
323561847f8eSopenharmony_ci       * It will set The "Range" header in download.
323661847f8eSopenharmony_ci       * It will end read at the point in upload.
323761847f8eSopenharmony_ci       * The default is -1 indicating the end of the data for upload or download.
323861847f8eSopenharmony_ci       *
323961847f8eSopenharmony_ci       * @type { ?number }
324061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
324161847f8eSopenharmony_ci       * @crossplatform
324261847f8eSopenharmony_ci       * @atomicservice
324361847f8eSopenharmony_ci       * @since 11
324461847f8eSopenharmony_ci       */
324561847f8eSopenharmony_ci      ends?: number;
324661847f8eSopenharmony_ci      /**
324761847f8eSopenharmony_ci       * The policy of the progress notification for background task.
324861847f8eSopenharmony_ci       * If false: only completed or failed notification, the default.
324961847f8eSopenharmony_ci       * If true, emits every progress, completed or failed notifications.
325061847f8eSopenharmony_ci       *
325161847f8eSopenharmony_ci       * @type { ?boolean }
325261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
325361847f8eSopenharmony_ci       * @since 10
325461847f8eSopenharmony_ci       */
325561847f8eSopenharmony_ci      /**
325661847f8eSopenharmony_ci       * The policy of the progress notification for background task.
325761847f8eSopenharmony_ci       * If false: only completed or failed notification, the default.
325861847f8eSopenharmony_ci       * If true, emits every progress, completed or failed notifications.
325961847f8eSopenharmony_ci       *
326061847f8eSopenharmony_ci       * @type { ?boolean }
326161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
326261847f8eSopenharmony_ci       * @atomicservice
326361847f8eSopenharmony_ci       * @since 11
326461847f8eSopenharmony_ci       */
326561847f8eSopenharmony_ci      gauge?: boolean;
326661847f8eSopenharmony_ci      /**
326761847f8eSopenharmony_ci       * Breaks when fail to fetch filesize before upload/download or not.
326861847f8eSopenharmony_ci       * Uses filesize for a precise gauge.
326961847f8eSopenharmony_ci       * The default is not, set size as -1 indicating the case.
327061847f8eSopenharmony_ci       *
327161847f8eSopenharmony_ci       * @type { ?boolean }
327261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
327361847f8eSopenharmony_ci       * @since 10
327461847f8eSopenharmony_ci       */
327561847f8eSopenharmony_ci      /**
327661847f8eSopenharmony_ci       * Breaks when fail to fetch filesize before upload/download or not.
327761847f8eSopenharmony_ci       * Uses filesize for a precise gauge.
327861847f8eSopenharmony_ci       * The default is false, set size as -1 indicating the case.
327961847f8eSopenharmony_ci       *
328061847f8eSopenharmony_ci       * @type { ?boolean }
328161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
328261847f8eSopenharmony_ci       * @crossplatform
328361847f8eSopenharmony_ci       * @atomicservice
328461847f8eSopenharmony_ci       * @since 11
328561847f8eSopenharmony_ci       */
328661847f8eSopenharmony_ci      precise?: boolean;
328761847f8eSopenharmony_ci      /**
328861847f8eSopenharmony_ci       * For in-application layer isolation.
328961847f8eSopenharmony_ci       * If given:
329061847f8eSopenharmony_ci       *   the minimum is 8 bytes.
329161847f8eSopenharmony_ci       *   the maximum is 2048 bytes.
329261847f8eSopenharmony_ci       * Creates a task with token, then must provide it during normal query.
329361847f8eSopenharmony_ci       * So saves the token carefully, it can not be retrieved by query.
329461847f8eSopenharmony_ci       * Or leave it empty.
329561847f8eSopenharmony_ci       *
329661847f8eSopenharmony_ci       * @type { ?string }
329761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
329861847f8eSopenharmony_ci       * @since 10
329961847f8eSopenharmony_ci       */
330061847f8eSopenharmony_ci      /**
330161847f8eSopenharmony_ci       * For in-application layer isolation.
330261847f8eSopenharmony_ci       * If given:
330361847f8eSopenharmony_ci       *   the minimum is 8 bytes.
330461847f8eSopenharmony_ci       *   the maximum is 2048 bytes.
330561847f8eSopenharmony_ci       * Creates a task with token, then must provide it during normal query.
330661847f8eSopenharmony_ci       * So saves the token carefully, it can not be retrieved by query.
330761847f8eSopenharmony_ci       * Or leave it empty.
330861847f8eSopenharmony_ci       *
330961847f8eSopenharmony_ci       * @type { ?string }
331061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
331161847f8eSopenharmony_ci       * @crossplatform
331261847f8eSopenharmony_ci       * @atomicservice
331361847f8eSopenharmony_ci       * @since 11
331461847f8eSopenharmony_ci       */
331561847f8eSopenharmony_ci      token?: string;
331661847f8eSopenharmony_ci      /**
331761847f8eSopenharmony_ci       * The priority of this task.
331861847f8eSopenharmony_ci       * Front-end tasks have higher priority than back-end tasks.
331961847f8eSopenharmony_ci       * In tasks of the same mode, the smaller the number, the higher the priority.
332061847f8eSopenharmony_ci       * The default is 0.
332161847f8eSopenharmony_ci       *
332261847f8eSopenharmony_ci       * @type { ?number }
332361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
332461847f8eSopenharmony_ci       * @since 11
332561847f8eSopenharmony_ci       */
332661847f8eSopenharmony_ci      priority?: number;
332761847f8eSopenharmony_ci      /**
332861847f8eSopenharmony_ci       * The extras for the configuration.
332961847f8eSopenharmony_ci       *
333061847f8eSopenharmony_ci       * @type { ?object }
333161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
333261847f8eSopenharmony_ci       * @since 10
333361847f8eSopenharmony_ci       */
333461847f8eSopenharmony_ci      /**
333561847f8eSopenharmony_ci       * The extras for the configuration.
333661847f8eSopenharmony_ci       *
333761847f8eSopenharmony_ci       * @type { ?object }
333861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
333961847f8eSopenharmony_ci       * @crossplatform
334061847f8eSopenharmony_ci       * @atomicservice
334161847f8eSopenharmony_ci       * @since 11
334261847f8eSopenharmony_ci       */
334361847f8eSopenharmony_ci      extras?: object;
334461847f8eSopenharmony_ci    }
334561847f8eSopenharmony_ci
334661847f8eSopenharmony_ci    /**
334761847f8eSopenharmony_ci     * Indicate the current state of the task.
334861847f8eSopenharmony_ci     *
334961847f8eSopenharmony_ci     * @enum { number } State
335061847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
335161847f8eSopenharmony_ci     * @since 10
335261847f8eSopenharmony_ci     */
335361847f8eSopenharmony_ci    /**
335461847f8eSopenharmony_ci     * Indicate the current state of the task.
335561847f8eSopenharmony_ci     *
335661847f8eSopenharmony_ci     * @enum { number } State
335761847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
335861847f8eSopenharmony_ci     * @crossplatform
335961847f8eSopenharmony_ci     * @atomicservice
336061847f8eSopenharmony_ci     * @since 11
336161847f8eSopenharmony_ci     */
336261847f8eSopenharmony_ci    enum State {
336361847f8eSopenharmony_ci      /**
336461847f8eSopenharmony_ci       * Indicates a task created by `new Task(Config)`.
336561847f8eSopenharmony_ci       *
336661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
336761847f8eSopenharmony_ci       * @since 10
336861847f8eSopenharmony_ci       */
336961847f8eSopenharmony_ci      /**
337061847f8eSopenharmony_ci       * Indicates a task created by `new Task(Config)`.
337161847f8eSopenharmony_ci       *
337261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
337361847f8eSopenharmony_ci       * @crossplatform
337461847f8eSopenharmony_ci       * @atomicservice
337561847f8eSopenharmony_ci       * @since 11
337661847f8eSopenharmony_ci       */
337761847f8eSopenharmony_ci      INITIALIZED = 0x00,
337861847f8eSopenharmony_ci      /**
337961847f8eSopenharmony_ci       * Indicates a task lack of resources or conditions to run or retry.
338061847f8eSopenharmony_ci       *
338161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
338261847f8eSopenharmony_ci       * @since 10
338361847f8eSopenharmony_ci       */
338461847f8eSopenharmony_ci      /**
338561847f8eSopenharmony_ci       * Indicates a task lack of resources or conditions to run or retry.
338661847f8eSopenharmony_ci       *
338761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
338861847f8eSopenharmony_ci       * @crossplatform
338961847f8eSopenharmony_ci       * @atomicservice
339061847f8eSopenharmony_ci       * @since 11
339161847f8eSopenharmony_ci       */
339261847f8eSopenharmony_ci      WAITING = 0x10,
339361847f8eSopenharmony_ci      /**
339461847f8eSopenharmony_ci       * Indicates a task in processing now.
339561847f8eSopenharmony_ci       *
339661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
339761847f8eSopenharmony_ci       * @since 10
339861847f8eSopenharmony_ci       */
339961847f8eSopenharmony_ci      /**
340061847f8eSopenharmony_ci       * Indicates a task in processing now.
340161847f8eSopenharmony_ci       *
340261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
340361847f8eSopenharmony_ci       * @crossplatform
340461847f8eSopenharmony_ci       * @atomicservice
340561847f8eSopenharmony_ci       * @since 11
340661847f8eSopenharmony_ci       */
340761847f8eSopenharmony_ci      RUNNING = 0x20,
340861847f8eSopenharmony_ci      /**
340961847f8eSopenharmony_ci       * Indicates a task failed once at least and in processing again now.
341061847f8eSopenharmony_ci       *
341161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
341261847f8eSopenharmony_ci       * @since 10
341361847f8eSopenharmony_ci       */
341461847f8eSopenharmony_ci      /**
341561847f8eSopenharmony_ci       * Indicates a task failed once at least and in processing again now.
341661847f8eSopenharmony_ci       *
341761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
341861847f8eSopenharmony_ci       * @crossplatform
341961847f8eSopenharmony_ci       * @atomicservice
342061847f8eSopenharmony_ci       * @since 11
342161847f8eSopenharmony_ci       */
342261847f8eSopenharmony_ci      RETRYING = 0x21,
342361847f8eSopenharmony_ci      /**
342461847f8eSopenharmony_ci       * Indicates a paused task which tends to be resumed for continuous work.
342561847f8eSopenharmony_ci       *
342661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
342761847f8eSopenharmony_ci       * @since 10
342861847f8eSopenharmony_ci       */
342961847f8eSopenharmony_ci      /**
343061847f8eSopenharmony_ci       * Indicates a paused task which tends to be resumed for continuous work.
343161847f8eSopenharmony_ci       *
343261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
343361847f8eSopenharmony_ci       * @crossplatform
343461847f8eSopenharmony_ci       * @atomicservice
343561847f8eSopenharmony_ci       * @since 11
343661847f8eSopenharmony_ci       */
343761847f8eSopenharmony_ci      PAUSED = 0x30,
343861847f8eSopenharmony_ci      /**
343961847f8eSopenharmony_ci       * Indicates a stopped task which must be started again.
344061847f8eSopenharmony_ci       *
344161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
344261847f8eSopenharmony_ci       * @since 10
344361847f8eSopenharmony_ci       */
344461847f8eSopenharmony_ci      /**
344561847f8eSopenharmony_ci       * Indicates a stopped task which must be started again.
344661847f8eSopenharmony_ci       *
344761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
344861847f8eSopenharmony_ci       * @crossplatform
344961847f8eSopenharmony_ci       * @atomicservice
345061847f8eSopenharmony_ci       * @since 11
345161847f8eSopenharmony_ci       */
345261847f8eSopenharmony_ci      STOPPED = 0x31,
345361847f8eSopenharmony_ci      /**
345461847f8eSopenharmony_ci       * Indicates a completed task which finish its data transfer.
345561847f8eSopenharmony_ci       *
345661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
345761847f8eSopenharmony_ci       * @since 10
345861847f8eSopenharmony_ci       */
345961847f8eSopenharmony_ci      /**
346061847f8eSopenharmony_ci       * Indicates a completed task which finish its data transfer.
346161847f8eSopenharmony_ci       *
346261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
346361847f8eSopenharmony_ci       * @crossplatform
346461847f8eSopenharmony_ci       * @atomicservice
346561847f8eSopenharmony_ci       * @since 11
346661847f8eSopenharmony_ci       */
346761847f8eSopenharmony_ci      COMPLETED = 0x40,
346861847f8eSopenharmony_ci      /**
346961847f8eSopenharmony_ci       * Indicates a failed task which interrupted by some error.
347061847f8eSopenharmony_ci       *
347161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
347261847f8eSopenharmony_ci       * @since 10
347361847f8eSopenharmony_ci       */
347461847f8eSopenharmony_ci      /**
347561847f8eSopenharmony_ci       * Indicates a failed task which interrupted by some error.
347661847f8eSopenharmony_ci       *
347761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
347861847f8eSopenharmony_ci       * @crossplatform
347961847f8eSopenharmony_ci       * @atomicservice
348061847f8eSopenharmony_ci       * @since 11
348161847f8eSopenharmony_ci       */
348261847f8eSopenharmony_ci      FAILED = 0x41,
348361847f8eSopenharmony_ci      /**
348461847f8eSopenharmony_ci       * Indicates a removed task which can not be processed again.
348561847f8eSopenharmony_ci       *
348661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
348761847f8eSopenharmony_ci       * @since 10
348861847f8eSopenharmony_ci       */
348961847f8eSopenharmony_ci      /**
349061847f8eSopenharmony_ci       * Indicates a removed task which can not be processed again.
349161847f8eSopenharmony_ci       *
349261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
349361847f8eSopenharmony_ci       * @crossplatform
349461847f8eSopenharmony_ci       * @atomicservice
349561847f8eSopenharmony_ci       * @since 11
349661847f8eSopenharmony_ci       */
349761847f8eSopenharmony_ci      REMOVED = 0x50
349861847f8eSopenharmony_ci    }
349961847f8eSopenharmony_ci
350061847f8eSopenharmony_ci    /**
350161847f8eSopenharmony_ci     * The progress data structure.
350261847f8eSopenharmony_ci     * Upload allows multiple files per upload task.
350361847f8eSopenharmony_ci     * Only one file in a download task.
350461847f8eSopenharmony_ci     * So using a unified data structure for progress.
350561847f8eSopenharmony_ci     * Generally:
350661847f8eSopenharmony_ci     * 1: sum(sizes) is total files size of the task.
350761847f8eSopenharmony_ci     * 2: float(processed)/sizes[counter] is the progress for the current processing file.
350861847f8eSopenharmony_ci     * 3: float(sum(sizes[:index])+processed)/sum(sizes) is the summary progress for a task.
350961847f8eSopenharmony_ci     * If fetch file size in failure, the size of the file in sizes will be set as -1.
351061847f8eSopenharmony_ci     *
351161847f8eSopenharmony_ci     * @typedef Progress
351261847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
351361847f8eSopenharmony_ci     * @since 10
351461847f8eSopenharmony_ci     */
351561847f8eSopenharmony_ci    /**
351661847f8eSopenharmony_ci     * The progress data structure.
351761847f8eSopenharmony_ci     * Upload allows multiple files per upload task.
351861847f8eSopenharmony_ci     * Only one file in a download task.
351961847f8eSopenharmony_ci     * So using a unified data structure for progress.
352061847f8eSopenharmony_ci     * Generally:
352161847f8eSopenharmony_ci     * 1: sum(sizes) is total files size of the task.
352261847f8eSopenharmony_ci     * 2: float(processed)/sizes[counter] is the progress for the current processing file.
352361847f8eSopenharmony_ci     * 3: float(sum(sizes[:index])+processed)/sum(sizes) is the summary progress for a task.
352461847f8eSopenharmony_ci     * If fetch file size in failure, the size of the file in sizes will be set as -1.
352561847f8eSopenharmony_ci     *
352661847f8eSopenharmony_ci     * @typedef Progress
352761847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
352861847f8eSopenharmony_ci     * @crossplatform
352961847f8eSopenharmony_ci     * @atomicservice
353061847f8eSopenharmony_ci     * @since 11
353161847f8eSopenharmony_ci     */
353261847f8eSopenharmony_ci    interface Progress {
353361847f8eSopenharmony_ci      /**
353461847f8eSopenharmony_ci       * The current state of the task.
353561847f8eSopenharmony_ci       *
353661847f8eSopenharmony_ci       * @type { State }
353761847f8eSopenharmony_ci       * @readonly
353861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
353961847f8eSopenharmony_ci       * @since 10
354061847f8eSopenharmony_ci       */
354161847f8eSopenharmony_ci      /**
354261847f8eSopenharmony_ci       * The current state of the task.
354361847f8eSopenharmony_ci       *
354461847f8eSopenharmony_ci       * @type { State }
354561847f8eSopenharmony_ci       * @readonly
354661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
354761847f8eSopenharmony_ci       * @crossplatform
354861847f8eSopenharmony_ci       * @atomicservice
354961847f8eSopenharmony_ci       * @since 11
355061847f8eSopenharmony_ci       */
355161847f8eSopenharmony_ci      readonly state: State;
355261847f8eSopenharmony_ci      /**
355361847f8eSopenharmony_ci       * The current processing file index in a task.
355461847f8eSopenharmony_ci       *
355561847f8eSopenharmony_ci       * @type { number }
355661847f8eSopenharmony_ci       * @readonly
355761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
355861847f8eSopenharmony_ci       * @since 10
355961847f8eSopenharmony_ci       */
356061847f8eSopenharmony_ci      /**
356161847f8eSopenharmony_ci       * The current processing file index in a task.
356261847f8eSopenharmony_ci       *
356361847f8eSopenharmony_ci       * @type { number }
356461847f8eSopenharmony_ci       * @readonly
356561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
356661847f8eSopenharmony_ci       * @crossplatform
356761847f8eSopenharmony_ci       * @atomicservice
356861847f8eSopenharmony_ci       * @since 11
356961847f8eSopenharmony_ci       */
357061847f8eSopenharmony_ci      readonly index: number;
357161847f8eSopenharmony_ci      /**
357261847f8eSopenharmony_ci       * The processed data size for the current file in a task.
357361847f8eSopenharmony_ci       *
357461847f8eSopenharmony_ci       * @type { number }
357561847f8eSopenharmony_ci       * @readonly
357661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
357761847f8eSopenharmony_ci       * @since 10
357861847f8eSopenharmony_ci       */
357961847f8eSopenharmony_ci      /**
358061847f8eSopenharmony_ci       * The processed data size for the current file in a task.
358161847f8eSopenharmony_ci       *
358261847f8eSopenharmony_ci       * @type { number }
358361847f8eSopenharmony_ci       * @readonly
358461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
358561847f8eSopenharmony_ci       * @crossplatform
358661847f8eSopenharmony_ci       * @atomicservice
358761847f8eSopenharmony_ci       * @since 11
358861847f8eSopenharmony_ci       */
358961847f8eSopenharmony_ci      readonly processed: number;
359061847f8eSopenharmony_ci      /**
359161847f8eSopenharmony_ci       * The sizes of files in a task.
359261847f8eSopenharmony_ci       *
359361847f8eSopenharmony_ci       * @type { Array<number> }
359461847f8eSopenharmony_ci       * @readonly
359561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
359661847f8eSopenharmony_ci       * @since 10
359761847f8eSopenharmony_ci       */
359861847f8eSopenharmony_ci      /**
359961847f8eSopenharmony_ci       * The sizes of files in a task.
360061847f8eSopenharmony_ci       *
360161847f8eSopenharmony_ci       * @type { Array<number> }
360261847f8eSopenharmony_ci       * @readonly
360361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
360461847f8eSopenharmony_ci       * @crossplatform
360561847f8eSopenharmony_ci       * @atomicservice
360661847f8eSopenharmony_ci       * @since 11
360761847f8eSopenharmony_ci       */
360861847f8eSopenharmony_ci      readonly sizes: Array<number>;
360961847f8eSopenharmony_ci      /**
361061847f8eSopenharmony_ci       * The extras for an interaction.
361161847f8eSopenharmony_ci       * Such as headers and body of response from server.
361261847f8eSopenharmony_ci       * But when the Content-Disposition header responded, the body will be into the uri of its attachment only, the body here is empty.
361361847f8eSopenharmony_ci       * {"headers": {"key": v}, "body": "contents"}.
361461847f8eSopenharmony_ci       *
361561847f8eSopenharmony_ci       * @type { ?object }
361661847f8eSopenharmony_ci       * @readonly
361761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
361861847f8eSopenharmony_ci       * @since 10
361961847f8eSopenharmony_ci       */
362061847f8eSopenharmony_ci      /**
362161847f8eSopenharmony_ci       * The extras for an interaction.
362261847f8eSopenharmony_ci       * Such as headers and body of response from server.
362361847f8eSopenharmony_ci       * But when the Content-Disposition header responded, the body will be into the uri of its attachment only, the body here is empty.
362461847f8eSopenharmony_ci       * {"headers": {"key": v}, "body": "contents"}.
362561847f8eSopenharmony_ci       * The "body" field is not supported in cross-platform scenarios.
362661847f8eSopenharmony_ci       *
362761847f8eSopenharmony_ci       * @type { ?object }
362861847f8eSopenharmony_ci       * @readonly
362961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
363061847f8eSopenharmony_ci       * @crossplatform
363161847f8eSopenharmony_ci       * @atomicservice
363261847f8eSopenharmony_ci       * @since 11
363361847f8eSopenharmony_ci       */
363461847f8eSopenharmony_ci      readonly extras?: object;
363561847f8eSopenharmony_ci    }
363661847f8eSopenharmony_ci
363761847f8eSopenharmony_ci    /**
363861847f8eSopenharmony_ci     * Indicates the reason for the failure.
363961847f8eSopenharmony_ci     *
364061847f8eSopenharmony_ci     * @enum { number }
364161847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
364261847f8eSopenharmony_ci     * @since 10
364361847f8eSopenharmony_ci     */
364461847f8eSopenharmony_ci    /**
364561847f8eSopenharmony_ci     * Indicates the reason for the failure.
364661847f8eSopenharmony_ci     *
364761847f8eSopenharmony_ci     * @enum { number }
364861847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
364961847f8eSopenharmony_ci     * @crossplatform
365061847f8eSopenharmony_ci     * @atomicservice
365161847f8eSopenharmony_ci     * @since 11
365261847f8eSopenharmony_ci     */
365361847f8eSopenharmony_ci    enum Faults {
365461847f8eSopenharmony_ci      /**
365561847f8eSopenharmony_ci       * Indicates others failure.
365661847f8eSopenharmony_ci       *
365761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
365861847f8eSopenharmony_ci       * @since 10
365961847f8eSopenharmony_ci       */
366061847f8eSopenharmony_ci      /**
366161847f8eSopenharmony_ci       * Indicates others failure.
366261847f8eSopenharmony_ci       *
366361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
366461847f8eSopenharmony_ci       * @crossplatform
366561847f8eSopenharmony_ci       * @atomicservice
366661847f8eSopenharmony_ci       * @since 11
366761847f8eSopenharmony_ci       */
366861847f8eSopenharmony_ci      OTHERS = 0xFF,
366961847f8eSopenharmony_ci      /**
367061847f8eSopenharmony_ci       * Indicates network disconnection.
367161847f8eSopenharmony_ci       *
367261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
367361847f8eSopenharmony_ci       * @since 10
367461847f8eSopenharmony_ci       */
367561847f8eSopenharmony_ci      /**
367661847f8eSopenharmony_ci       * Indicates network disconnection.
367761847f8eSopenharmony_ci       *
367861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
367961847f8eSopenharmony_ci       * @crossplatform
368061847f8eSopenharmony_ci       * @atomicservice
368161847f8eSopenharmony_ci       * @since 11
368261847f8eSopenharmony_ci       */
368361847f8eSopenharmony_ci      DISCONNECTED = 0x00,
368461847f8eSopenharmony_ci      /**
368561847f8eSopenharmony_ci       * Indicates task timeout.
368661847f8eSopenharmony_ci       *
368761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
368861847f8eSopenharmony_ci       * @since 10
368961847f8eSopenharmony_ci       */
369061847f8eSopenharmony_ci      /**
369161847f8eSopenharmony_ci       * Indicates task timeout.
369261847f8eSopenharmony_ci       *
369361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
369461847f8eSopenharmony_ci       * @crossplatform
369561847f8eSopenharmony_ci       * @atomicservice
369661847f8eSopenharmony_ci       * @since 11
369761847f8eSopenharmony_ci       */
369861847f8eSopenharmony_ci      TIMEOUT = 0x10,
369961847f8eSopenharmony_ci      /**
370061847f8eSopenharmony_ci       * Indicates protocol error, such as 5xx response from server.
370161847f8eSopenharmony_ci       *
370261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
370361847f8eSopenharmony_ci       * @since 10
370461847f8eSopenharmony_ci       */
370561847f8eSopenharmony_ci      /**
370661847f8eSopenharmony_ci       * Indicates protocol error, such as 5xx response from server.
370761847f8eSopenharmony_ci       *
370861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
370961847f8eSopenharmony_ci       * @crossplatform
371061847f8eSopenharmony_ci       * @atomicservice
371161847f8eSopenharmony_ci       * @since 11
371261847f8eSopenharmony_ci       */
371361847f8eSopenharmony_ci      PROTOCOL = 0x20,
371461847f8eSopenharmony_ci      /**
371561847f8eSopenharmony_ci       * Indicates parameter error, such as url format error.
371661847f8eSopenharmony_ci       *
371761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
371861847f8eSopenharmony_ci       * @crossplatform
371961847f8eSopenharmony_ci       * @atomicservice
372061847f8eSopenharmony_ci       * @since 12
372161847f8eSopenharmony_ci       */
372261847f8eSopenharmony_ci      PARAM = 0x30,
372361847f8eSopenharmony_ci      /**
372461847f8eSopenharmony_ci       * Indicates filesystem io error, such as open/seek/read/write/close.
372561847f8eSopenharmony_ci       *
372661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
372761847f8eSopenharmony_ci       * @since 10
372861847f8eSopenharmony_ci       */
372961847f8eSopenharmony_ci      /**
373061847f8eSopenharmony_ci       * Indicates filesystem io error, such as open/seek/read/write/close.
373161847f8eSopenharmony_ci       *
373261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
373361847f8eSopenharmony_ci       * @crossplatform
373461847f8eSopenharmony_ci       * @atomicservice
373561847f8eSopenharmony_ci       * @since 11
373661847f8eSopenharmony_ci       */
373761847f8eSopenharmony_ci      FSIO = 0x40,
373861847f8eSopenharmony_ci      /**
373961847f8eSopenharmony_ci       * Indicates DNS resolution error.
374061847f8eSopenharmony_ci       *
374161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
374261847f8eSopenharmony_ci       * @crossplatform
374361847f8eSopenharmony_ci       * @atomicservice
374461847f8eSopenharmony_ci       * @since 12
374561847f8eSopenharmony_ci       */
374661847f8eSopenharmony_ci      DNS = 0x50,
374761847f8eSopenharmony_ci      /**
374861847f8eSopenharmony_ci       * Indicates TCP connection error.
374961847f8eSopenharmony_ci       *
375061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
375161847f8eSopenharmony_ci       * @crossplatform
375261847f8eSopenharmony_ci       * @atomicservice
375361847f8eSopenharmony_ci       * @since 12
375461847f8eSopenharmony_ci       */
375561847f8eSopenharmony_ci      TCP = 0x60,
375661847f8eSopenharmony_ci      /**
375761847f8eSopenharmony_ci       * Indicates SSL connection error, such as a certificate error or certificate verification failure.
375861847f8eSopenharmony_ci       *
375961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
376061847f8eSopenharmony_ci       * @crossplatform
376161847f8eSopenharmony_ci       * @atomicservice
376261847f8eSopenharmony_ci       * @since 12
376361847f8eSopenharmony_ci       */
376461847f8eSopenharmony_ci      SSL = 0x70,
376561847f8eSopenharmony_ci      /**
376661847f8eSopenharmony_ci       * Indicates redirect error.
376761847f8eSopenharmony_ci       *
376861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
376961847f8eSopenharmony_ci       * @crossplatform
377061847f8eSopenharmony_ci       * @atomicservice
377161847f8eSopenharmony_ci       * @since 12
377261847f8eSopenharmony_ci       */
377361847f8eSopenharmony_ci      REDIRECT = 0x80
377461847f8eSopenharmony_ci    }
377561847f8eSopenharmony_ci
377661847f8eSopenharmony_ci    /**
377761847f8eSopenharmony_ci     * The filter data structure.
377861847f8eSopenharmony_ci     * Used for search, given fields works as **LOGICAL AND**.
377961847f8eSopenharmony_ci     * Invalid value may cause a parameter error.
378061847f8eSopenharmony_ci     *
378161847f8eSopenharmony_ci     * @typedef Filter
378261847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
378361847f8eSopenharmony_ci     * @since 10
378461847f8eSopenharmony_ci     */
378561847f8eSopenharmony_ci    /**
378661847f8eSopenharmony_ci     * The filter data structure.
378761847f8eSopenharmony_ci     * Used for search, given fields works as **LOGICAL AND**.
378861847f8eSopenharmony_ci     * Invalid value may cause a parameter error.
378961847f8eSopenharmony_ci     *
379061847f8eSopenharmony_ci     * @typedef Filter
379161847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
379261847f8eSopenharmony_ci     * @crossplatform
379361847f8eSopenharmony_ci     * @since 11
379461847f8eSopenharmony_ci     */
379561847f8eSopenharmony_ci    interface Filter {
379661847f8eSopenharmony_ci      /**
379761847f8eSopenharmony_ci       * Specify the package name of an application.
379861847f8eSopenharmony_ci       * Only for advanced search, common search will be fixed to the caller.
379961847f8eSopenharmony_ci       * A "*" means any bundle.
380061847f8eSopenharmony_ci       *
380161847f8eSopenharmony_ci       * @type { ?string }
380261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
380361847f8eSopenharmony_ci       * @systemapi Hide this for inner system use.
380461847f8eSopenharmony_ci       * @since 10
380561847f8eSopenharmony_ci       */
380661847f8eSopenharmony_ci      bundle?: string;
380761847f8eSopenharmony_ci      /**
380861847f8eSopenharmony_ci       * Specify the end Unix timestamp.
380961847f8eSopenharmony_ci       * The default is the moment of calling.
381061847f8eSopenharmony_ci       *
381161847f8eSopenharmony_ci       * @type { ?number }
381261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
381361847f8eSopenharmony_ci       * @since 10
381461847f8eSopenharmony_ci       */
381561847f8eSopenharmony_ci      /**
381661847f8eSopenharmony_ci       * Specify the end Unix timestamp.
381761847f8eSopenharmony_ci       * The default is the moment of calling.
381861847f8eSopenharmony_ci       *
381961847f8eSopenharmony_ci       * @type { ?number }
382061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
382161847f8eSopenharmony_ci       * @crossplatform
382261847f8eSopenharmony_ci       * @since 11
382361847f8eSopenharmony_ci       */
382461847f8eSopenharmony_ci      before?: number;
382561847f8eSopenharmony_ci      /**
382661847f8eSopenharmony_ci       * Specify the start Unix timestamp.
382761847f8eSopenharmony_ci       * The default is "`before` - 24 hours".
382861847f8eSopenharmony_ci       *
382961847f8eSopenharmony_ci       * @type { ?number }
383061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
383161847f8eSopenharmony_ci       * @since 10
383261847f8eSopenharmony_ci       */
383361847f8eSopenharmony_ci      /**
383461847f8eSopenharmony_ci       * Specify the start Unix timestamp.
383561847f8eSopenharmony_ci       * The default is "`before` - 24 hours".
383661847f8eSopenharmony_ci       *
383761847f8eSopenharmony_ci       * @type { ?number }
383861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
383961847f8eSopenharmony_ci       * @crossplatform
384061847f8eSopenharmony_ci       * @since 11
384161847f8eSopenharmony_ci       */
384261847f8eSopenharmony_ci      after?: number;
384361847f8eSopenharmony_ci      /**
384461847f8eSopenharmony_ci       * Specify the state of tasks.
384561847f8eSopenharmony_ci       * The default is any state.
384661847f8eSopenharmony_ci       *
384761847f8eSopenharmony_ci       * @type { ?State }
384861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
384961847f8eSopenharmony_ci       * @since 10
385061847f8eSopenharmony_ci       */
385161847f8eSopenharmony_ci      /**
385261847f8eSopenharmony_ci       * Specify the state of tasks.
385361847f8eSopenharmony_ci       * The default is any state.
385461847f8eSopenharmony_ci       *
385561847f8eSopenharmony_ci       * @type { ?State }
385661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
385761847f8eSopenharmony_ci       * @crossplatform
385861847f8eSopenharmony_ci       * @since 11
385961847f8eSopenharmony_ci       */
386061847f8eSopenharmony_ci      state?: State;
386161847f8eSopenharmony_ci      /**
386261847f8eSopenharmony_ci       * Specify the action of tasks, "upload" or "download", case insensitive.
386361847f8eSopenharmony_ci       * The default is upload and download.
386461847f8eSopenharmony_ci       *
386561847f8eSopenharmony_ci       * @type { ?Action }
386661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
386761847f8eSopenharmony_ci       * @since 10
386861847f8eSopenharmony_ci       */
386961847f8eSopenharmony_ci      /**
387061847f8eSopenharmony_ci       * Specify the action of tasks, "upload" or "download", case insensitive.
387161847f8eSopenharmony_ci       * The default is upload and download.
387261847f8eSopenharmony_ci       *
387361847f8eSopenharmony_ci       * @type { ?Action }
387461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
387561847f8eSopenharmony_ci       * @crossplatform
387661847f8eSopenharmony_ci       * @since 11
387761847f8eSopenharmony_ci       */
387861847f8eSopenharmony_ci      action?: Action;
387961847f8eSopenharmony_ci      /**
388061847f8eSopenharmony_ci       * Specify task's mode.
388161847f8eSopenharmony_ci       * The default is frontend and background.
388261847f8eSopenharmony_ci       *
388361847f8eSopenharmony_ci       * @type { ?Mode }
388461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
388561847f8eSopenharmony_ci       * @since 10
388661847f8eSopenharmony_ci       */
388761847f8eSopenharmony_ci      /**
388861847f8eSopenharmony_ci       * Specify task's mode.
388961847f8eSopenharmony_ci       * The default is FOREGROUND and BACKGROUND.
389061847f8eSopenharmony_ci       *
389161847f8eSopenharmony_ci       * @type { ?Mode }
389261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
389361847f8eSopenharmony_ci       * @crossplatform
389461847f8eSopenharmony_ci       * @since 11
389561847f8eSopenharmony_ci       */
389661847f8eSopenharmony_ci      mode?: Mode;
389761847f8eSopenharmony_ci    }
389861847f8eSopenharmony_ci
389961847f8eSopenharmony_ci    /**
390061847f8eSopenharmony_ci     * The task information data structure for query results.
390161847f8eSopenharmony_ci     * Provides common query and advanced query, visible range of fields is different.
390261847f8eSopenharmony_ci     *
390361847f8eSopenharmony_ci     * @typedef TaskInfo
390461847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
390561847f8eSopenharmony_ci     * @since 10
390661847f8eSopenharmony_ci     */
390761847f8eSopenharmony_ci    /**
390861847f8eSopenharmony_ci     * The task information data structure for query results.
390961847f8eSopenharmony_ci     * Provides common query and advanced query, visible range of fields is different.
391061847f8eSopenharmony_ci     *
391161847f8eSopenharmony_ci     * @typedef TaskInfo
391261847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
391361847f8eSopenharmony_ci     * @crossplatform
391461847f8eSopenharmony_ci     * @since 11
391561847f8eSopenharmony_ci     */
391661847f8eSopenharmony_ci    interface TaskInfo {
391761847f8eSopenharmony_ci      /**
391861847f8eSopenharmony_ci       * The UID of an application.
391961847f8eSopenharmony_ci       * For system query only.
392061847f8eSopenharmony_ci       *
392161847f8eSopenharmony_ci       * @type { ?string }
392261847f8eSopenharmony_ci       * @readonly
392361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
392461847f8eSopenharmony_ci       * @systemapi Hide this for inner system use.
392561847f8eSopenharmony_ci       * @since 10
392661847f8eSopenharmony_ci       */
392761847f8eSopenharmony_ci      readonly uid?: string;
392861847f8eSopenharmony_ci      /**
392961847f8eSopenharmony_ci       * The bundle name.
393061847f8eSopenharmony_ci       * For system query only.
393161847f8eSopenharmony_ci       *
393261847f8eSopenharmony_ci       * @type { ?string }
393361847f8eSopenharmony_ci       * @readonly
393461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
393561847f8eSopenharmony_ci       * @systemapi Hide this for inner system use.
393661847f8eSopenharmony_ci       * @since 10
393761847f8eSopenharmony_ci       */
393861847f8eSopenharmony_ci      readonly bundle?: string;
393961847f8eSopenharmony_ci      /**
394061847f8eSopenharmony_ci       * The path to save the downloaded file.
394161847f8eSopenharmony_ci       *
394261847f8eSopenharmony_ci       * @type { ?string }
394361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
394461847f8eSopenharmony_ci       * @since 10
394561847f8eSopenharmony_ci       */
394661847f8eSopenharmony_ci      /**
394761847f8eSopenharmony_ci       * The path to save the downloaded file.
394861847f8eSopenharmony_ci       *
394961847f8eSopenharmony_ci       * @type { ?string }
395061847f8eSopenharmony_ci       * @readonly
395161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
395261847f8eSopenharmony_ci       * @crossplatform
395361847f8eSopenharmony_ci       * @since 11
395461847f8eSopenharmony_ci       */
395561847f8eSopenharmony_ci      readonly saveas?: string;
395661847f8eSopenharmony_ci      /**
395761847f8eSopenharmony_ci       * The url of a task.
395861847f8eSopenharmony_ci       * For `${ show }` and `${ touch }`.
395961847f8eSopenharmony_ci       * It is empty string in `${ query }`.
396061847f8eSopenharmony_ci       *
396161847f8eSopenharmony_ci       * @type { ?string }
396261847f8eSopenharmony_ci       * @readonly
396361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
396461847f8eSopenharmony_ci       * @since 10
396561847f8eSopenharmony_ci       */
396661847f8eSopenharmony_ci      /**
396761847f8eSopenharmony_ci       * The url of a task.
396861847f8eSopenharmony_ci       * For `${ show }` and `${ touch }`.
396961847f8eSopenharmony_ci       *
397061847f8eSopenharmony_ci       * @type { ?string }
397161847f8eSopenharmony_ci       * @readonly
397261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
397361847f8eSopenharmony_ci       * @crossplatform
397461847f8eSopenharmony_ci       * @since 11
397561847f8eSopenharmony_ci       */
397661847f8eSopenharmony_ci      readonly url?: string;
397761847f8eSopenharmony_ci      /**
397861847f8eSopenharmony_ci       * The arguments.
397961847f8eSopenharmony_ci       * For `${ show }` and `${ touch }`.
398061847f8eSopenharmony_ci       * It is empty string in `${ query }`.
398161847f8eSopenharmony_ci       *
398261847f8eSopenharmony_ci       * @type { ?(string | Array<FormItem>) }
398361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
398461847f8eSopenharmony_ci       * @since 10
398561847f8eSopenharmony_ci       */
398661847f8eSopenharmony_ci      /**
398761847f8eSopenharmony_ci       * The arguments.
398861847f8eSopenharmony_ci       * For `${ show }` and `${ touch }`.
398961847f8eSopenharmony_ci       *
399061847f8eSopenharmony_ci       * @type { ?(string | Array<FormItem>) }
399161847f8eSopenharmony_ci       * @readonly
399261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
399361847f8eSopenharmony_ci       * @crossplatform
399461847f8eSopenharmony_ci       * @since 11
399561847f8eSopenharmony_ci       */
399661847f8eSopenharmony_ci      readonly data?: string | Array<FormItem>;
399761847f8eSopenharmony_ci      /**
399861847f8eSopenharmony_ci       * The task id.
399961847f8eSopenharmony_ci       *
400061847f8eSopenharmony_ci       * @type { string }
400161847f8eSopenharmony_ci       * @readonly
400261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
400361847f8eSopenharmony_ci       * @since 10
400461847f8eSopenharmony_ci       */
400561847f8eSopenharmony_ci      /**
400661847f8eSopenharmony_ci       * The task id.
400761847f8eSopenharmony_ci       *
400861847f8eSopenharmony_ci       * @type { string }
400961847f8eSopenharmony_ci       * @readonly
401061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
401161847f8eSopenharmony_ci       * @crossplatform
401261847f8eSopenharmony_ci       * @since 11
401361847f8eSopenharmony_ci       */
401461847f8eSopenharmony_ci      readonly tid: string;
401561847f8eSopenharmony_ci      /**
401661847f8eSopenharmony_ci       * The task title.
401761847f8eSopenharmony_ci       *
401861847f8eSopenharmony_ci       * @type { string }
401961847f8eSopenharmony_ci       * @readonly
402061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
402161847f8eSopenharmony_ci       * @since 10
402261847f8eSopenharmony_ci       */
402361847f8eSopenharmony_ci      /**
402461847f8eSopenharmony_ci       * The task title.
402561847f8eSopenharmony_ci       *
402661847f8eSopenharmony_ci       * @type { string }
402761847f8eSopenharmony_ci       * @readonly
402861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
402961847f8eSopenharmony_ci       * @crossplatform
403061847f8eSopenharmony_ci       * @since 11
403161847f8eSopenharmony_ci       */
403261847f8eSopenharmony_ci      readonly title: string;
403361847f8eSopenharmony_ci      /**
403461847f8eSopenharmony_ci       * The task details.
403561847f8eSopenharmony_ci       *
403661847f8eSopenharmony_ci       * @type { string }
403761847f8eSopenharmony_ci       * @readonly
403861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
403961847f8eSopenharmony_ci       * @since 10
404061847f8eSopenharmony_ci       */
404161847f8eSopenharmony_ci      /**
404261847f8eSopenharmony_ci       * The task details.
404361847f8eSopenharmony_ci       *
404461847f8eSopenharmony_ci       * @type { string }
404561847f8eSopenharmony_ci       * @readonly
404661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
404761847f8eSopenharmony_ci       * @crossplatform
404861847f8eSopenharmony_ci       * @since 11
404961847f8eSopenharmony_ci       */
405061847f8eSopenharmony_ci      readonly description: string;
405161847f8eSopenharmony_ci      /**
405261847f8eSopenharmony_ci       * The task action.
405361847f8eSopenharmony_ci       *
405461847f8eSopenharmony_ci       * @type { Action }
405561847f8eSopenharmony_ci       * @readonly
405661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
405761847f8eSopenharmony_ci       * @since 10
405861847f8eSopenharmony_ci       */
405961847f8eSopenharmony_ci      /**
406061847f8eSopenharmony_ci       * The task action.
406161847f8eSopenharmony_ci       *
406261847f8eSopenharmony_ci       * @type { Action }
406361847f8eSopenharmony_ci       * @readonly
406461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
406561847f8eSopenharmony_ci       * @crossplatform
406661847f8eSopenharmony_ci       * @since 11
406761847f8eSopenharmony_ci       */
406861847f8eSopenharmony_ci      readonly action: Action;
406961847f8eSopenharmony_ci      /**
407061847f8eSopenharmony_ci       * Specify task mode.
407161847f8eSopenharmony_ci       * The default is frontend and background.
407261847f8eSopenharmony_ci       *
407361847f8eSopenharmony_ci       * @type { Mode }
407461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
407561847f8eSopenharmony_ci       * @since 10
407661847f8eSopenharmony_ci       */
407761847f8eSopenharmony_ci      /**
407861847f8eSopenharmony_ci       * Specify task mode.
407961847f8eSopenharmony_ci       * The default is frontend.
408061847f8eSopenharmony_ci       *
408161847f8eSopenharmony_ci       * @type { Mode }
408261847f8eSopenharmony_ci       * @readonly
408361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
408461847f8eSopenharmony_ci       * @crossplatform
408561847f8eSopenharmony_ci       * @since 11
408661847f8eSopenharmony_ci       */
408761847f8eSopenharmony_ci      readonly mode: Mode;
408861847f8eSopenharmony_ci      /**
408961847f8eSopenharmony_ci       * The priority of this task.
409061847f8eSopenharmony_ci       * Front-end tasks have higher priority than back-end tasks.
409161847f8eSopenharmony_ci       * In tasks of the same mode, the smaller the number, the higher the priority.
409261847f8eSopenharmony_ci       * The default is 0.
409361847f8eSopenharmony_ci       *
409461847f8eSopenharmony_ci       * @type { number }
409561847f8eSopenharmony_ci       * @readonly
409661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
409761847f8eSopenharmony_ci       * @since 11
409861847f8eSopenharmony_ci       */
409961847f8eSopenharmony_ci      readonly priority: number;
410061847f8eSopenharmony_ci      /**
410161847f8eSopenharmony_ci       * The MIME type in the configuration of the task.
410261847f8eSopenharmony_ci       *
410361847f8eSopenharmony_ci       * @type { string }
410461847f8eSopenharmony_ci       * @readonly
410561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
410661847f8eSopenharmony_ci       * @since 10
410761847f8eSopenharmony_ci       */
410861847f8eSopenharmony_ci      /**
410961847f8eSopenharmony_ci       * The MIME type in the configuration of the task.
411061847f8eSopenharmony_ci       *
411161847f8eSopenharmony_ci       * @type { string }
411261847f8eSopenharmony_ci       * @readonly
411361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
411461847f8eSopenharmony_ci       * @crossplatform
411561847f8eSopenharmony_ci       * @since 11
411661847f8eSopenharmony_ci       */
411761847f8eSopenharmony_ci      readonly mimeType: string;
411861847f8eSopenharmony_ci      /**
411961847f8eSopenharmony_ci       * An instance of `Progress` for a task.
412061847f8eSopenharmony_ci       *
412161847f8eSopenharmony_ci       * @type { Progress }
412261847f8eSopenharmony_ci       * @readonly
412361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
412461847f8eSopenharmony_ci       * @since 10
412561847f8eSopenharmony_ci       */
412661847f8eSopenharmony_ci      /**
412761847f8eSopenharmony_ci       * An instance of `Progress` for a task.
412861847f8eSopenharmony_ci       *
412961847f8eSopenharmony_ci       * @type { Progress }
413061847f8eSopenharmony_ci       * @readonly
413161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
413261847f8eSopenharmony_ci       * @crossplatform
413361847f8eSopenharmony_ci       * @since 11
413461847f8eSopenharmony_ci       */
413561847f8eSopenharmony_ci      readonly progress: Progress;
413661847f8eSopenharmony_ci      /**
413761847f8eSopenharmony_ci       * The progress notification policy of a background task.
413861847f8eSopenharmony_ci       *
413961847f8eSopenharmony_ci       * @type { boolean }
414061847f8eSopenharmony_ci       * @readonly
414161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
414261847f8eSopenharmony_ci       * @since 10
414361847f8eSopenharmony_ci       */
414461847f8eSopenharmony_ci      readonly gauge: boolean;
414561847f8eSopenharmony_ci      /**
414661847f8eSopenharmony_ci       * The creating date and time of a task in Unix timestamp.
414761847f8eSopenharmony_ci       * It is generated by system of current device.
414861847f8eSopenharmony_ci       *
414961847f8eSopenharmony_ci       * @type { number }
415061847f8eSopenharmony_ci       * @readonly
415161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
415261847f8eSopenharmony_ci       * @since 10
415361847f8eSopenharmony_ci       */
415461847f8eSopenharmony_ci      /**
415561847f8eSopenharmony_ci       * The creating date and time of a task in Unix timestamp.
415661847f8eSopenharmony_ci       * It is generated by system of current device.
415761847f8eSopenharmony_ci       *
415861847f8eSopenharmony_ci       * @type { number }
415961847f8eSopenharmony_ci       * @readonly
416061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
416161847f8eSopenharmony_ci       * @crossplatform
416261847f8eSopenharmony_ci       * @since 11
416361847f8eSopenharmony_ci       */
416461847f8eSopenharmony_ci      readonly ctime: number;
416561847f8eSopenharmony_ci      /**
416661847f8eSopenharmony_ci       * The modified date and time of a task in Unix timestamp.
416761847f8eSopenharmony_ci       * It is generated by system of current device.
416861847f8eSopenharmony_ci       *
416961847f8eSopenharmony_ci       * @type { number }
417061847f8eSopenharmony_ci       * @readonly
417161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
417261847f8eSopenharmony_ci       * @since 10
417361847f8eSopenharmony_ci       */
417461847f8eSopenharmony_ci      /**
417561847f8eSopenharmony_ci       * The modified date and time of a task in Unix timestamp.
417661847f8eSopenharmony_ci       * It is generated by system of current device.
417761847f8eSopenharmony_ci       *
417861847f8eSopenharmony_ci       * @type { number }
417961847f8eSopenharmony_ci       * @readonly
418061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
418161847f8eSopenharmony_ci       * @crossplatform
418261847f8eSopenharmony_ci       * @since 11
418361847f8eSopenharmony_ci       */
418461847f8eSopenharmony_ci      readonly mtime: number;
418561847f8eSopenharmony_ci      /**
418661847f8eSopenharmony_ci       * The retry switch of a task.
418761847f8eSopenharmony_ci       * Just for background, frontend always disabled.
418861847f8eSopenharmony_ci       *
418961847f8eSopenharmony_ci       * @type { boolean }
419061847f8eSopenharmony_ci       * @readonly
419161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
419261847f8eSopenharmony_ci       * @since 10
419361847f8eSopenharmony_ci       */
419461847f8eSopenharmony_ci      readonly retry: boolean;
419561847f8eSopenharmony_ci      /**
419661847f8eSopenharmony_ci       * The tried times of a task.
419761847f8eSopenharmony_ci       *
419861847f8eSopenharmony_ci       * @type { number }
419961847f8eSopenharmony_ci       * @readonly
420061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
420161847f8eSopenharmony_ci       * @since 10
420261847f8eSopenharmony_ci       */
420361847f8eSopenharmony_ci      readonly tries: number;
420461847f8eSopenharmony_ci      /**
420561847f8eSopenharmony_ci       * The faults case of a task.
420661847f8eSopenharmony_ci       *
420761847f8eSopenharmony_ci       * @type { Faults }
420861847f8eSopenharmony_ci       * @readonly
420961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
421061847f8eSopenharmony_ci       * @since 10
421161847f8eSopenharmony_ci       */
421261847f8eSopenharmony_ci      /**
421361847f8eSopenharmony_ci       * The faults case of a task.
421461847f8eSopenharmony_ci       *
421561847f8eSopenharmony_ci       * @type { Faults }
421661847f8eSopenharmony_ci       * @readonly
421761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
421861847f8eSopenharmony_ci       * @crossplatform
421961847f8eSopenharmony_ci       * @since 11
422061847f8eSopenharmony_ci       */
422161847f8eSopenharmony_ci      readonly faults: Faults;
422261847f8eSopenharmony_ci      /**
422361847f8eSopenharmony_ci       * The reason of a waiting/failed/stopped/paused task.
422461847f8eSopenharmony_ci       *
422561847f8eSopenharmony_ci       * @type { string }
422661847f8eSopenharmony_ci       * @readonly
422761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
422861847f8eSopenharmony_ci       * @since 10
422961847f8eSopenharmony_ci       */
423061847f8eSopenharmony_ci      /**
423161847f8eSopenharmony_ci       * The reason of a waiting/failed/stopped/paused task.
423261847f8eSopenharmony_ci       *
423361847f8eSopenharmony_ci       * @type { string }
423461847f8eSopenharmony_ci       * @readonly
423561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
423661847f8eSopenharmony_ci       * @crossplatform
423761847f8eSopenharmony_ci       * @since 11
423861847f8eSopenharmony_ci       */
423961847f8eSopenharmony_ci      readonly reason: string;
424061847f8eSopenharmony_ci      /**
424161847f8eSopenharmony_ci       * The extras of a task.
424261847f8eSopenharmony_ci       * For background, the last response from server.
424361847f8eSopenharmony_ci       * For frontend, nothing now.
424461847f8eSopenharmony_ci       *
424561847f8eSopenharmony_ci       * @type { ?object }
424661847f8eSopenharmony_ci       * @readonly
424761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
424861847f8eSopenharmony_ci       * @since 10
424961847f8eSopenharmony_ci       */
425061847f8eSopenharmony_ci      /**
425161847f8eSopenharmony_ci       * The extras of a task.
425261847f8eSopenharmony_ci       * For frontend, nothing now.
425361847f8eSopenharmony_ci       *
425461847f8eSopenharmony_ci       * @type { ?object }
425561847f8eSopenharmony_ci       * @readonly
425661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
425761847f8eSopenharmony_ci       * @crossplatform
425861847f8eSopenharmony_ci       * @since 11
425961847f8eSopenharmony_ci       */
426061847f8eSopenharmony_ci      readonly extras?: object;
426161847f8eSopenharmony_ci    }
426261847f8eSopenharmony_ci
426361847f8eSopenharmony_ci    /**
426461847f8eSopenharmony_ci     * The HTTP response.
426561847f8eSopenharmony_ci     *
426661847f8eSopenharmony_ci     * @interface HttpResponse
426761847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
426861847f8eSopenharmony_ci     * @atomicservice
426961847f8eSopenharmony_ci     * @since 12
427061847f8eSopenharmony_ci     */
427161847f8eSopenharmony_ci    interface HttpResponse {
427261847f8eSopenharmony_ci      /**
427361847f8eSopenharmony_ci       * The version of the HTTP response.
427461847f8eSopenharmony_ci       *
427561847f8eSopenharmony_ci       * @type { string }
427661847f8eSopenharmony_ci       * @readonly
427761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
427861847f8eSopenharmony_ci       * @atomicservice
427961847f8eSopenharmony_ci       * @since 12
428061847f8eSopenharmony_ci       */
428161847f8eSopenharmony_ci      readonly version: string,
428261847f8eSopenharmony_ci      /**
428361847f8eSopenharmony_ci       * The status code of the HTTP response.
428461847f8eSopenharmony_ci       *
428561847f8eSopenharmony_ci       * @type { number }
428661847f8eSopenharmony_ci       * @readonly
428761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
428861847f8eSopenharmony_ci       * @atomicservice
428961847f8eSopenharmony_ci       * @since 12
429061847f8eSopenharmony_ci       */
429161847f8eSopenharmony_ci      readonly statusCode: number,
429261847f8eSopenharmony_ci      /**
429361847f8eSopenharmony_ci       * The reason of the HTTP response.
429461847f8eSopenharmony_ci       *
429561847f8eSopenharmony_ci       * @type { string }
429661847f8eSopenharmony_ci       * @readonly
429761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
429861847f8eSopenharmony_ci       * @atomicservice
429961847f8eSopenharmony_ci       * @since 12
430061847f8eSopenharmony_ci       */
430161847f8eSopenharmony_ci      readonly reason: string,
430261847f8eSopenharmony_ci      /**
430361847f8eSopenharmony_ci       * The headers of the HTTP response.
430461847f8eSopenharmony_ci       *
430561847f8eSopenharmony_ci       * @type { Map<string, Array<string>> }
430661847f8eSopenharmony_ci       * @readonly
430761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
430861847f8eSopenharmony_ci       * @atomicservice
430961847f8eSopenharmony_ci       * @since 12
431061847f8eSopenharmony_ci       */
431161847f8eSopenharmony_ci      readonly headers: Map<string, Array<string>>,
431261847f8eSopenharmony_ci    }
431361847f8eSopenharmony_ci
431461847f8eSopenharmony_ci    /**
431561847f8eSopenharmony_ci     * The task entry.
431661847f8eSopenharmony_ci     * New task' status is "initialized" and enqueue.
431761847f8eSopenharmony_ci     * Can `start` a initialized task.
431861847f8eSopenharmony_ci     * Can `pause` a waiting/running/retrying background task.
431961847f8eSopenharmony_ci     * Can `resume` a paused background task.
432061847f8eSopenharmony_ci     * Can `stop` a running/waiting/retrying task and dequeue it.
432161847f8eSopenharmony_ci     *
432261847f8eSopenharmony_ci     * @typedef Task
432361847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
432461847f8eSopenharmony_ci     * @since 10
432561847f8eSopenharmony_ci     */
432661847f8eSopenharmony_ci    /**
432761847f8eSopenharmony_ci     * The task entry.
432861847f8eSopenharmony_ci     * New task' status is "initialized" and enqueue.
432961847f8eSopenharmony_ci     * Can `start` a initialized task.
433061847f8eSopenharmony_ci     * Can `pause` a waiting/running/retrying background task.
433161847f8eSopenharmony_ci     * Can `resume` a paused background task.
433261847f8eSopenharmony_ci     * Can `stop` a running/waiting/retrying task and dequeue it.
433361847f8eSopenharmony_ci     *
433461847f8eSopenharmony_ci     * @typedef Task
433561847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
433661847f8eSopenharmony_ci     * @crossplatform
433761847f8eSopenharmony_ci     * @atomicservice
433861847f8eSopenharmony_ci     * @since 11
433961847f8eSopenharmony_ci     */
434061847f8eSopenharmony_ci    interface Task {
434161847f8eSopenharmony_ci      /**
434261847f8eSopenharmony_ci       * The task id, unique on system.
434361847f8eSopenharmony_ci       * Generated automatically by system.
434461847f8eSopenharmony_ci       *
434561847f8eSopenharmony_ci       * @type { string }
434661847f8eSopenharmony_ci       * @readonly
434761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
434861847f8eSopenharmony_ci       * @since 10
434961847f8eSopenharmony_ci       */
435061847f8eSopenharmony_ci      /**
435161847f8eSopenharmony_ci       * The task id, unique on system.
435261847f8eSopenharmony_ci       * Generated automatically by system.
435361847f8eSopenharmony_ci       *
435461847f8eSopenharmony_ci       * @type { string }
435561847f8eSopenharmony_ci       * @readonly
435661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
435761847f8eSopenharmony_ci       * @crossplatform
435861847f8eSopenharmony_ci       * @atomicservice
435961847f8eSopenharmony_ci       * @since 11
436061847f8eSopenharmony_ci       */
436161847f8eSopenharmony_ci      readonly tid: string;
436261847f8eSopenharmony_ci      /**
436361847f8eSopenharmony_ci       * The configurations for the task.
436461847f8eSopenharmony_ci       *
436561847f8eSopenharmony_ci       * @type { Config }
436661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
436761847f8eSopenharmony_ci       * @since 10
436861847f8eSopenharmony_ci       */
436961847f8eSopenharmony_ci      /**
437061847f8eSopenharmony_ci       * The configurations for the task.
437161847f8eSopenharmony_ci       *
437261847f8eSopenharmony_ci       * @type { Config }
437361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
437461847f8eSopenharmony_ci       * @crossplatform
437561847f8eSopenharmony_ci       * @atomicservice
437661847f8eSopenharmony_ci       * @since 11
437761847f8eSopenharmony_ci       */
437861847f8eSopenharmony_ci      config: Config;
437961847f8eSopenharmony_ci      /**
438061847f8eSopenharmony_ci       * Enable the specified callback for a frontend task.
438161847f8eSopenharmony_ci       *
438261847f8eSopenharmony_ci       * @param { 'progress' } event event types.
438361847f8eSopenharmony_ci       * @param { function } callback callback function with a `Progress` argument.
438461847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
438561847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
438661847f8eSopenharmony_ci       * @throws { BusinessError } 21900005 - task mode error.
438761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
438861847f8eSopenharmony_ci       * @since 10
438961847f8eSopenharmony_ci       */
439061847f8eSopenharmony_ci      /**
439161847f8eSopenharmony_ci       * Enables the specified callback.
439261847f8eSopenharmony_ci       *
439361847f8eSopenharmony_ci       * @param { 'progress' } event - event types.
439461847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
439561847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
439661847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
439761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
439861847f8eSopenharmony_ci       * @crossplatform
439961847f8eSopenharmony_ci       * @atomicservice
440061847f8eSopenharmony_ci       * @since 11
440161847f8eSopenharmony_ci       */
440261847f8eSopenharmony_ci      on(event: 'progress', callback: (progress: Progress) => void): void;
440361847f8eSopenharmony_ci      /**
440461847f8eSopenharmony_ci       * Disable the specified callback for a frontend task.
440561847f8eSopenharmony_ci       *
440661847f8eSopenharmony_ci       * @param { 'progress' } event event types.
440761847f8eSopenharmony_ci       * @param { function } callback callback function with a `Progress` argument.
440861847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
440961847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
441061847f8eSopenharmony_ci       * @throws { BusinessError } 21900005 - task mode error.
441161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
441261847f8eSopenharmony_ci       * @since 10
441361847f8eSopenharmony_ci       */
441461847f8eSopenharmony_ci      /**
441561847f8eSopenharmony_ci       * Disables the specified callback.
441661847f8eSopenharmony_ci       *
441761847f8eSopenharmony_ci       * @param { 'progress' } event - event types.
441861847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
441961847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
442061847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
442161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
442261847f8eSopenharmony_ci       * @crossplatform
442361847f8eSopenharmony_ci       * @atomicservice
442461847f8eSopenharmony_ci       * @since 11
442561847f8eSopenharmony_ci       */
442661847f8eSopenharmony_ci      off(event: 'progress', callback?: (progress: Progress) => void): void;
442761847f8eSopenharmony_ci      /**
442861847f8eSopenharmony_ci       * Enable the specified callback for a frontend task.
442961847f8eSopenharmony_ci       *
443061847f8eSopenharmony_ci       * @param { 'completed' } event event types.
443161847f8eSopenharmony_ci       * @param { function } callback callback function with a `Progress` argument.
443261847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
443361847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
443461847f8eSopenharmony_ci       * @throws { BusinessError } 21900005 - task mode error.
443561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
443661847f8eSopenharmony_ci       * @since 10
443761847f8eSopenharmony_ci       */
443861847f8eSopenharmony_ci      /**
443961847f8eSopenharmony_ci       * Enables the specified callback.
444061847f8eSopenharmony_ci       *
444161847f8eSopenharmony_ci       * @param { 'completed' } event - event types.
444261847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
444361847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
444461847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
444561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
444661847f8eSopenharmony_ci       * @crossplatform
444761847f8eSopenharmony_ci       * @atomicservice
444861847f8eSopenharmony_ci       * @since 11
444961847f8eSopenharmony_ci       */
445061847f8eSopenharmony_ci      on(event: 'completed', callback: (progress: Progress) => void): void;
445161847f8eSopenharmony_ci      /**
445261847f8eSopenharmony_ci       * Disable the specified callback for a frontend task.
445361847f8eSopenharmony_ci       *
445461847f8eSopenharmony_ci       * @param { 'completed' } event event types.
445561847f8eSopenharmony_ci       * @param { function } callback callback function with a `Progress` argument.
445661847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
445761847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
445861847f8eSopenharmony_ci       * @throws { BusinessError } 21900005 - task mode error.
445961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
446061847f8eSopenharmony_ci       * @since 10
446161847f8eSopenharmony_ci       */
446261847f8eSopenharmony_ci      /**
446361847f8eSopenharmony_ci       * Disables the specified callback.
446461847f8eSopenharmony_ci       *
446561847f8eSopenharmony_ci       * @param { 'completed' } event - event types.
446661847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
446761847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
446861847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
446961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
447061847f8eSopenharmony_ci       * @crossplatform
447161847f8eSopenharmony_ci       * @atomicservice
447261847f8eSopenharmony_ci       * @since 11
447361847f8eSopenharmony_ci       */
447461847f8eSopenharmony_ci      off(event: 'completed', callback?: (progress: Progress) => void): void;
447561847f8eSopenharmony_ci      /**
447661847f8eSopenharmony_ci       * Enable the specified callback for a frontend task.
447761847f8eSopenharmony_ci       *
447861847f8eSopenharmony_ci       * @param { 'failed' } event event types.
447961847f8eSopenharmony_ci       * @param { function } callback callback function with a `Progress` argument.
448061847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
448161847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
448261847f8eSopenharmony_ci       * @throws { BusinessError } 21900005 - task mode error.
448361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
448461847f8eSopenharmony_ci       * @since 10
448561847f8eSopenharmony_ci       */
448661847f8eSopenharmony_ci      /**
448761847f8eSopenharmony_ci       * Enables the specified callback.
448861847f8eSopenharmony_ci       *
448961847f8eSopenharmony_ci       * @param { 'failed' } event - event types.
449061847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
449161847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
449261847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
449361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
449461847f8eSopenharmony_ci       * @crossplatform
449561847f8eSopenharmony_ci       * @atomicservice
449661847f8eSopenharmony_ci       * @since 11
449761847f8eSopenharmony_ci       */
449861847f8eSopenharmony_ci      on(event: 'failed', callback: (progress: Progress) => void): void;
449961847f8eSopenharmony_ci      /**
450061847f8eSopenharmony_ci       * Disable the specified callback for a frontend task.
450161847f8eSopenharmony_ci       *
450261847f8eSopenharmony_ci       * @param { 'failed' } event event types.
450361847f8eSopenharmony_ci       * @param { function } callback callback function with a `Progress` argument.
450461847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
450561847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
450661847f8eSopenharmony_ci       * @throws { BusinessError } 21900005 - task mode error.
450761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
450861847f8eSopenharmony_ci       * @since 10
450961847f8eSopenharmony_ci       */
451061847f8eSopenharmony_ci      /**
451161847f8eSopenharmony_ci       * Disables the specified callback.
451261847f8eSopenharmony_ci       *
451361847f8eSopenharmony_ci       * @param { 'failed' } event - event types.
451461847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
451561847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
451661847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
451761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
451861847f8eSopenharmony_ci       * @crossplatform
451961847f8eSopenharmony_ci       * @atomicservice
452061847f8eSopenharmony_ci       * @since 11
452161847f8eSopenharmony_ci       */
452261847f8eSopenharmony_ci      off(event: 'failed', callback?: (progress: Progress) => void): void;
452361847f8eSopenharmony_ci      /**
452461847f8eSopenharmony_ci       * Enables the specified callback.
452561847f8eSopenharmony_ci       *
452661847f8eSopenharmony_ci       * @param { 'pause' } event - event types.
452761847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
452861847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
452961847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
453061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
453161847f8eSopenharmony_ci       * @since 11
453261847f8eSopenharmony_ci       */
453361847f8eSopenharmony_ci      on(event: 'pause', callback: (progress: Progress) => void): void;
453461847f8eSopenharmony_ci      /**
453561847f8eSopenharmony_ci       * Disables the specified callback.
453661847f8eSopenharmony_ci       *
453761847f8eSopenharmony_ci       * @param { 'pause' } event - event types.
453861847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
453961847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
454061847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
454161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
454261847f8eSopenharmony_ci       * @since 11
454361847f8eSopenharmony_ci       */
454461847f8eSopenharmony_ci      off(event: 'pause', callback?: (progress: Progress) => void): void;
454561847f8eSopenharmony_ci      /**
454661847f8eSopenharmony_ci       * Enables the specified callback.
454761847f8eSopenharmony_ci       *
454861847f8eSopenharmony_ci       * @param { 'resume' } event - event types.
454961847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
455061847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
455161847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
455261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
455361847f8eSopenharmony_ci       * @since 11
455461847f8eSopenharmony_ci       */
455561847f8eSopenharmony_ci      on(event: 'resume', callback: (progress: Progress) => void): void;
455661847f8eSopenharmony_ci      /**
455761847f8eSopenharmony_ci       * Disables the specified callback.
455861847f8eSopenharmony_ci       *
455961847f8eSopenharmony_ci       * @param { 'resume' } event - event types.
456061847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
456161847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
456261847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
456361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
456461847f8eSopenharmony_ci       * @since 11
456561847f8eSopenharmony_ci       */
456661847f8eSopenharmony_ci      off(event: 'resume', callback?: (progress: Progress) => void): void;
456761847f8eSopenharmony_ci      /**
456861847f8eSopenharmony_ci       * Enables the specified callback.
456961847f8eSopenharmony_ci       *
457061847f8eSopenharmony_ci       * @param { 'remove' } event - event types.
457161847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
457261847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
457361847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
457461847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
457561847f8eSopenharmony_ci       * @since 11
457661847f8eSopenharmony_ci       */
457761847f8eSopenharmony_ci      on(event: 'remove', callback: (progress: Progress) => void): void;
457861847f8eSopenharmony_ci      /**
457961847f8eSopenharmony_ci       * Disables the specified callback.
458061847f8eSopenharmony_ci       *
458161847f8eSopenharmony_ci       * @param { 'remove' } event - event types.
458261847f8eSopenharmony_ci       * @param { function } callback - callback function with a `Progress` argument.
458361847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
458461847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
458561847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
458661847f8eSopenharmony_ci       * @since 11
458761847f8eSopenharmony_ci       */
458861847f8eSopenharmony_ci      off(event: 'remove', callback?: (progress: Progress) => void): void;
458961847f8eSopenharmony_ci      /**
459061847f8eSopenharmony_ci       * Enables the response callback.
459161847f8eSopenharmony_ci       *
459261847f8eSopenharmony_ci       * @param { 'response' } event - event types.
459361847f8eSopenharmony_ci       * @param { Callback<HttpResponse> } callback - callback function with an `HttpResponse` argument.
459461847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
459561847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
459661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
459761847f8eSopenharmony_ci       * @atomicservice
459861847f8eSopenharmony_ci       * @since 12
459961847f8eSopenharmony_ci       */
460061847f8eSopenharmony_ci      on(event: 'response', callback: Callback<HttpResponse>): void;
460161847f8eSopenharmony_ci      /**
460261847f8eSopenharmony_ci       * Disables the response callback.
460361847f8eSopenharmony_ci       *
460461847f8eSopenharmony_ci       * @param { 'response' } event - event types.
460561847f8eSopenharmony_ci       * @param { Callback<HttpResponse> } callback - callback function with an `HttpResponse` argument.
460661847f8eSopenharmony_ci       * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Missing mandatory parameters.
460761847f8eSopenharmony_ci       * <br>2. Incorrect parameter type. 3. Parameter verification failed.
460861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
460961847f8eSopenharmony_ci       * @atomicservice
461061847f8eSopenharmony_ci       * @since 12
461161847f8eSopenharmony_ci       */
461261847f8eSopenharmony_ci      off(event: 'response', callback?: Callback<HttpResponse>): void;
461361847f8eSopenharmony_ci      /**
461461847f8eSopenharmony_ci       * Starts the task.
461561847f8eSopenharmony_ci       *
461661847f8eSopenharmony_ci       * @permission ohos.permission.INTERNET
461761847f8eSopenharmony_ci       * @param { AsyncCallback<void> } callback callback function with a boolean argument indicating the calling result.
461861847f8eSopenharmony_ci       * @throws { BusinessError } 201 - Permission denied.
461961847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
462061847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
462161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
462261847f8eSopenharmony_ci       * @since 10
462361847f8eSopenharmony_ci       */
462461847f8eSopenharmony_ci      /**
462561847f8eSopenharmony_ci       * Starts the task.
462661847f8eSopenharmony_ci       *
462761847f8eSopenharmony_ci       * @permission ohos.permission.INTERNET
462861847f8eSopenharmony_ci       * @param { AsyncCallback<void> } callback callback function with a boolean argument indicating the calling result.
462961847f8eSopenharmony_ci       * @throws { BusinessError } 201 - Permission denied.
463061847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
463161847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
463261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
463361847f8eSopenharmony_ci       * @crossplatform
463461847f8eSopenharmony_ci       * @atomicservice
463561847f8eSopenharmony_ci       * @since 11
463661847f8eSopenharmony_ci       */
463761847f8eSopenharmony_ci      /**
463861847f8eSopenharmony_ci       * Starts the task. The following tasks can be started:
463961847f8eSopenharmony_ci       * 1. Tasks just created.
464061847f8eSopenharmony_ci       * 2. Download tasks that are stopped or become FAILED.
464161847f8eSopenharmony_ci       *
464261847f8eSopenharmony_ci       * @permission ohos.permission.INTERNET
464361847f8eSopenharmony_ci       * @param { AsyncCallback<void> } callback callback function with a boolean argument indicating the calling result.
464461847f8eSopenharmony_ci       * @throws { BusinessError } 201 - Permission denied.
464561847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
464661847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
464761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
464861847f8eSopenharmony_ci       * @crossplatform
464961847f8eSopenharmony_ci       * @atomicservice
465061847f8eSopenharmony_ci       * @since 12
465161847f8eSopenharmony_ci       */
465261847f8eSopenharmony_ci      start(callback: AsyncCallback<void>): void;
465361847f8eSopenharmony_ci      /**
465461847f8eSopenharmony_ci       * Starts the task.
465561847f8eSopenharmony_ci       *
465661847f8eSopenharmony_ci       * @permission ohos.permission.INTERNET
465761847f8eSopenharmony_ci       * @returns { Promise<void> } the promise returned by the function.
465861847f8eSopenharmony_ci       * @throws { BusinessError } 201 - Permission denied.
465961847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
466061847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
466161847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
466261847f8eSopenharmony_ci       * @since 10
466361847f8eSopenharmony_ci       */
466461847f8eSopenharmony_ci      /**
466561847f8eSopenharmony_ci       * Starts the task.
466661847f8eSopenharmony_ci       *
466761847f8eSopenharmony_ci       * @permission ohos.permission.INTERNET
466861847f8eSopenharmony_ci       * @returns { Promise<void> } the promise returned by the function.
466961847f8eSopenharmony_ci       * @throws { BusinessError } 201 - Permission denied.
467061847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
467161847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
467261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
467361847f8eSopenharmony_ci       * @crossplatform
467461847f8eSopenharmony_ci       * @atomicservice
467561847f8eSopenharmony_ci       * @since 11
467661847f8eSopenharmony_ci       */
467761847f8eSopenharmony_ci      /**
467861847f8eSopenharmony_ci       * Starts the task. The following tasks can be started:
467961847f8eSopenharmony_ci       * 1. Tasks just created.
468061847f8eSopenharmony_ci       * 2. Download tasks that are stopped or become FAILED.
468161847f8eSopenharmony_ci       *
468261847f8eSopenharmony_ci       * @permission ohos.permission.INTERNET
468361847f8eSopenharmony_ci       * @returns { Promise<void> } the promise returned by the function.
468461847f8eSopenharmony_ci       * @throws { BusinessError } 201 - Permission denied.
468561847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
468661847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
468761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
468861847f8eSopenharmony_ci       * @crossplatform
468961847f8eSopenharmony_ci       * @atomicservice
469061847f8eSopenharmony_ci       * @since 12
469161847f8eSopenharmony_ci       */
469261847f8eSopenharmony_ci      start(): Promise<void>;
469361847f8eSopenharmony_ci      /**
469461847f8eSopenharmony_ci       * Pauses the background task.
469561847f8eSopenharmony_ci       *
469661847f8eSopenharmony_ci       * @param { AsyncCallback<void> } callback callback function with a boolean argument indicating the calling result.
469761847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
469861847f8eSopenharmony_ci       * @throws { BusinessError } 21900005 - task mode error.
469961847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
470061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
470161847f8eSopenharmony_ci       * @since 10
470261847f8eSopenharmony_ci       */
470361847f8eSopenharmony_ci      /**
470461847f8eSopenharmony_ci       * Pauses the task.
470561847f8eSopenharmony_ci       *
470661847f8eSopenharmony_ci       * @param { AsyncCallback<void> } callback - callback function with a boolean argument indicating the calling result.
470761847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
470861847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
470961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
471061847f8eSopenharmony_ci       * @since 11
471161847f8eSopenharmony_ci       */
471261847f8eSopenharmony_ci      pause(callback: AsyncCallback<void>): void;
471361847f8eSopenharmony_ci      /**
471461847f8eSopenharmony_ci       * Pauses the background task.
471561847f8eSopenharmony_ci       *
471661847f8eSopenharmony_ci       * @returns { Promise<void> } the promise returned by the function.
471761847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
471861847f8eSopenharmony_ci       * @throws { BusinessError } 21900005 - task mode error.
471961847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
472061847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
472161847f8eSopenharmony_ci       * @since 10
472261847f8eSopenharmony_ci       */
472361847f8eSopenharmony_ci      /**
472461847f8eSopenharmony_ci       * Pauses the task.
472561847f8eSopenharmony_ci       *
472661847f8eSopenharmony_ci       * @returns { Promise<void> } the promise returned by the function.
472761847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
472861847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
472961847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
473061847f8eSopenharmony_ci       * @since 11
473161847f8eSopenharmony_ci       */
473261847f8eSopenharmony_ci      pause(): Promise<void>;
473361847f8eSopenharmony_ci      /**
473461847f8eSopenharmony_ci       * Resumes the background task.
473561847f8eSopenharmony_ci       *
473661847f8eSopenharmony_ci       * @permission ohos.permission.INTERNET
473761847f8eSopenharmony_ci       * @param { AsyncCallback<void> } callback callback function with a boolean argument indicating the calling result.
473861847f8eSopenharmony_ci       * @throws { BusinessError } 201 - Permission denied.
473961847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
474061847f8eSopenharmony_ci       * @throws { BusinessError } 21900005 - task mode error.
474161847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
474261847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
474361847f8eSopenharmony_ci       * @since 10
474461847f8eSopenharmony_ci       */
474561847f8eSopenharmony_ci      /**
474661847f8eSopenharmony_ci       * Resumes the task.
474761847f8eSopenharmony_ci       *
474861847f8eSopenharmony_ci       * @permission ohos.permission.INTERNET
474961847f8eSopenharmony_ci       * @param { AsyncCallback<void> } callback - callback function with a boolean argument indicating the calling result.
475061847f8eSopenharmony_ci       * @throws { BusinessError } 201 - Permission denied.
475161847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
475261847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
475361847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
475461847f8eSopenharmony_ci       * @since 11
475561847f8eSopenharmony_ci       */
475661847f8eSopenharmony_ci      resume(callback: AsyncCallback<void>): void;
475761847f8eSopenharmony_ci      /**
475861847f8eSopenharmony_ci       * Resumes the background task.
475961847f8eSopenharmony_ci       *
476061847f8eSopenharmony_ci       * @permission ohos.permission.INTERNET
476161847f8eSopenharmony_ci       * @returns { Promise<void> } the promise returned by the function.
476261847f8eSopenharmony_ci       * @throws { BusinessError } 201 - Permission denied.
476361847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
476461847f8eSopenharmony_ci       * @throws { BusinessError } 21900005 - task mode error.
476561847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
476661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
476761847f8eSopenharmony_ci       * @since 10
476861847f8eSopenharmony_ci       */
476961847f8eSopenharmony_ci      /**
477061847f8eSopenharmony_ci       * Resumes the task.
477161847f8eSopenharmony_ci       *
477261847f8eSopenharmony_ci       * @permission ohos.permission.INTERNET
477361847f8eSopenharmony_ci       * @returns { Promise<void> } the promise returned by the function.
477461847f8eSopenharmony_ci       * @throws { BusinessError } 201 - Permission denied.
477561847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
477661847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
477761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
477861847f8eSopenharmony_ci       * @since 11
477961847f8eSopenharmony_ci       */
478061847f8eSopenharmony_ci      resume(): Promise<void>;
478161847f8eSopenharmony_ci      /**
478261847f8eSopenharmony_ci       * Stops the task.
478361847f8eSopenharmony_ci       *
478461847f8eSopenharmony_ci       * @param { AsyncCallback<void> } callback callback function with a boolean argument indicating the calling result.
478561847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
478661847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
478761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
478861847f8eSopenharmony_ci       * @since 10
478961847f8eSopenharmony_ci       */
479061847f8eSopenharmony_ci      /**
479161847f8eSopenharmony_ci       * Stops the task.
479261847f8eSopenharmony_ci       *
479361847f8eSopenharmony_ci       * @param { AsyncCallback<void> } callback callback function with a boolean argument indicating the calling result.
479461847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
479561847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
479661847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
479761847f8eSopenharmony_ci       * @crossplatform
479861847f8eSopenharmony_ci       * @atomicservice
479961847f8eSopenharmony_ci       * @since 11
480061847f8eSopenharmony_ci       */
480161847f8eSopenharmony_ci      stop(callback: AsyncCallback<void>): void;
480261847f8eSopenharmony_ci      /**
480361847f8eSopenharmony_ci       * Stops the task.
480461847f8eSopenharmony_ci       *
480561847f8eSopenharmony_ci       * @returns { Promise<void> } the promise returned by the function.
480661847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
480761847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
480861847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
480961847f8eSopenharmony_ci       * @since 10
481061847f8eSopenharmony_ci       */
481161847f8eSopenharmony_ci      /**
481261847f8eSopenharmony_ci       * Stops the task.
481361847f8eSopenharmony_ci       *
481461847f8eSopenharmony_ci       * @returns { Promise<void> } the promise returned by the function.
481561847f8eSopenharmony_ci       * @throws { BusinessError } 13400003 - task service ability error.
481661847f8eSopenharmony_ci       * @throws { BusinessError } 21900007 - task state error.
481761847f8eSopenharmony_ci       * @syscap SystemCapability.Request.FileTransferAgent
481861847f8eSopenharmony_ci       * @crossplatform
481961847f8eSopenharmony_ci       * @atomicservice
482061847f8eSopenharmony_ci       * @since 11
482161847f8eSopenharmony_ci       */
482261847f8eSopenharmony_ci      stop(): Promise<void>;
482361847f8eSopenharmony_ci    }
482461847f8eSopenharmony_ci
482561847f8eSopenharmony_ci    /**
482661847f8eSopenharmony_ci     * Creates a task for upload or download and enqueue it.
482761847f8eSopenharmony_ci     * Only foreground application can create the frontend task.
482861847f8eSopenharmony_ci     * It can deal only one frontend task at a time.
482961847f8eSopenharmony_ci     * A in processing frontend task will be forced to stop when its application had switched to background.
483061847f8eSopenharmony_ci     * A new frontend task will interrupt a existed in processing frontend task.
483161847f8eSopenharmony_ci     * The background task is highly recommended.
483261847f8eSopenharmony_ci     *
483361847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
483461847f8eSopenharmony_ci     * @param { BaseContext } context context of the caller.
483561847f8eSopenharmony_ci     * @param { Config } config configurations for a task.
483661847f8eSopenharmony_ci     * @param { AsyncCallback<Task> } callback indicate the callback function to receive Task.
483761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - permission denied.
483861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
483961847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
484061847f8eSopenharmony_ci     * @throws { BusinessError } 13400001 - file operation error.
484161847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
484261847f8eSopenharmony_ci     * @throws { BusinessError } 21900004 - the application task queue is full.
484361847f8eSopenharmony_ci     * @throws { BusinessError } 21900005 - task mode error.
484461847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
484561847f8eSopenharmony_ci     * @since 10
484661847f8eSopenharmony_ci     */
484761847f8eSopenharmony_ci    /**
484861847f8eSopenharmony_ci     * Creates a task for upload or download and enqueue it.
484961847f8eSopenharmony_ci     * When an application enters the background, the frontend tasks associated.
485061847f8eSopenharmony_ci     * with it will gradually be paused until the application returns to the foreground. 
485161847f8eSopenharmony_ci     *
485261847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
485361847f8eSopenharmony_ci     * @param { BaseContext } context context of the caller.
485461847f8eSopenharmony_ci     * @param { Config } config configurations for a task.
485561847f8eSopenharmony_ci     * @param { AsyncCallback<Task> } callback indicate the callback function to receive Task.
485661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - permission denied.
485761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
485861847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
485961847f8eSopenharmony_ci     * @throws { BusinessError } 13400001 - file operation error.
486061847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
486161847f8eSopenharmony_ci     * @throws { BusinessError } 21900004 - the application task queue is full.
486261847f8eSopenharmony_ci     * @throws { BusinessError } 21900005 - task mode error.
486361847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
486461847f8eSopenharmony_ci     * @crossplatform
486561847f8eSopenharmony_ci     * @atomicservice
486661847f8eSopenharmony_ci     * @since 11
486761847f8eSopenharmony_ci     */
486861847f8eSopenharmony_ci    function create(context: BaseContext, config: Config, callback: AsyncCallback<Task>): void;
486961847f8eSopenharmony_ci
487061847f8eSopenharmony_ci    /**
487161847f8eSopenharmony_ci     * Creates a task for upload or download and enqueue it.
487261847f8eSopenharmony_ci     * Only foreground application can create the frontend task.
487361847f8eSopenharmony_ci     * It can deal only one frontend task at a time.
487461847f8eSopenharmony_ci     * A in processing frontend task will be forced to stop when its application had switched to background.
487561847f8eSopenharmony_ci     * A new frontend task will interrupt a existed in processing frontend task.
487661847f8eSopenharmony_ci     * The background task is highly recommended.
487761847f8eSopenharmony_ci     *
487861847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
487961847f8eSopenharmony_ci     * @param { BaseContext } context context of the caller.
488061847f8eSopenharmony_ci     * @param { Config } config configurations for a task.
488161847f8eSopenharmony_ci     * @returns { Promise<Task> } the promise returned by the function.
488261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - permission denied.
488361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
488461847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
488561847f8eSopenharmony_ci     * @throws { BusinessError } 13400001 - file operation error.
488661847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
488761847f8eSopenharmony_ci     * @throws { BusinessError } 21900004 - the application task queue is full.
488861847f8eSopenharmony_ci     * @throws { BusinessError } 21900005 - task mode error.
488961847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
489061847f8eSopenharmony_ci     * @since 10
489161847f8eSopenharmony_ci     */
489261847f8eSopenharmony_ci    /**
489361847f8eSopenharmony_ci     * Creates a task for upload or download and enqueue it.
489461847f8eSopenharmony_ci     * When an application enters the background, the frontend tasks associated.
489561847f8eSopenharmony_ci     * with it will gradually be paused until the application returns to the foreground.
489661847f8eSopenharmony_ci     *
489761847f8eSopenharmony_ci     * @permission ohos.permission.INTERNET
489861847f8eSopenharmony_ci     * @param { BaseContext } context context of the caller.
489961847f8eSopenharmony_ci     * @param { Config } config configurations for a task.
490061847f8eSopenharmony_ci     * @returns { Promise<Task> } the promise returned by the function.
490161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - permission denied.
490261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
490361847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
490461847f8eSopenharmony_ci     * @throws { BusinessError } 13400001 - file operation error.
490561847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
490661847f8eSopenharmony_ci     * @throws { BusinessError } 21900004 - the application task queue is full.
490761847f8eSopenharmony_ci     * @throws { BusinessError } 21900005 - task mode error.
490861847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
490961847f8eSopenharmony_ci     * @crossplatform
491061847f8eSopenharmony_ci     * @atomicservice
491161847f8eSopenharmony_ci     * @since 11
491261847f8eSopenharmony_ci     */
491361847f8eSopenharmony_ci    function create(context: BaseContext, config: Config): Promise<Task>;
491461847f8eSopenharmony_ci
491561847f8eSopenharmony_ci    /**
491661847f8eSopenharmony_ci     * Gets the task with the specified id.
491761847f8eSopenharmony_ci     *
491861847f8eSopenharmony_ci     * @param { BaseContext } context - context of the caller.
491961847f8eSopenharmony_ci     * @param { string } id - the id of the task.
492061847f8eSopenharmony_ci     * @param { string } token - the token of the task, length between 8 and 2048 bytes.
492161847f8eSopenharmony_ci     * @returns { Promise<Task> } the promise returned by the function.
492261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
492361847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
492461847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
492561847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
492661847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
492761847f8eSopenharmony_ci     * @since 11
492861847f8eSopenharmony_ci     */
492961847f8eSopenharmony_ci    function getTask(context: BaseContext, id: string, token?: string): Promise<Task>;
493061847f8eSopenharmony_ci
493161847f8eSopenharmony_ci    /**
493261847f8eSopenharmony_ci     * Removes specified task belongs to the caller.
493361847f8eSopenharmony_ci     * The task will be forced to stop if in processing.
493461847f8eSopenharmony_ci     *
493561847f8eSopenharmony_ci     * @param { string } id the task id.
493661847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback callback function with a boolean argument indicating success or not.
493761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
493861847f8eSopenharmony_ci     * <br>2. Incorrect parameter type.
493961847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
494061847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
494161847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
494261847f8eSopenharmony_ci     * @since 10
494361847f8eSopenharmony_ci     */
494461847f8eSopenharmony_ci    /**
494561847f8eSopenharmony_ci     * Removes specified task belongs to the caller.
494661847f8eSopenharmony_ci     * The task will be forced to stop if in processing.
494761847f8eSopenharmony_ci     *
494861847f8eSopenharmony_ci     * @param { string } id the task id.
494961847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback callback function with a boolean argument indicating success or not.
495061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
495161847f8eSopenharmony_ci     * <br>2. Incorrect parameter type.
495261847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
495361847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
495461847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
495561847f8eSopenharmony_ci     * @crossplatform
495661847f8eSopenharmony_ci     * @atomicservice
495761847f8eSopenharmony_ci     * @since 11
495861847f8eSopenharmony_ci     */
495961847f8eSopenharmony_ci    function remove(id: string, callback: AsyncCallback<void>): void;
496061847f8eSopenharmony_ci
496161847f8eSopenharmony_ci    /**
496261847f8eSopenharmony_ci     * Removes specified task belongs to the caller.
496361847f8eSopenharmony_ci     * The task will be forced to stop if in processing.
496461847f8eSopenharmony_ci     *
496561847f8eSopenharmony_ci     * @param { string } id the task id.
496661847f8eSopenharmony_ci     * @returns { Promise<void> } the promise returned by the function.
496761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
496861847f8eSopenharmony_ci     * <br>2. Incorrect parameter type.
496961847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
497061847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
497161847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
497261847f8eSopenharmony_ci     * @since 10
497361847f8eSopenharmony_ci     */
497461847f8eSopenharmony_ci    /**
497561847f8eSopenharmony_ci     * Removes specified task belongs to the caller.
497661847f8eSopenharmony_ci     * The task will be forced to stop if in processing.
497761847f8eSopenharmony_ci     *
497861847f8eSopenharmony_ci     * @param { string } id the task id.
497961847f8eSopenharmony_ci     * @returns { Promise<void> } the promise returned by the function.
498061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
498161847f8eSopenharmony_ci     * <br>2. Incorrect parameter type.
498261847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
498361847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
498461847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
498561847f8eSopenharmony_ci     * @crossplatform
498661847f8eSopenharmony_ci     * @atomicservice
498761847f8eSopenharmony_ci     * @since 11
498861847f8eSopenharmony_ci     */
498961847f8eSopenharmony_ci    function remove(id: string): Promise<void>;
499061847f8eSopenharmony_ci
499161847f8eSopenharmony_ci    /**
499261847f8eSopenharmony_ci     * Shows specified task details belongs to the caller.
499361847f8eSopenharmony_ci     *
499461847f8eSopenharmony_ci     * @param { string } id the task id.
499561847f8eSopenharmony_ci     * @param { AsyncCallback<TaskInfo> } callback callback function with a `TaskInfo` argument for informations of the current task.
499661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
499761847f8eSopenharmony_ci     * <br>2. Incorrect parameter type.
499861847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
499961847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
500061847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
500161847f8eSopenharmony_ci     * @since 10
500261847f8eSopenharmony_ci     */
500361847f8eSopenharmony_ci    /**
500461847f8eSopenharmony_ci     * Shows specified task details belongs to the caller.
500561847f8eSopenharmony_ci     *
500661847f8eSopenharmony_ci     * @param { string } id the task id.
500761847f8eSopenharmony_ci     * @param { AsyncCallback<TaskInfo> } callback callback function with a `TaskInfo` argument for informations of the current task.
500861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
500961847f8eSopenharmony_ci     * <br>2. Incorrect parameter type.
501061847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
501161847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
501261847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
501361847f8eSopenharmony_ci     * @crossplatform
501461847f8eSopenharmony_ci     * @since 11
501561847f8eSopenharmony_ci     */
501661847f8eSopenharmony_ci    function show(id: string, callback: AsyncCallback<TaskInfo>): void;
501761847f8eSopenharmony_ci
501861847f8eSopenharmony_ci    /**
501961847f8eSopenharmony_ci     * Shows specified task details belongs to the caller.
502061847f8eSopenharmony_ci     *
502161847f8eSopenharmony_ci     * @param { string } id the task id.
502261847f8eSopenharmony_ci     * @returns { Promise<TaskInfo> } the promise returned by the function.
502361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
502461847f8eSopenharmony_ci     * <br>2. Incorrect parameter type.
502561847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
502661847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
502761847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
502861847f8eSopenharmony_ci     * @since 10
502961847f8eSopenharmony_ci     */
503061847f8eSopenharmony_ci    /**
503161847f8eSopenharmony_ci     * Shows specified task details belongs to the caller.
503261847f8eSopenharmony_ci     *
503361847f8eSopenharmony_ci     * @param { string } id the task id.
503461847f8eSopenharmony_ci     * @returns { Promise<TaskInfo> } the promise returned by the function.
503561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
503661847f8eSopenharmony_ci     * <br>2. Incorrect parameter type.
503761847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
503861847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
503961847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
504061847f8eSopenharmony_ci     * @crossplatform
504161847f8eSopenharmony_ci     * @since 11
504261847f8eSopenharmony_ci     */
504361847f8eSopenharmony_ci    function show(id: string): Promise<TaskInfo>;
504461847f8eSopenharmony_ci
504561847f8eSopenharmony_ci    /**
504661847f8eSopenharmony_ci     * Touches specified task with token.
504761847f8eSopenharmony_ci     *
504861847f8eSopenharmony_ci     * @param { string } id the task id.
504961847f8eSopenharmony_ci     * @param { string } token the in-application isolation key.
505061847f8eSopenharmony_ci     * @param { AsyncCallback<TaskInfo> } callback callback function with a `TaskInfo` argument for informations of the current task.
505161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
505261847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
505361847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
505461847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
505561847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
505661847f8eSopenharmony_ci     * @since 10
505761847f8eSopenharmony_ci     */
505861847f8eSopenharmony_ci    /**
505961847f8eSopenharmony_ci     * Touches specified task with token.
506061847f8eSopenharmony_ci     *
506161847f8eSopenharmony_ci     * @param { string } id the task id.
506261847f8eSopenharmony_ci     * @param { string } token the in-application isolation key, length between 8 and 2048 bytes.
506361847f8eSopenharmony_ci     * @param { AsyncCallback<TaskInfo> } callback callback function with a `TaskInfo` argument for informations of the current task.
506461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
506561847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
506661847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
506761847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
506861847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
506961847f8eSopenharmony_ci     * @crossplatform
507061847f8eSopenharmony_ci     * @since 11
507161847f8eSopenharmony_ci     */
507261847f8eSopenharmony_ci    function touch(id: string, token: string, callback: AsyncCallback<TaskInfo>): void;
507361847f8eSopenharmony_ci
507461847f8eSopenharmony_ci    /**
507561847f8eSopenharmony_ci     * Touches specified task with token.
507661847f8eSopenharmony_ci     *
507761847f8eSopenharmony_ci     * @param { string } id the task id.
507861847f8eSopenharmony_ci     * @param { string } token the in-application isolation key, length between 8 and 2048 bytes.
507961847f8eSopenharmony_ci     * @returns { Promise<TaskInfo> } the promise returned by the function.
508061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
508161847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
508261847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
508361847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
508461847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
508561847f8eSopenharmony_ci     * @since 10
508661847f8eSopenharmony_ci     */
508761847f8eSopenharmony_ci    /**
508861847f8eSopenharmony_ci     * Touches specified task with token.
508961847f8eSopenharmony_ci     *
509061847f8eSopenharmony_ci     * @param { string } id the task id.
509161847f8eSopenharmony_ci     * @param { string } token the in-application isolation key, length between 8 and 2048 bytes.
509261847f8eSopenharmony_ci     * @returns { Promise<TaskInfo> } the promise returned by the function.
509361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
509461847f8eSopenharmony_ci     * <br>2. Incorrect parameter type. 3. Parameter verification failed.
509561847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
509661847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
509761847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
509861847f8eSopenharmony_ci     * @crossplatform
509961847f8eSopenharmony_ci     * @since 11
510061847f8eSopenharmony_ci     */
510161847f8eSopenharmony_ci    function touch(id: string, token: string): Promise<TaskInfo>;
510261847f8eSopenharmony_ci
510361847f8eSopenharmony_ci    /**
510461847f8eSopenharmony_ci     * Searches tasks, for system.
510561847f8eSopenharmony_ci     *
510661847f8eSopenharmony_ci     * @param { AsyncCallback<Array<string>> } callback callback function with a `Array<string>` argument contains task ids match filter.
510761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Incorrect parameter type.
510861847f8eSopenharmony_ci     * <br>2. Parameter verification failed.
510961847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
511061847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
511161847f8eSopenharmony_ci     * @since 10
511261847f8eSopenharmony_ci     */
511361847f8eSopenharmony_ci    /**
511461847f8eSopenharmony_ci     * Searches tasks, for system.
511561847f8eSopenharmony_ci     *
511661847f8eSopenharmony_ci     * @param { AsyncCallback<Array<string>> } callback callback function with a `Array<string>` argument contains task ids match filter.
511761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Incorrect parameter type.
511861847f8eSopenharmony_ci     * <br>2. Parameter verification failed.
511961847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
512061847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
512161847f8eSopenharmony_ci     * @crossplatform
512261847f8eSopenharmony_ci     * @since 11
512361847f8eSopenharmony_ci     */
512461847f8eSopenharmony_ci    function search(callback: AsyncCallback<Array<string>>): void;
512561847f8eSopenharmony_ci
512661847f8eSopenharmony_ci    /**
512761847f8eSopenharmony_ci     * Searches tasks, for system.
512861847f8eSopenharmony_ci     *
512961847f8eSopenharmony_ci     * @param { Filter } filter an instance of `Filter`.
513061847f8eSopenharmony_ci     * @param { AsyncCallback<Array<string>> } callback callback function with a `Array<string>` argument contains task ids match filter.
513161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Incorrect parameter type.
513261847f8eSopenharmony_ci     * <br>2. Parameter verification failed.
513361847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
513461847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
513561847f8eSopenharmony_ci     * @since 10
513661847f8eSopenharmony_ci     */
513761847f8eSopenharmony_ci    /**
513861847f8eSopenharmony_ci     * Searches tasks, for system.
513961847f8eSopenharmony_ci     *
514061847f8eSopenharmony_ci     * @param { Filter } filter an instance of `Filter`.
514161847f8eSopenharmony_ci     * @param { AsyncCallback<Array<string>> } callback callback function with a `Array<string>` argument contains task ids match filter.
514261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Incorrect parameter type.
514361847f8eSopenharmony_ci     * <br>2. Parameter verification failed.
514461847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
514561847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
514661847f8eSopenharmony_ci     * @crossplatform
514761847f8eSopenharmony_ci     * @since 11
514861847f8eSopenharmony_ci     */
514961847f8eSopenharmony_ci    function search(filter: Filter, callback: AsyncCallback<Array<string>>): void;
515061847f8eSopenharmony_ci
515161847f8eSopenharmony_ci    /**
515261847f8eSopenharmony_ci     * Searches tasks, for system.
515361847f8eSopenharmony_ci     *
515461847f8eSopenharmony_ci     * @param { Filter } filter an instance of `Filter`.
515561847f8eSopenharmony_ci     * @returns { Promise<Array<string>> } the promise returned by the function.
515661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Incorrect parameter type.
515761847f8eSopenharmony_ci     * <br>2. Parameter verification failed.
515861847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
515961847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
516061847f8eSopenharmony_ci     * @since 10
516161847f8eSopenharmony_ci     */
516261847f8eSopenharmony_ci    /**
516361847f8eSopenharmony_ci     * Searches tasks, for system.
516461847f8eSopenharmony_ci     *
516561847f8eSopenharmony_ci     * @param { Filter } filter an instance of `Filter`.
516661847f8eSopenharmony_ci     * @returns { Promise<Array<string>> } the promise returned by the function.
516761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Incorrect parameter type.
516861847f8eSopenharmony_ci     * <br>2. Parameter verification failed.
516961847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
517061847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
517161847f8eSopenharmony_ci     * @crossplatform
517261847f8eSopenharmony_ci     * @since 11
517361847f8eSopenharmony_ci     */
517461847f8eSopenharmony_ci    function search(filter?: Filter): Promise<Array<string>>;
517561847f8eSopenharmony_ci
517661847f8eSopenharmony_ci    /**
517761847f8eSopenharmony_ci     * Queries specified task details.
517861847f8eSopenharmony_ci     *
517961847f8eSopenharmony_ci     * @permission ohos.permission.DOWNLOAD_SESSION_MANAGER or ohos.permission.UPLOAD_SESSION_MANAGER
518061847f8eSopenharmony_ci     * @param { string } id the task id.
518161847f8eSopenharmony_ci     * @param { AsyncCallback<TaskInfo> } callback callback function with a `TaskInfo` argument for informations of the current task.
518261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - permission denied.
518361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - permission verification failed, application which is not a system application uses system API.
518461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
518561847f8eSopenharmony_ci     * <br>2. Incorrect parameter type.
518661847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
518761847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
518861847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
518961847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
519061847f8eSopenharmony_ci     * @since 10
519161847f8eSopenharmony_ci     */
519261847f8eSopenharmony_ci    function query(id: string, callback: AsyncCallback<TaskInfo>): void;
519361847f8eSopenharmony_ci
519461847f8eSopenharmony_ci    /**
519561847f8eSopenharmony_ci     * Queries specified task details.
519661847f8eSopenharmony_ci     *
519761847f8eSopenharmony_ci     * @permission ohos.permission.DOWNLOAD_SESSION_MANAGER or ohos.permission.UPLOAD_SESSION_MANAGER
519861847f8eSopenharmony_ci     * @param { string } id the task id.
519961847f8eSopenharmony_ci     * @returns { Promise<TaskInfo> } the promise returned by the function.
520061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - permission denied.
520161847f8eSopenharmony_ci     * @throws { BusinessError } 202 - permission verification failed, application which is not a system application uses system API.
520261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - parameter error. Possible causes: 1. Missing mandatory parameters.
520361847f8eSopenharmony_ci     * <br>2. Incorrect parameter type.
520461847f8eSopenharmony_ci     * @throws { BusinessError } 13400003 - task service ability error.
520561847f8eSopenharmony_ci     * @throws { BusinessError } 21900006 - task not found.
520661847f8eSopenharmony_ci     * @syscap SystemCapability.Request.FileTransferAgent
520761847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
520861847f8eSopenharmony_ci     * @since 10
520961847f8eSopenharmony_ci     */
521061847f8eSopenharmony_ci    function query(id: string): Promise<TaskInfo>;
521161847f8eSopenharmony_ci  }
521261847f8eSopenharmony_ci}
521361847f8eSopenharmony_ci
521461847f8eSopenharmony_ciexport default request;
5215