161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (C) 2023 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 Helper functions to access image and video assets
1861847f8eSopenharmony_ci * @kit MediaLibraryKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport type { AsyncCallback, Callback } from './@ohos.base';
2261847f8eSopenharmony_ciimport type Context from './application/Context';
2361847f8eSopenharmony_ciimport type image from './@ohos.multimedia.image';
2461847f8eSopenharmony_ciimport type dataSharePredicates from './@ohos.data.dataSharePredicates';
2561847f8eSopenharmony_ciimport type { CustomColors } from './@ohos.arkui.theme';
2661847f8eSopenharmony_ci
2761847f8eSopenharmony_ci/**
2861847f8eSopenharmony_ci * Helper functions to access image and video assets
2961847f8eSopenharmony_ci *
3061847f8eSopenharmony_ci * @namespace photoAccessHelper
3161847f8eSopenharmony_ci * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
3261847f8eSopenharmony_ci * @since 10
3361847f8eSopenharmony_ci */
3461847f8eSopenharmony_ci/**
3561847f8eSopenharmony_ci * Helper functions to access image and video assets
3661847f8eSopenharmony_ci *
3761847f8eSopenharmony_ci * @namespace photoAccessHelper
3861847f8eSopenharmony_ci * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
3961847f8eSopenharmony_ci * @atomicservice
4061847f8eSopenharmony_ci * @since 11
4161847f8eSopenharmony_ci */
4261847f8eSopenharmony_ci/**
4361847f8eSopenharmony_ci * Helper functions to access image and video assets
4461847f8eSopenharmony_ci *
4561847f8eSopenharmony_ci * @namespace photoAccessHelper
4661847f8eSopenharmony_ci * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
4761847f8eSopenharmony_ci * @crossplatform
4861847f8eSopenharmony_ci * @atomicservice
4961847f8eSopenharmony_ci * @since 12
5061847f8eSopenharmony_ci */
5161847f8eSopenharmony_cideclare namespace photoAccessHelper {
5261847f8eSopenharmony_ci  /**
5361847f8eSopenharmony_ci   * Returns an instance of PhotoAccessHelper
5461847f8eSopenharmony_ci   *
5561847f8eSopenharmony_ci   * @param { Context } context - Hap context information
5661847f8eSopenharmony_ci   * @returns { PhotoAccessHelper } Instance of PhotoAccessHelper
5761847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
5861847f8eSopenharmony_ci   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
5961847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
6061847f8eSopenharmony_ci   * @StageModelOnly
6161847f8eSopenharmony_ci   * @since 10
6261847f8eSopenharmony_ci   */
6361847f8eSopenharmony_ci  /**
6461847f8eSopenharmony_ci   * Returns an instance of PhotoAccessHelper
6561847f8eSopenharmony_ci   *
6661847f8eSopenharmony_ci   * @param { Context } context - Hap context information
6761847f8eSopenharmony_ci   * @returns { PhotoAccessHelper } Instance of PhotoAccessHelper
6861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
6961847f8eSopenharmony_ci   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
7061847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
7161847f8eSopenharmony_ci   * @StageModelOnly
7261847f8eSopenharmony_ci   * @atomicservice
7361847f8eSopenharmony_ci   * @since 11
7461847f8eSopenharmony_ci   */
7561847f8eSopenharmony_ci  /**
7661847f8eSopenharmony_ci   * Returns an instance of PhotoAccessHelper
7761847f8eSopenharmony_ci   *
7861847f8eSopenharmony_ci   * @param { Context } context - Hap context information
7961847f8eSopenharmony_ci   * @returns { PhotoAccessHelper } Instance of PhotoAccessHelper
8061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
8161847f8eSopenharmony_ci   * <br>2. Incorrect parameter types; 3. Parameter verification failed.
8261847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
8361847f8eSopenharmony_ci   * @StageModelOnly
8461847f8eSopenharmony_ci   * @crossplatform
8561847f8eSopenharmony_ci   * @atomicservice
8661847f8eSopenharmony_ci   * @since 12
8761847f8eSopenharmony_ci   */
8861847f8eSopenharmony_ci  function getPhotoAccessHelper(context: Context): PhotoAccessHelper;
8961847f8eSopenharmony_ci
9061847f8eSopenharmony_ci  /**
9161847f8eSopenharmony_ci   * Enumeration of different types of photos
9261847f8eSopenharmony_ci   *
9361847f8eSopenharmony_ci   * @enum { number } PhotoType
9461847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
9561847f8eSopenharmony_ci   * @since 10
9661847f8eSopenharmony_ci   */
9761847f8eSopenharmony_ci  /**
9861847f8eSopenharmony_ci   * Enumeration of different types of photos
9961847f8eSopenharmony_ci   *
10061847f8eSopenharmony_ci   * @enum { number } PhotoType
10161847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
10261847f8eSopenharmony_ci   * @atomicservice
10361847f8eSopenharmony_ci   * @since 11
10461847f8eSopenharmony_ci   */
10561847f8eSopenharmony_ci  /**
10661847f8eSopenharmony_ci   * Enumeration of different types of photos
10761847f8eSopenharmony_ci   *
10861847f8eSopenharmony_ci   * @enum { number } PhotoType
10961847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
11061847f8eSopenharmony_ci   * @crossplatform
11161847f8eSopenharmony_ci   * @atomicservice
11261847f8eSopenharmony_ci   * @since 12
11361847f8eSopenharmony_ci   */
11461847f8eSopenharmony_ci  enum PhotoType {
11561847f8eSopenharmony_ci    /**
11661847f8eSopenharmony_ci     * Image asset
11761847f8eSopenharmony_ci     *
11861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
11961847f8eSopenharmony_ci     * @since 10
12061847f8eSopenharmony_ci     */
12161847f8eSopenharmony_ci    /**
12261847f8eSopenharmony_ci     * Image asset
12361847f8eSopenharmony_ci     *
12461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
12561847f8eSopenharmony_ci     * @atomicservice
12661847f8eSopenharmony_ci     * @since 11
12761847f8eSopenharmony_ci     */
12861847f8eSopenharmony_ci    /**
12961847f8eSopenharmony_ci     * Image asset
13061847f8eSopenharmony_ci     *
13161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
13261847f8eSopenharmony_ci     * @crossplatform
13361847f8eSopenharmony_ci     * @atomicservice
13461847f8eSopenharmony_ci     * @since 12
13561847f8eSopenharmony_ci     */
13661847f8eSopenharmony_ci    IMAGE = 1,
13761847f8eSopenharmony_ci    /**
13861847f8eSopenharmony_ci     * Video asset
13961847f8eSopenharmony_ci     *
14061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
14161847f8eSopenharmony_ci     * @since 10
14261847f8eSopenharmony_ci     */
14361847f8eSopenharmony_ci    /**
14461847f8eSopenharmony_ci     * Video asset
14561847f8eSopenharmony_ci     *
14661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
14761847f8eSopenharmony_ci     * @atomicservice
14861847f8eSopenharmony_ci     * @since 11
14961847f8eSopenharmony_ci     */
15061847f8eSopenharmony_ci    /**
15161847f8eSopenharmony_ci     * Video asset
15261847f8eSopenharmony_ci     *
15361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
15461847f8eSopenharmony_ci     * @crossplatform
15561847f8eSopenharmony_ci     * @atomicservice
15661847f8eSopenharmony_ci     * @since 12
15761847f8eSopenharmony_ci     */
15861847f8eSopenharmony_ci    VIDEO
15961847f8eSopenharmony_ci  }
16061847f8eSopenharmony_ci
16161847f8eSopenharmony_ci  /**
16261847f8eSopenharmony_ci   * Enumeration of different categories of photos
16361847f8eSopenharmony_ci   *
16461847f8eSopenharmony_ci   * @enum { number } PhotoSubtype
16561847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
16661847f8eSopenharmony_ci   * @systemapi
16761847f8eSopenharmony_ci   * @since 10
16861847f8eSopenharmony_ci   */
16961847f8eSopenharmony_ci  /**
17061847f8eSopenharmony_ci   * Enumeration of different categories of photos
17161847f8eSopenharmony_ci   *
17261847f8eSopenharmony_ci   * @enum { number } PhotoSubtype
17361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
17461847f8eSopenharmony_ci   * @atomicservice
17561847f8eSopenharmony_ci   * @since 12
17661847f8eSopenharmony_ci   */
17761847f8eSopenharmony_ci  enum PhotoSubtype {
17861847f8eSopenharmony_ci    /**
17961847f8eSopenharmony_ci     * Default Photo Type
18061847f8eSopenharmony_ci     *
18161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
18261847f8eSopenharmony_ci     * @systemapi
18361847f8eSopenharmony_ci     * @since 10
18461847f8eSopenharmony_ci     */
18561847f8eSopenharmony_ci    /**
18661847f8eSopenharmony_ci     * Default Photo Type
18761847f8eSopenharmony_ci     *
18861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
18961847f8eSopenharmony_ci     * @atomicservice
19061847f8eSopenharmony_ci     * @since 12
19161847f8eSopenharmony_ci     */
19261847f8eSopenharmony_ci    DEFAULT = 0,
19361847f8eSopenharmony_ci    /**
19461847f8eSopenharmony_ci     * Screenshot Photo Type
19561847f8eSopenharmony_ci     *
19661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
19761847f8eSopenharmony_ci     * @systemapi
19861847f8eSopenharmony_ci     * @since 10
19961847f8eSopenharmony_ci     */
20061847f8eSopenharmony_ci    SCREENSHOT = 1,
20161847f8eSopenharmony_ci    /**
20261847f8eSopenharmony_ci     * Moving Photo Type
20361847f8eSopenharmony_ci     *
20461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
20561847f8eSopenharmony_ci     * @atomicservice
20661847f8eSopenharmony_ci     * @since 12
20761847f8eSopenharmony_ci     */
20861847f8eSopenharmony_ci    MOVING_PHOTO = 3,
20961847f8eSopenharmony_ci    /**
21061847f8eSopenharmony_ci     * Burst Photo Type
21161847f8eSopenharmony_ci     *
21261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
21361847f8eSopenharmony_ci     * @atomicservice
21461847f8eSopenharmony_ci     * @since 12
21561847f8eSopenharmony_ci     */
21661847f8eSopenharmony_ci    BURST = 4,
21761847f8eSopenharmony_ci  }
21861847f8eSopenharmony_ci
21961847f8eSopenharmony_ci  /**
22061847f8eSopenharmony_ci   * Enumeration of dynamic range type
22161847f8eSopenharmony_ci   *
22261847f8eSopenharmony_ci   * @enum { number } DynamicRangeType
22361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
22461847f8eSopenharmony_ci   * @since 12
22561847f8eSopenharmony_ci   */
22661847f8eSopenharmony_ci  enum DynamicRangeType {
22761847f8eSopenharmony_ci    /**
22861847f8eSopenharmony_ci     * SDR(Standard-Dynamic Range) format
22961847f8eSopenharmony_ci     *
23061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
23161847f8eSopenharmony_ci     * @since 12
23261847f8eSopenharmony_ci     */
23361847f8eSopenharmony_ci    SDR = 0,
23461847f8eSopenharmony_ci    /**
23561847f8eSopenharmony_ci     * HDR(High-Dynamic Range) format
23661847f8eSopenharmony_ci     *
23761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
23861847f8eSopenharmony_ci     * @since 12
23961847f8eSopenharmony_ci     */
24061847f8eSopenharmony_ci    HDR = 1
24161847f8eSopenharmony_ci  }
24261847f8eSopenharmony_ci
24361847f8eSopenharmony_ci  /**
24461847f8eSopenharmony_ci   * Photo asset position
24561847f8eSopenharmony_ci   *
24661847f8eSopenharmony_ci   * @enum { number } Photo asset position, such as local device or cloud
24761847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
24861847f8eSopenharmony_ci   * @systemapi
24961847f8eSopenharmony_ci   * @since 10
25061847f8eSopenharmony_ci   */
25161847f8eSopenharmony_ci  enum PositionType {
25261847f8eSopenharmony_ci    /**
25361847f8eSopenharmony_ci     * Asset exists only in local device
25461847f8eSopenharmony_ci     *
25561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
25661847f8eSopenharmony_ci     * @systemapi
25761847f8eSopenharmony_ci     * @since 10
25861847f8eSopenharmony_ci     */
25961847f8eSopenharmony_ci    LOCAL = 1 << 0,
26061847f8eSopenharmony_ci    /**
26161847f8eSopenharmony_ci     * Asset exists only in cloud
26261847f8eSopenharmony_ci     *
26361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
26461847f8eSopenharmony_ci     * @systemapi
26561847f8eSopenharmony_ci     * @since 10
26661847f8eSopenharmony_ci     */
26761847f8eSopenharmony_ci    CLOUD = 1 << 1
26861847f8eSopenharmony_ci  }
26961847f8eSopenharmony_ci
27061847f8eSopenharmony_ci  /**
27161847f8eSopenharmony_ci   * Analysis type
27261847f8eSopenharmony_ci   *
27361847f8eSopenharmony_ci   * @enum { number } AnalysisType
27461847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
27561847f8eSopenharmony_ci   * @systemapi
27661847f8eSopenharmony_ci   * @since 11
27761847f8eSopenharmony_ci   */
27861847f8eSopenharmony_ci  enum AnalysisType {
27961847f8eSopenharmony_ci    /**
28061847f8eSopenharmony_ci     * Analysis of aesthetics score
28161847f8eSopenharmony_ci     *
28261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
28361847f8eSopenharmony_ci     * @systemapi
28461847f8eSopenharmony_ci     * @since 11
28561847f8eSopenharmony_ci     */
28661847f8eSopenharmony_ci    ANALYSIS_AESTHETICS_SCORE = 0,
28761847f8eSopenharmony_ci    /**
28861847f8eSopenharmony_ci     * Analysis of label
28961847f8eSopenharmony_ci     *
29061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
29161847f8eSopenharmony_ci     * @systemapi
29261847f8eSopenharmony_ci     * @since 11
29361847f8eSopenharmony_ci     */
29461847f8eSopenharmony_ci    ANALYSIS_LABEL,
29561847f8eSopenharmony_ci    /**
29661847f8eSopenharmony_ci     * Analysis of ocr
29761847f8eSopenharmony_ci     *
29861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
29961847f8eSopenharmony_ci     * @systemapi
30061847f8eSopenharmony_ci     * @since 11
30161847f8eSopenharmony_ci     */
30261847f8eSopenharmony_ci    ANALYSIS_OCR,
30361847f8eSopenharmony_ci    /**
30461847f8eSopenharmony_ci     * Analysis of face
30561847f8eSopenharmony_ci     *
30661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
30761847f8eSopenharmony_ci     * @systemapi
30861847f8eSopenharmony_ci     * @since 11
30961847f8eSopenharmony_ci     */
31061847f8eSopenharmony_ci    ANALYSIS_FACE,
31161847f8eSopenharmony_ci    /**
31261847f8eSopenharmony_ci     * Analysis of object
31361847f8eSopenharmony_ci     *
31461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
31561847f8eSopenharmony_ci     * @systemapi
31661847f8eSopenharmony_ci     * @since 11
31761847f8eSopenharmony_ci     */
31861847f8eSopenharmony_ci    ANALYSIS_OBJECT,
31961847f8eSopenharmony_ci    /**
32061847f8eSopenharmony_ci     * Analysis of recommendation
32161847f8eSopenharmony_ci     *
32261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
32361847f8eSopenharmony_ci     * @systemapi
32461847f8eSopenharmony_ci     * @since 11
32561847f8eSopenharmony_ci     */
32661847f8eSopenharmony_ci    ANALYSIS_RECOMMENDATION,
32761847f8eSopenharmony_ci    /**
32861847f8eSopenharmony_ci     * Analysis of segmentation
32961847f8eSopenharmony_ci     *
33061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
33161847f8eSopenharmony_ci     * @systemapi
33261847f8eSopenharmony_ci     * @since 11
33361847f8eSopenharmony_ci     */
33461847f8eSopenharmony_ci    ANALYSIS_SEGMENTATION,
33561847f8eSopenharmony_ci    /**
33661847f8eSopenharmony_ci     * Analysis of composition
33761847f8eSopenharmony_ci     *
33861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
33961847f8eSopenharmony_ci     * @systemapi
34061847f8eSopenharmony_ci     * @since 11
34161847f8eSopenharmony_ci     */
34261847f8eSopenharmony_ci    ANALYSIS_COMPOSITION,
34361847f8eSopenharmony_ci    /**
34461847f8eSopenharmony_ci     * Analysis of saliency
34561847f8eSopenharmony_ci     *
34661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
34761847f8eSopenharmony_ci     * @systemapi
34861847f8eSopenharmony_ci     * @since 11
34961847f8eSopenharmony_ci     */
35061847f8eSopenharmony_ci    ANALYSIS_SALIENCY,
35161847f8eSopenharmony_ci    /**
35261847f8eSopenharmony_ci     * Analysis of photo detail address info
35361847f8eSopenharmony_ci     *
35461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
35561847f8eSopenharmony_ci     * @systemapi
35661847f8eSopenharmony_ci     * @since 11
35761847f8eSopenharmony_ci     */
35861847f8eSopenharmony_ci    ANALYSIS_DETAIL_ADDRESS,
35961847f8eSopenharmony_ci    /**
36061847f8eSopenharmony_ci     * Analysis of human face tag
36161847f8eSopenharmony_ci     *
36261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
36361847f8eSopenharmony_ci     * @systemapi
36461847f8eSopenharmony_ci     * @since 12
36561847f8eSopenharmony_ci     */
36661847f8eSopenharmony_ci    ANALYSIS_HUMAN_FACE_TAG,
36761847f8eSopenharmony_ci    /**
36861847f8eSopenharmony_ci     * Analysis of head position
36961847f8eSopenharmony_ci     *
37061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
37161847f8eSopenharmony_ci     * @systemapi
37261847f8eSopenharmony_ci     * @since 12
37361847f8eSopenharmony_ci     */
37461847f8eSopenharmony_ci    ANALYSIS_HEAD_POSITION,
37561847f8eSopenharmony_ci    /**
37661847f8eSopenharmony_ci     * Analysis of bone pose
37761847f8eSopenharmony_ci     *
37861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
37961847f8eSopenharmony_ci     * @systemapi
38061847f8eSopenharmony_ci     * @since 12
38161847f8eSopenharmony_ci     */
38261847f8eSopenharmony_ci    ANALYSIS_BONE_POSE,
38361847f8eSopenharmony_ci    /**
38461847f8eSopenharmony_ci     * Analysis of video label
38561847f8eSopenharmony_ci     *
38661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
38761847f8eSopenharmony_ci     * @systemapi
38861847f8eSopenharmony_ci     * @since 12
38961847f8eSopenharmony_ci     */
39061847f8eSopenharmony_ci    ANALYSIS_VIDEO_LABEL,
39161847f8eSopenharmony_ci    /**
39261847f8eSopenharmony_ci     * Analysis of highlight
39361847f8eSopenharmony_ci     *
39461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
39561847f8eSopenharmony_ci     * @systemapi
39661847f8eSopenharmony_ci     * @since 12
39761847f8eSopenharmony_ci     */
39861847f8eSopenharmony_ci    ANALYSIS_HIGHLIGHT,
39961847f8eSopenharmony_ci    /**
40061847f8eSopenharmony_ci     * Analysis of multi crop
40161847f8eSopenharmony_ci     *
40261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
40361847f8eSopenharmony_ci     * @systemapi
40461847f8eSopenharmony_ci     * @since 12
40561847f8eSopenharmony_ci     */
40661847f8eSopenharmony_ci    ANALYSIS_MULTI_CROP
40761847f8eSopenharmony_ci  }
40861847f8eSopenharmony_ci
40961847f8eSopenharmony_ci  /**
41061847f8eSopenharmony_ci   * Enumeration of different recommendation type
41161847f8eSopenharmony_ci   *
41261847f8eSopenharmony_ci   * @enum { number } RecommendationType
41361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
41461847f8eSopenharmony_ci   * @atomicservice
41561847f8eSopenharmony_ci   * @since 11
41661847f8eSopenharmony_ci   */
41761847f8eSopenharmony_ci  enum RecommendationType {
41861847f8eSopenharmony_ci    /**
41961847f8eSopenharmony_ci     * QR_OR_BAR_CODE indicates that QR code or barcode photos can be recommended
42061847f8eSopenharmony_ci     *
42161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
42261847f8eSopenharmony_ci     * @atomicservice
42361847f8eSopenharmony_ci     * @since 11
42461847f8eSopenharmony_ci     */
42561847f8eSopenharmony_ci    QR_OR_BAR_CODE = 1,
42661847f8eSopenharmony_ci
42761847f8eSopenharmony_ci    /**
42861847f8eSopenharmony_ci     * QR_CODE indicates that QR code photos can be recommended
42961847f8eSopenharmony_ci     *
43061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
43161847f8eSopenharmony_ci     * @atomicservice
43261847f8eSopenharmony_ci     * @since 11
43361847f8eSopenharmony_ci     */
43461847f8eSopenharmony_ci    QR_CODE = 2,
43561847f8eSopenharmony_ci
43661847f8eSopenharmony_ci    /**
43761847f8eSopenharmony_ci     * BAR_CODE indicates that barcode photos can be recommended
43861847f8eSopenharmony_ci     *
43961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
44061847f8eSopenharmony_ci     * @atomicservice
44161847f8eSopenharmony_ci     * @since 11
44261847f8eSopenharmony_ci     */
44361847f8eSopenharmony_ci    BAR_CODE = 3,
44461847f8eSopenharmony_ci
44561847f8eSopenharmony_ci    /**
44661847f8eSopenharmony_ci     * ID_CARD indicates that QR code or barcode photos can be recommended
44761847f8eSopenharmony_ci     *
44861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
44961847f8eSopenharmony_ci     * @atomicservice
45061847f8eSopenharmony_ci     * @since 11
45161847f8eSopenharmony_ci     */
45261847f8eSopenharmony_ci    ID_CARD = 4,
45361847f8eSopenharmony_ci
45461847f8eSopenharmony_ci    /**
45561847f8eSopenharmony_ci     * PROFILE_PICTURE indicates that profile picture photos can be recommended
45661847f8eSopenharmony_ci     *
45761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
45861847f8eSopenharmony_ci     * @atomicservice
45961847f8eSopenharmony_ci     * @since 11
46061847f8eSopenharmony_ci     */
46161847f8eSopenharmony_ci    PROFILE_PICTURE = 5,
46261847f8eSopenharmony_ci
46361847f8eSopenharmony_ci    /**
46461847f8eSopenharmony_ci     * PASSPORT indicates that passport photos can be recommended
46561847f8eSopenharmony_ci     *
46661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
46761847f8eSopenharmony_ci     * @atomicservice
46861847f8eSopenharmony_ci     * @since 12
46961847f8eSopenharmony_ci     */
47061847f8eSopenharmony_ci    PASSPORT = 6,
47161847f8eSopenharmony_ci
47261847f8eSopenharmony_ci    /**
47361847f8eSopenharmony_ci     * BANK_CARD indicates that bank card photos can be recommended
47461847f8eSopenharmony_ci     *
47561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
47661847f8eSopenharmony_ci     * @atomicservice
47761847f8eSopenharmony_ci     * @since 12
47861847f8eSopenharmony_ci     */
47961847f8eSopenharmony_ci    BANK_CARD = 7,
48061847f8eSopenharmony_ci
48161847f8eSopenharmony_ci    /**
48261847f8eSopenharmony_ci     * DRIVER_LICENSE indicates that driver license photos can be recommended
48361847f8eSopenharmony_ci     *
48461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
48561847f8eSopenharmony_ci     * @atomicservice
48661847f8eSopenharmony_ci     * @since 12
48761847f8eSopenharmony_ci     */
48861847f8eSopenharmony_ci    DRIVER_LICENSE = 8,
48961847f8eSopenharmony_ci
49061847f8eSopenharmony_ci    /**
49161847f8eSopenharmony_ci     * DRIVING_LICENSE indicates that driving license photos can be recommended
49261847f8eSopenharmony_ci     *
49361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
49461847f8eSopenharmony_ci     * @atomicservice
49561847f8eSopenharmony_ci     * @since 12
49661847f8eSopenharmony_ci     */
49761847f8eSopenharmony_ci    DRIVING_LICENSE = 9,
49861847f8eSopenharmony_ci
49961847f8eSopenharmony_ci    /**
50061847f8eSopenharmony_ci     * FEATURED_SINGLE_PORTRAIT indicates that featured single portrait photos can be recommended
50161847f8eSopenharmony_ci     *
50261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
50361847f8eSopenharmony_ci     * @atomicservice
50461847f8eSopenharmony_ci     * @since 12
50561847f8eSopenharmony_ci     */
50661847f8eSopenharmony_ci    FEATURED_SINGLE_PORTRAIT = 10
50761847f8eSopenharmony_ci  }
50861847f8eSopenharmony_ci
50961847f8eSopenharmony_ci  /**
51061847f8eSopenharmony_ci   * Enumeration of delivery mode.
51161847f8eSopenharmony_ci   *
51261847f8eSopenharmony_ci   * @enum { number } DeliveryMode
51361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
51461847f8eSopenharmony_ci   * @since 11
51561847f8eSopenharmony_ci   */
51661847f8eSopenharmony_ci  enum DeliveryMode {
51761847f8eSopenharmony_ci    /**
51861847f8eSopenharmony_ci     * Fast delivery mode
51961847f8eSopenharmony_ci     *
52061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
52161847f8eSopenharmony_ci     * @since 11
52261847f8eSopenharmony_ci     */
52361847f8eSopenharmony_ci    FAST_MODE = 0,
52461847f8eSopenharmony_ci
52561847f8eSopenharmony_ci    /**
52661847f8eSopenharmony_ci     * High quality delivery mode
52761847f8eSopenharmony_ci     *
52861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
52961847f8eSopenharmony_ci     * @since 11
53061847f8eSopenharmony_ci     */
53161847f8eSopenharmony_ci    HIGH_QUALITY_MODE = 1,
53261847f8eSopenharmony_ci
53361847f8eSopenharmony_ci    /**
53461847f8eSopenharmony_ci     * Balance delivery mode
53561847f8eSopenharmony_ci     *
53661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
53761847f8eSopenharmony_ci     * @since 11
53861847f8eSopenharmony_ci     */
53961847f8eSopenharmony_ci    BALANCE_MODE = 2
54061847f8eSopenharmony_ci  }
54161847f8eSopenharmony_ci
54261847f8eSopenharmony_ci  /**
54361847f8eSopenharmony_ci   * Enumeration of compatible mode.
54461847f8eSopenharmony_ci   *
54561847f8eSopenharmony_ci   * @enum { number } CompatibleMode
54661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
54761847f8eSopenharmony_ci   * @since 13
54861847f8eSopenharmony_ci   */
54961847f8eSopenharmony_ci  enum CompatibleMode {
55061847f8eSopenharmony_ci    /**
55161847f8eSopenharmony_ci     * Original format mode
55261847f8eSopenharmony_ci     *
55361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
55461847f8eSopenharmony_ci     * @since 13
55561847f8eSopenharmony_ci     */
55661847f8eSopenharmony_ci    ORIGINAL_FORMAT_MODE = 0,
55761847f8eSopenharmony_ci
55861847f8eSopenharmony_ci    /**
55961847f8eSopenharmony_ci     * Compatible format mode.
56061847f8eSopenharmony_ci     *
56161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
56261847f8eSopenharmony_ci     * @since 13
56361847f8eSopenharmony_ci     */
56461847f8eSopenharmony_ci    COMPATIBLE_FORMAT_MODE = 1
56561847f8eSopenharmony_ci  }
56661847f8eSopenharmony_ci
56761847f8eSopenharmony_ci  /**
56861847f8eSopenharmony_ci   * Data handler used to notify the progress of required media asset data
56961847f8eSopenharmony_ci   *
57061847f8eSopenharmony_ci   * @interface MediaAssetProgressHandler
57161847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
57261847f8eSopenharmony_ci   * @since 13
57361847f8eSopenharmony_ci   */
57461847f8eSopenharmony_ci  interface MediaAssetProgressHandler {
57561847f8eSopenharmony_ci    /**
57661847f8eSopenharmony_ci     * Indicates the progress of required media asset data
57761847f8eSopenharmony_ci     *
57861847f8eSopenharmony_ci     * @param { number } progress - the progress of required media asset data; from 0 to 100.
57961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
58061847f8eSopenharmony_ci     * @since 13
58161847f8eSopenharmony_ci     */
58261847f8eSopenharmony_ci    onProgress(progress: number): void;
58361847f8eSopenharmony_ci  }
58461847f8eSopenharmony_ci
58561847f8eSopenharmony_ci  /**
58661847f8eSopenharmony_ci   * Enumeration of source mode
58761847f8eSopenharmony_ci   *
58861847f8eSopenharmony_ci   * @enum { number } SourceMode
58961847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
59061847f8eSopenharmony_ci   * @systemapi
59161847f8eSopenharmony_ci   * @since 11
59261847f8eSopenharmony_ci   */
59361847f8eSopenharmony_ci  enum SourceMode {
59461847f8eSopenharmony_ci    /**
59561847f8eSopenharmony_ci     * Original mode
59661847f8eSopenharmony_ci     *
59761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
59861847f8eSopenharmony_ci     * @systemapi
59961847f8eSopenharmony_ci     * @since 11
60061847f8eSopenharmony_ci     */
60161847f8eSopenharmony_ci    ORIGINAL_MODE = 0,
60261847f8eSopenharmony_ci
60361847f8eSopenharmony_ci    /**
60461847f8eSopenharmony_ci     * Edited mode
60561847f8eSopenharmony_ci     *
60661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
60761847f8eSopenharmony_ci     * @systemapi
60861847f8eSopenharmony_ci     * @since 11
60961847f8eSopenharmony_ci     */
61061847f8eSopenharmony_ci    EDITED_MODE = 1
61161847f8eSopenharmony_ci  }
61261847f8eSopenharmony_ci
61361847f8eSopenharmony_ci  /**
61461847f8eSopenharmony_ci   * Enumeration type of permissions for accessing asset uri.
61561847f8eSopenharmony_ci   *
61661847f8eSopenharmony_ci   * @enum { number } PhotoPermissionType
61761847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
61861847f8eSopenharmony_ci   * @systemapi
61961847f8eSopenharmony_ci   * @since 12
62061847f8eSopenharmony_ci   */
62161847f8eSopenharmony_ci  enum PhotoPermissionType {
62261847f8eSopenharmony_ci    /**
62361847f8eSopenharmony_ci     * Temporary access to photos, this permission could be canceled when APP dies.
62461847f8eSopenharmony_ci     *
62561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
62661847f8eSopenharmony_ci     * @systemapi
62761847f8eSopenharmony_ci     * @since 12
62861847f8eSopenharmony_ci     */
62961847f8eSopenharmony_ci    TEMPORARY_READ_IMAGEVIDEO = 0,
63061847f8eSopenharmony_ci
63161847f8eSopenharmony_ci    /**
63261847f8eSopenharmony_ci     * Persistence access to photos.
63361847f8eSopenharmony_ci     *
63461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
63561847f8eSopenharmony_ci     * @systemapi
63661847f8eSopenharmony_ci     * @since 12
63761847f8eSopenharmony_ci     */
63861847f8eSopenharmony_ci    PERSISTENT_READ_IMAGEVIDEO = 1
63961847f8eSopenharmony_ci  }
64061847f8eSopenharmony_ci
64161847f8eSopenharmony_ci  /**
64261847f8eSopenharmony_ci   * Enumeration type of hide sensitive information.
64361847f8eSopenharmony_ci   *
64461847f8eSopenharmony_ci   * @enum { number } HideSensitiveType
64561847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
64661847f8eSopenharmony_ci   * @systemapi
64761847f8eSopenharmony_ci   * @since 12
64861847f8eSopenharmony_ci   */
64961847f8eSopenharmony_ci  enum HideSensitiveType {
65061847f8eSopenharmony_ci    /**
65161847f8eSopenharmony_ci     * Hide location information and shooting param.
65261847f8eSopenharmony_ci     *
65361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
65461847f8eSopenharmony_ci     * @systemapi
65561847f8eSopenharmony_ci     * @since 12
65661847f8eSopenharmony_ci     */
65761847f8eSopenharmony_ci    HIDE_LOCATION_AND_SHOOTING_PARAM = 0,
65861847f8eSopenharmony_ci
65961847f8eSopenharmony_ci    /**
66061847f8eSopenharmony_ci     * Hide location information.
66161847f8eSopenharmony_ci     *
66261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
66361847f8eSopenharmony_ci     * @systemapi
66461847f8eSopenharmony_ci     * @since 12
66561847f8eSopenharmony_ci     */
66661847f8eSopenharmony_ci    HIDE_LOCATION_ONLY = 1,
66761847f8eSopenharmony_ci
66861847f8eSopenharmony_ci    /**
66961847f8eSopenharmony_ci     * Hide shooting param.
67061847f8eSopenharmony_ci     *
67161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
67261847f8eSopenharmony_ci     * @systemapi
67361847f8eSopenharmony_ci     * @since 12
67461847f8eSopenharmony_ci     */
67561847f8eSopenharmony_ci    HIDE_SHOOTING_PARAM_ONLY = 2,
67661847f8eSopenharmony_ci
67761847f8eSopenharmony_ci    /**
67861847f8eSopenharmony_ci     * Hide nothing.
67961847f8eSopenharmony_ci     *
68061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
68161847f8eSopenharmony_ci     * @systemapi
68261847f8eSopenharmony_ci     * @since 12
68361847f8eSopenharmony_ci     */
68461847f8eSopenharmony_ci    NO_HIDE_SENSITIVE_TYPE = 3
68561847f8eSopenharmony_ci  }
68661847f8eSopenharmony_ci
68761847f8eSopenharmony_ci  /**
68861847f8eSopenharmony_ci   * Enumeration type of authorization mode.
68961847f8eSopenharmony_ci   *
69061847f8eSopenharmony_ci   * @enum { number } AuthorizationMode
69161847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
69261847f8eSopenharmony_ci   * @systemapi
69361847f8eSopenharmony_ci   * @since 12
69461847f8eSopenharmony_ci   */
69561847f8eSopenharmony_ci  enum AuthorizationMode {
69661847f8eSopenharmony_ci    /**
69761847f8eSopenharmony_ci     * Short time authorization.
69861847f8eSopenharmony_ci     *
69961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
70061847f8eSopenharmony_ci     * @systemapi
70161847f8eSopenharmony_ci     * @since 12
70261847f8eSopenharmony_ci     */
70361847f8eSopenharmony_ci    SHORT_TIME_AUTHORIZATION = 0
70461847f8eSopenharmony_ci  }
70561847f8eSopenharmony_ci
70661847f8eSopenharmony_ci  /**
70761847f8eSopenharmony_ci   * Enum: complete button text
70861847f8eSopenharmony_ci   *
70961847f8eSopenharmony_ci   * @enum { number } CompleteButtonText
71061847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
71161847f8eSopenharmony_ci   * @atomicservice
71261847f8eSopenharmony_ci   * @since 12
71361847f8eSopenharmony_ci   */
71461847f8eSopenharmony_ci  enum CompleteButtonText {
71561847f8eSopenharmony_ci    /**
71661847f8eSopenharmony_ci     * Complete button text: done
71761847f8eSopenharmony_ci     *
71861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
71961847f8eSopenharmony_ci     * @atomicservice
72061847f8eSopenharmony_ci     * @since 12
72161847f8eSopenharmony_ci     */
72261847f8eSopenharmony_ci    TEXT_DONE = 0,
72361847f8eSopenharmony_ci    /**
72461847f8eSopenharmony_ci     * Complete button text: send
72561847f8eSopenharmony_ci     *
72661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
72761847f8eSopenharmony_ci     * @atomicservice
72861847f8eSopenharmony_ci     * @since 12
72961847f8eSopenharmony_ci     */
73061847f8eSopenharmony_ci    TEXT_SEND = 1,
73161847f8eSopenharmony_ci
73261847f8eSopenharmony_ci    /**
73361847f8eSopenharmony_ci     * Complete button text: add
73461847f8eSopenharmony_ci     *
73561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
73661847f8eSopenharmony_ci     * @atomicservice
73761847f8eSopenharmony_ci     * @since 12
73861847f8eSopenharmony_ci     */
73961847f8eSopenharmony_ci    TEXT_ADD = 2,
74061847f8eSopenharmony_ci  }
74161847f8eSopenharmony_ci
74261847f8eSopenharmony_ci  /**
74361847f8eSopenharmony_ci   * Enumeration type of watermarktypes of photos
74461847f8eSopenharmony_ci   *
74561847f8eSopenharmony_ci   * @enum { number } WatermarkType
74661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
74761847f8eSopenharmony_ci   * @systemapi
74861847f8eSopenharmony_ci   * @since 13
74961847f8eSopenharmony_ci   */
75061847f8eSopenharmony_ci  enum WatermarkType {
75161847f8eSopenharmony_ci    /**
75261847f8eSopenharmony_ci     * WatermarkType of Default
75361847f8eSopenharmony_ci     *
75461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
75561847f8eSopenharmony_ci     * @systemapi
75661847f8eSopenharmony_ci     * @since 13
75761847f8eSopenharmony_ci     */
75861847f8eSopenharmony_ci    DEFAULT = 0,
75961847f8eSopenharmony_ci
76061847f8eSopenharmony_ci    /**
76161847f8eSopenharmony_ci     * WatermarkType of BRAND_COMMON
76261847f8eSopenharmony_ci     *
76361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
76461847f8eSopenharmony_ci     * @systemapi
76561847f8eSopenharmony_ci     * @since 13
76661847f8eSopenharmony_ci     */
76761847f8eSopenharmony_ci    BRAND_COMMON = 1,
76861847f8eSopenharmony_ci
76961847f8eSopenharmony_ci    /**
77061847f8eSopenharmony_ci     * WatermarkType of COMMON
77161847f8eSopenharmony_ci     *
77261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
77361847f8eSopenharmony_ci     * @systemapi
77461847f8eSopenharmony_ci     * @since 13
77561847f8eSopenharmony_ci     */
77661847f8eSopenharmony_ci    COMMON = 2,
77761847f8eSopenharmony_ci
77861847f8eSopenharmony_ci    /**
77961847f8eSopenharmony_ci     * WatermarkType of BRAND
78061847f8eSopenharmony_ci     *
78161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
78261847f8eSopenharmony_ci     * @systemapi
78361847f8eSopenharmony_ci     * @since 13
78461847f8eSopenharmony_ci     */
78561847f8eSopenharmony_ci    BRAND = 3,
78661847f8eSopenharmony_ci  }
78761847f8eSopenharmony_ci  
78861847f8eSopenharmony_ci  /**
78961847f8eSopenharmony_ci   * Options to request media asset
79061847f8eSopenharmony_ci   *
79161847f8eSopenharmony_ci   * @interface RequestOptions
79261847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
79361847f8eSopenharmony_ci   * @since 11
79461847f8eSopenharmony_ci   */
79561847f8eSopenharmony_ci  interface RequestOptions {
79661847f8eSopenharmony_ci    /**
79761847f8eSopenharmony_ci     * Indicates the delivery mode
79861847f8eSopenharmony_ci     *
79961847f8eSopenharmony_ci     * @type { DeliveryMode }
80061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
80161847f8eSopenharmony_ci     * @since 11
80261847f8eSopenharmony_ci     */
80361847f8eSopenharmony_ci    deliveryMode: DeliveryMode;
80461847f8eSopenharmony_ci
80561847f8eSopenharmony_ci    /**
80661847f8eSopenharmony_ci     * Indicates the source mode
80761847f8eSopenharmony_ci     *
80861847f8eSopenharmony_ci     * @type { ?SourceMode }
80961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
81061847f8eSopenharmony_ci     * @systemapi
81161847f8eSopenharmony_ci     * @since 11
81261847f8eSopenharmony_ci     */
81361847f8eSopenharmony_ci    sourceMode?: SourceMode;
81461847f8eSopenharmony_ci
81561847f8eSopenharmony_ci    /**
81661847f8eSopenharmony_ci     * Indicates the compatible mode
81761847f8eSopenharmony_ci     *
81861847f8eSopenharmony_ci     * @type { ?CompatibleMode }
81961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
82061847f8eSopenharmony_ci     * @since 13
82161847f8eSopenharmony_ci     */
82261847f8eSopenharmony_ci    compatibleMode?: CompatibleMode;
82361847f8eSopenharmony_ci
82461847f8eSopenharmony_ci    /**
82561847f8eSopenharmony_ci     * data handler used to notify the progress of required media asset data
82661847f8eSopenharmony_ci     *
82761847f8eSopenharmony_ci     * @type { ?MediaAssetProgressHandler }
82861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
82961847f8eSopenharmony_ci     * @since 13
83061847f8eSopenharmony_ci     */
83161847f8eSopenharmony_ci    mediaAssetProgressHandler?: MediaAssetProgressHandler;
83261847f8eSopenharmony_ci  }
83361847f8eSopenharmony_ci
83461847f8eSopenharmony_ci  /**
83561847f8eSopenharmony_ci   * Media asset data handler
83661847f8eSopenharmony_ci   *
83761847f8eSopenharmony_ci   * @interface MediaAssetDataHandler
83861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
83961847f8eSopenharmony_ci   * @since 11
84061847f8eSopenharmony_ci   */
84161847f8eSopenharmony_ci  interface MediaAssetDataHandler<T> {
84261847f8eSopenharmony_ci    /**
84361847f8eSopenharmony_ci     * Indicates required media asset data is prepared
84461847f8eSopenharmony_ci     *
84561847f8eSopenharmony_ci     * @param { T } data - the returned data of media asset
84661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
84761847f8eSopenharmony_ci     * @since 11
84861847f8eSopenharmony_ci     */
84961847f8eSopenharmony_ci    /**
85061847f8eSopenharmony_ci     * Indicates required media asset data is prepared
85161847f8eSopenharmony_ci     *
85261847f8eSopenharmony_ci     * @param { T } data - the returned data of media asset
85361847f8eSopenharmony_ci     * @param { Map<string, string> } [map] - additional information for the data
85461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
85561847f8eSopenharmony_ci     * @since 12
85661847f8eSopenharmony_ci     */
85761847f8eSopenharmony_ci    onDataPrepared(data: T, map?: Map<string, string>): void;
85861847f8eSopenharmony_ci  }
85961847f8eSopenharmony_ci
86061847f8eSopenharmony_ci  /**
86161847f8eSopenharmony_ci   * Data handler when quick request image is finished
86261847f8eSopenharmony_ci   *
86361847f8eSopenharmony_ci   * @typedef QuickImageDataHandler
86461847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
86561847f8eSopenharmony_ci   * @since 13
86661847f8eSopenharmony_ci   */
86761847f8eSopenharmony_ci  interface QuickImageDataHandler<T> {
86861847f8eSopenharmony_ci    /**
86961847f8eSopenharmony_ci     * Indicates required media asset data quickly is prepared
87061847f8eSopenharmony_ci     *
87161847f8eSopenharmony_ci     * @param { T } data - the returned data of picture
87261847f8eSopenharmony_ci     * @param { image.ImageSource } imageSource - the returned data of imageSource
87361847f8eSopenharmony_ci     * @param { Map<string, string> } map - additional information for the data
87461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
87561847f8eSopenharmony_ci     * @since 13
87661847f8eSopenharmony_ci     */
87761847f8eSopenharmony_ci    onDataPrepared(data: T, imageSource: image.ImageSource, map: Map<string, string>): void;
87861847f8eSopenharmony_ci  }
87961847f8eSopenharmony_ci
88061847f8eSopenharmony_ci  /**
88161847f8eSopenharmony_ci   * Photo Proxy used to save image data
88261847f8eSopenharmony_ci   *
88361847f8eSopenharmony_ci   * @interface PhotoProxy
88461847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
88561847f8eSopenharmony_ci   * @systemapi
88661847f8eSopenharmony_ci   * @since 11
88761847f8eSopenharmony_ci   */
88861847f8eSopenharmony_ci  interface PhotoProxy {}
88961847f8eSopenharmony_ci
89061847f8eSopenharmony_ci  /**
89161847f8eSopenharmony_ci   * Media asset manager
89261847f8eSopenharmony_ci   *
89361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
89461847f8eSopenharmony_ci   * @since 11
89561847f8eSopenharmony_ci   */
89661847f8eSopenharmony_ci  class MediaAssetManager {
89761847f8eSopenharmony_ci    /**
89861847f8eSopenharmony_ci     * Request image
89961847f8eSopenharmony_ci     *
90061847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
90161847f8eSopenharmony_ci     * @param { Context } context - Hap context information
90261847f8eSopenharmony_ci     * @param { PhotoAsset } asset - the photo asset requested
90361847f8eSopenharmony_ci     * @param { RequestOptions } requestOptions - the request options
90461847f8eSopenharmony_ci     * @param { MediaAssetDataHandler<image.ImageSource> } dataHandler - data handler used to obtain media asset data when ImageSource is prepared
90561847f8eSopenharmony_ci     * @returns { Promise<string> } Returns request id
90661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
90761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
90861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
90961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
91061847f8eSopenharmony_ci     * @static
91161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
91261847f8eSopenharmony_ci     * @since 11
91361847f8eSopenharmony_ci     */
91461847f8eSopenharmony_ci    static requestImage(
91561847f8eSopenharmony_ci      context: Context,
91661847f8eSopenharmony_ci      asset: PhotoAsset,
91761847f8eSopenharmony_ci      requestOptions: RequestOptions,
91861847f8eSopenharmony_ci      dataHandler: MediaAssetDataHandler<image.ImageSource>
91961847f8eSopenharmony_ci    ): Promise<string>;
92061847f8eSopenharmony_ci
92161847f8eSopenharmony_ci    /**
92261847f8eSopenharmony_ci     * Quick request image
92361847f8eSopenharmony_ci     *
92461847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
92561847f8eSopenharmony_ci     * @param { Context } context - Hap context information
92661847f8eSopenharmony_ci     * @param { PhotoAsset } asset - the photo asset requested
92761847f8eSopenharmony_ci     * @param { RequestOptions } requestOptions - the request options
92861847f8eSopenharmony_ci     * @param { QuickImageDataHandler<image.Picture> } dataHandler - data handler used to obtain image data quickly when picture is prepared
92961847f8eSopenharmony_ci     * @returns { Promise<string> } Returns request id
93061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
93161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
93261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
93361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
93461847f8eSopenharmony_ci     * @static
93561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
93661847f8eSopenharmony_ci     * @since 13
93761847f8eSopenharmony_ci     */
93861847f8eSopenharmony_ci    static quickRequestImage(
93961847f8eSopenharmony_ci      context: Context,
94061847f8eSopenharmony_ci      asset: PhotoAsset,
94161847f8eSopenharmony_ci      requestOptions: RequestOptions,
94261847f8eSopenharmony_ci      dataHandler: QuickImageDataHandler<image.Picture>
94361847f8eSopenharmony_ci    ): Promise<string>;
94461847f8eSopenharmony_ci
94561847f8eSopenharmony_ci    /**
94661847f8eSopenharmony_ci     * Request image data
94761847f8eSopenharmony_ci     *
94861847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
94961847f8eSopenharmony_ci     * @param { Context } context - Hap context information
95061847f8eSopenharmony_ci     * @param { PhotoAsset } asset - the photo asset requested
95161847f8eSopenharmony_ci     * @param { RequestOptions } requestOptions - the request options
95261847f8eSopenharmony_ci     * @param { MediaAssetDataHandler<ArrayBuffer> } dataHandler - data handler used obtain media asset data when data is prepared
95361847f8eSopenharmony_ci     * @returns { Promise<string> } Returns request id
95461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
95561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
95661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
95761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
95861847f8eSopenharmony_ci     * @static
95961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
96061847f8eSopenharmony_ci     * @since 11
96161847f8eSopenharmony_ci     */
96261847f8eSopenharmony_ci    static requestImageData(
96361847f8eSopenharmony_ci      context: Context,
96461847f8eSopenharmony_ci      asset: PhotoAsset,
96561847f8eSopenharmony_ci      requestOptions: RequestOptions,
96661847f8eSopenharmony_ci      dataHandler: MediaAssetDataHandler<ArrayBuffer>
96761847f8eSopenharmony_ci    ): Promise<string>;
96861847f8eSopenharmony_ci
96961847f8eSopenharmony_ci    /**
97061847f8eSopenharmony_ci     * Request moving photo
97161847f8eSopenharmony_ci     *
97261847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
97361847f8eSopenharmony_ci     * @param { Context } context - Hap context information
97461847f8eSopenharmony_ci     * @param { PhotoAsset } asset - the photo asset requested
97561847f8eSopenharmony_ci     * @param { RequestOptions } requestOptions - the request options
97661847f8eSopenharmony_ci     * @param { MediaAssetDataHandler<MovingPhoto> } dataHandler - data handler used to obtain moving photo when data is prepared
97761847f8eSopenharmony_ci     * @returns { Promise<string> } Returns request id
97861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
97961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
98061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
98161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
98261847f8eSopenharmony_ci     * @static
98361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
98461847f8eSopenharmony_ci     * @since 12
98561847f8eSopenharmony_ci     */
98661847f8eSopenharmony_ci    static requestMovingPhoto(
98761847f8eSopenharmony_ci      context: Context,
98861847f8eSopenharmony_ci      asset: PhotoAsset,
98961847f8eSopenharmony_ci      requestOptions: RequestOptions,
99061847f8eSopenharmony_ci      dataHandler: MediaAssetDataHandler<MovingPhoto>
99161847f8eSopenharmony_ci    ): Promise<string>;
99261847f8eSopenharmony_ci
99361847f8eSopenharmony_ci    /**
99461847f8eSopenharmony_ci     * Cancel request
99561847f8eSopenharmony_ci     *
99661847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
99761847f8eSopenharmony_ci     * @param { Context } context - Hap context information
99861847f8eSopenharmony_ci     * @param { string } requestId - the request id to be canceled
99961847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
100061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
100161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
100261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
100361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
100461847f8eSopenharmony_ci     * @static
100561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
100661847f8eSopenharmony_ci     * @since 12
100761847f8eSopenharmony_ci     */
100861847f8eSopenharmony_ci    static cancelRequest(context: Context, requestId: string): Promise<void>;
100961847f8eSopenharmony_ci
101061847f8eSopenharmony_ci    /**
101161847f8eSopenharmony_ci     * Request video file
101261847f8eSopenharmony_ci     *
101361847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
101461847f8eSopenharmony_ci     * @param { Context } context - Hap context information
101561847f8eSopenharmony_ci     * @param { PhotoAsset } asset - the photo asset requested
101661847f8eSopenharmony_ci     * @param { RequestOptions } requestOptions - the request options
101761847f8eSopenharmony_ci     * @param { string } fileUri - the destination file uri to save the video data
101861847f8eSopenharmony_ci     * @param { MediaAssetDataHandler<boolean> } dataHandler - data handler used to notify the client that data has been written to the application sandbox
101961847f8eSopenharmony_ci     * @returns { Promise<string> } Returns request id
102061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
102161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
102261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
102361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
102461847f8eSopenharmony_ci     * @static
102561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
102661847f8eSopenharmony_ci     * @since 12
102761847f8eSopenharmony_ci     */
102861847f8eSopenharmony_ci    static requestVideoFile(
102961847f8eSopenharmony_ci      context: Context,
103061847f8eSopenharmony_ci      asset: PhotoAsset,
103161847f8eSopenharmony_ci      requestOptions: RequestOptions,
103261847f8eSopenharmony_ci      fileUri: string,
103361847f8eSopenharmony_ci      dataHandler: MediaAssetDataHandler<boolean>
103461847f8eSopenharmony_ci    ): Promise<string>;
103561847f8eSopenharmony_ci
103661847f8eSopenharmony_ci    /**
103761847f8eSopenharmony_ci     * Load moving photo
103861847f8eSopenharmony_ci     *
103961847f8eSopenharmony_ci     * @param { Context } context - Hap context information
104061847f8eSopenharmony_ci     * @param { string } imageFileUri - image file uri of the moving photo to be loaded
104161847f8eSopenharmony_ci     * @param { string } videoFileUri - video file uri of the moving photo to be loaded
104261847f8eSopenharmony_ci     * @returns { Promise<MovingPhoto> } Returns moving photo
104361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
104461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
104561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
104661847f8eSopenharmony_ci     * @static
104761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
104861847f8eSopenharmony_ci     * @since 12
104961847f8eSopenharmony_ci     */
105061847f8eSopenharmony_ci    static loadMovingPhoto(
105161847f8eSopenharmony_ci      context: Context,
105261847f8eSopenharmony_ci      imageFileUri: string,
105361847f8eSopenharmony_ci      videoFileUri: string
105461847f8eSopenharmony_ci    ): Promise<MovingPhoto>;
105561847f8eSopenharmony_ci  }
105661847f8eSopenharmony_ci
105761847f8eSopenharmony_ci  /**
105861847f8eSopenharmony_ci   * Indicates the type of photo asset member.
105961847f8eSopenharmony_ci   *
106061847f8eSopenharmony_ci   * @typedef { number | string | boolean } MemberType
106161847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
106261847f8eSopenharmony_ci   * @since 10
106361847f8eSopenharmony_ci   */
106461847f8eSopenharmony_ci  /**
106561847f8eSopenharmony_ci   * Indicates the type of photo asset member.
106661847f8eSopenharmony_ci   *
106761847f8eSopenharmony_ci   * @typedef { number | string | boolean } MemberType
106861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
106961847f8eSopenharmony_ci   * @crossplatform
107061847f8eSopenharmony_ci   * @since 12
107161847f8eSopenharmony_ci   */
107261847f8eSopenharmony_ci  type MemberType = number | string | boolean;
107361847f8eSopenharmony_ci
107461847f8eSopenharmony_ci  /**
107561847f8eSopenharmony_ci   * Defines the photo asset
107661847f8eSopenharmony_ci   *
107761847f8eSopenharmony_ci   * @interface PhotoAsset
107861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
107961847f8eSopenharmony_ci   * @since 10
108061847f8eSopenharmony_ci   */
108161847f8eSopenharmony_ci  /**
108261847f8eSopenharmony_ci   * Defines the photo asset
108361847f8eSopenharmony_ci   *
108461847f8eSopenharmony_ci   * @interface PhotoAsset
108561847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
108661847f8eSopenharmony_ci   * @atomicservice
108761847f8eSopenharmony_ci   * @since 11
108861847f8eSopenharmony_ci   */
108961847f8eSopenharmony_ci  /**
109061847f8eSopenharmony_ci   * Defines the photo asset
109161847f8eSopenharmony_ci   *
109261847f8eSopenharmony_ci   * @interface PhotoAsset
109361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
109461847f8eSopenharmony_ci   * @crossplatform
109561847f8eSopenharmony_ci   * @atomicservice
109661847f8eSopenharmony_ci   * @since 12
109761847f8eSopenharmony_ci   */
109861847f8eSopenharmony_ci  interface PhotoAsset {
109961847f8eSopenharmony_ci    /**
110061847f8eSopenharmony_ci     * uri of the asset.
110161847f8eSopenharmony_ci     *
110261847f8eSopenharmony_ci     * @type { string }
110361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
110461847f8eSopenharmony_ci     * @since 10
110561847f8eSopenharmony_ci     */
110661847f8eSopenharmony_ci    /**
110761847f8eSopenharmony_ci     * uri of the asset.
110861847f8eSopenharmony_ci     *
110961847f8eSopenharmony_ci     * @type { string }
111061847f8eSopenharmony_ci     * @readonly
111161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
111261847f8eSopenharmony_ci     * @crossplatform
111361847f8eSopenharmony_ci     * @atomicservice
111461847f8eSopenharmony_ci     * @since 12
111561847f8eSopenharmony_ci     */
111661847f8eSopenharmony_ci    readonly uri: string;
111761847f8eSopenharmony_ci    /**
111861847f8eSopenharmony_ci     * Photo type, image or video
111961847f8eSopenharmony_ci     *
112061847f8eSopenharmony_ci     * @type { PhotoType }
112161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
112261847f8eSopenharmony_ci     * @since 10
112361847f8eSopenharmony_ci     */
112461847f8eSopenharmony_ci    /**
112561847f8eSopenharmony_ci     * Photo type, image or video
112661847f8eSopenharmony_ci     *
112761847f8eSopenharmony_ci     * @type { PhotoType }
112861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
112961847f8eSopenharmony_ci     * @crossplatform
113061847f8eSopenharmony_ci     * @since 12
113161847f8eSopenharmony_ci     */
113261847f8eSopenharmony_ci    readonly photoType: PhotoType;
113361847f8eSopenharmony_ci    /**
113461847f8eSopenharmony_ci     * Display name (with a file name extension) of the asset.
113561847f8eSopenharmony_ci     *
113661847f8eSopenharmony_ci     * @type { string }
113761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
113861847f8eSopenharmony_ci     * @since 10
113961847f8eSopenharmony_ci     */
114061847f8eSopenharmony_ci    /**
114161847f8eSopenharmony_ci     * Display name (with a file name extension) of the asset.
114261847f8eSopenharmony_ci     *
114361847f8eSopenharmony_ci     * @type { string }
114461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
114561847f8eSopenharmony_ci     * @crossplatform
114661847f8eSopenharmony_ci     * @since 12
114761847f8eSopenharmony_ci     */
114861847f8eSopenharmony_ci    readonly displayName: string;
114961847f8eSopenharmony_ci    /**
115061847f8eSopenharmony_ci     * Returns the value of the specified member.
115161847f8eSopenharmony_ci     *
115261847f8eSopenharmony_ci     * @param { string } member - Photo asset member. for example : get(PhotoKeys.SIZE)
115361847f8eSopenharmony_ci     * @returns { MemberType } Returns the value of the specified photo asset member
115461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
115561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
115661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
115761847f8eSopenharmony_ci     * @throws { BusinessError } 14000014 - Member is not a valid PhotoKey
115861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
115961847f8eSopenharmony_ci     * @since 10
116061847f8eSopenharmony_ci     */
116161847f8eSopenharmony_ci    /**
116261847f8eSopenharmony_ci     * Returns the value of the specified member.
116361847f8eSopenharmony_ci     *
116461847f8eSopenharmony_ci     * @param { string } member - Photo asset member. for example : get(PhotoKeys.SIZE)
116561847f8eSopenharmony_ci     * @returns { MemberType } Returns the value of the specified photo asset member
116661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
116761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
116861847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
116961847f8eSopenharmony_ci     * @throws { BusinessError } 14000014 - Member is not a valid PhotoKey
117061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
117161847f8eSopenharmony_ci     * @crossplatform
117261847f8eSopenharmony_ci     * @since 12
117361847f8eSopenharmony_ci     */
117461847f8eSopenharmony_ci    get(member: string): MemberType;
117561847f8eSopenharmony_ci    /**
117661847f8eSopenharmony_ci     * Set a new value to the specified member
117761847f8eSopenharmony_ci     *
117861847f8eSopenharmony_ci     * @param { string } member - Photo asset member
117961847f8eSopenharmony_ci     * @param { string } value - The new value of the member.
118061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
118161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
118261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
118361847f8eSopenharmony_ci     * @throws { BusinessError } 14000014 - Member is not a valid PhotoKey
118461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
118561847f8eSopenharmony_ci     * @since 10
118661847f8eSopenharmony_ci     * @example : set(PhotoKeys.TITLE, "newTitle"), call commitModify after set
118761847f8eSopenharmony_ci     */
118861847f8eSopenharmony_ci    set(member: string, value: string): void;
118961847f8eSopenharmony_ci    /**
119061847f8eSopenharmony_ci     * Modify metadata of the asset
119161847f8eSopenharmony_ci     *
119261847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
119361847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void.
119461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
119561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
119661847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
119761847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
119861847f8eSopenharmony_ci     * @throws { BusinessError } 14000001 - Invalid display name
119961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
120061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
120161847f8eSopenharmony_ci     * @since 10
120261847f8eSopenharmony_ci     */
120361847f8eSopenharmony_ci    /**
120461847f8eSopenharmony_ci     * Modify metadata of the asset
120561847f8eSopenharmony_ci     *
120661847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
120761847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void.
120861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
120961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
121061847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
121161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
121261847f8eSopenharmony_ci     * @throws { BusinessError } 14000001 - Invalid display name
121361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
121461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
121561847f8eSopenharmony_ci     * @atomicservice
121661847f8eSopenharmony_ci     * @since 11
121761847f8eSopenharmony_ci     */
121861847f8eSopenharmony_ci    commitModify(callback: AsyncCallback<void>): void;
121961847f8eSopenharmony_ci    /**
122061847f8eSopenharmony_ci     * Modify metadata of the asset
122161847f8eSopenharmony_ci     *
122261847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
122361847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
122461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
122561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
122661847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
122761847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
122861847f8eSopenharmony_ci     * @throws { BusinessError } 14000001 - Invalid display name
122961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
123061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
123161847f8eSopenharmony_ci     * @since 10
123261847f8eSopenharmony_ci     */
123361847f8eSopenharmony_ci    /**
123461847f8eSopenharmony_ci     * Modify metadata of the asset
123561847f8eSopenharmony_ci     *
123661847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
123761847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
123861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
123961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
124061847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
124161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
124261847f8eSopenharmony_ci     * @throws { BusinessError } 14000001 - Invalid display name
124361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
124461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
124561847f8eSopenharmony_ci     * @atomicservice
124661847f8eSopenharmony_ci     * @since 11
124761847f8eSopenharmony_ci     */
124861847f8eSopenharmony_ci    commitModify(): Promise<void>;
124961847f8eSopenharmony_ci    /**
125061847f8eSopenharmony_ci     * Open the asset
125161847f8eSopenharmony_ci     *
125261847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO or ohos.permission.WRITE_IMAGEVIDEO
125361847f8eSopenharmony_ci     * @param { string } mode - Mode for open, for example: rw, r, w.
125461847f8eSopenharmony_ci     * @param { AsyncCallback<number> } callback - Callback return the fd of the asset.
125561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
125661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
125761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
125861847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
125961847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
126061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
126161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
126261847f8eSopenharmony_ci     * @systemapi
126361847f8eSopenharmony_ci     * @since 10
126461847f8eSopenharmony_ci     * @deprecated since 11
126561847f8eSopenharmony_ci     */
126661847f8eSopenharmony_ci    open(mode: string, callback: AsyncCallback<number>): void;
126761847f8eSopenharmony_ci    /**
126861847f8eSopenharmony_ci     * Open the asset
126961847f8eSopenharmony_ci     *
127061847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO or ohos.permission.WRITE_IMAGEVIDEO
127161847f8eSopenharmony_ci     * @param { string } mode - Mode for open, for example: rw, r, w.
127261847f8eSopenharmony_ci     * @returns { Promise<number> } Returns the fd
127361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
127461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
127561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
127661847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
127761847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
127861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
127961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
128061847f8eSopenharmony_ci     * @systemapi
128161847f8eSopenharmony_ci     * @since 10
128261847f8eSopenharmony_ci     * @deprecated since 11
128361847f8eSopenharmony_ci     */
128461847f8eSopenharmony_ci    open(mode: string): Promise<number>;
128561847f8eSopenharmony_ci    /**
128661847f8eSopenharmony_ci     * Open the asset in read only mode
128761847f8eSopenharmony_ci     *
128861847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
128961847f8eSopenharmony_ci     * @param { AsyncCallback<number> } callback - Returns the read only fd
129061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
129161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
129261847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
129361847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
129461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
129561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
129661847f8eSopenharmony_ci     * @since 10
129761847f8eSopenharmony_ci     * @deprecated since 11
129861847f8eSopenharmony_ci     */
129961847f8eSopenharmony_ci    getReadOnlyFd(callback: AsyncCallback<number>): void;
130061847f8eSopenharmony_ci    /**
130161847f8eSopenharmony_ci     * Open the asset in read only mode
130261847f8eSopenharmony_ci     *
130361847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
130461847f8eSopenharmony_ci     * @returns { Promise<number> } Returns the read only fd
130561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
130661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
130761847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
130861847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
130961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
131061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
131161847f8eSopenharmony_ci     * @since 10
131261847f8eSopenharmony_ci     * @deprecated since 11
131361847f8eSopenharmony_ci     */
131461847f8eSopenharmony_ci    getReadOnlyFd(): Promise<number>;
131561847f8eSopenharmony_ci    /**
131661847f8eSopenharmony_ci     * Close the asset
131761847f8eSopenharmony_ci     *
131861847f8eSopenharmony_ci     * @param { number } fd - The opened fd of the asset.
131961847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
132061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
132161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
132261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
132361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
132461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
132561847f8eSopenharmony_ci     * @since 10
132661847f8eSopenharmony_ci     * @deprecated since 11
132761847f8eSopenharmony_ci     */
132861847f8eSopenharmony_ci    close(fd: number, callback: AsyncCallback<void>): void;
132961847f8eSopenharmony_ci    /**
133061847f8eSopenharmony_ci     * Close the asset
133161847f8eSopenharmony_ci     *
133261847f8eSopenharmony_ci     * @param { number } fd - The opened fd of the asset.
133361847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
133461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
133561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
133661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
133761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
133861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
133961847f8eSopenharmony_ci     * @since 10
134061847f8eSopenharmony_ci     * @deprecated since 11
134161847f8eSopenharmony_ci     */
134261847f8eSopenharmony_ci    close(fd: number): Promise<void>;
134361847f8eSopenharmony_ci    /**
134461847f8eSopenharmony_ci     * Get thumbnail of the asset
134561847f8eSopenharmony_ci     *
134661847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
134761847f8eSopenharmony_ci     * @param { AsyncCallback<image.PixelMap> } callback - Returns the thumbnail's pixelMap.
134861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
134961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
135061847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
135161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
135261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
135361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
135461847f8eSopenharmony_ci     * @since 10
135561847f8eSopenharmony_ci     */
135661847f8eSopenharmony_ci    getThumbnail(callback: AsyncCallback<image.PixelMap>): void;
135761847f8eSopenharmony_ci    /**
135861847f8eSopenharmony_ci     * Get thumbnail of the asset
135961847f8eSopenharmony_ci     *
136061847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
136161847f8eSopenharmony_ci     * @param { image.Size } size - Thumbnail's size
136261847f8eSopenharmony_ci     * @param { AsyncCallback<image.PixelMap> } callback - Returns the thumbnail's pixelMap.
136361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
136461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
136561847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
136661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
136761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
136861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
136961847f8eSopenharmony_ci     * @since 10
137061847f8eSopenharmony_ci     */
137161847f8eSopenharmony_ci    getThumbnail(size: image.Size, callback: AsyncCallback<image.PixelMap>): void;
137261847f8eSopenharmony_ci    /**
137361847f8eSopenharmony_ci     * Get thumbnail of the asset
137461847f8eSopenharmony_ci     *
137561847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
137661847f8eSopenharmony_ci     * @param { image.Size } [size] - Thumbnail's size
137761847f8eSopenharmony_ci     * @returns { Promise<image.PixelMap> } Returns the thumbnail's pixelMap.
137861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
137961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
138061847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
138161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
138261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
138361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
138461847f8eSopenharmony_ci     * @since 10
138561847f8eSopenharmony_ci     */
138661847f8eSopenharmony_ci    getThumbnail(size?: image.Size): Promise<image.PixelMap>;
138761847f8eSopenharmony_ci    /**
138861847f8eSopenharmony_ci     * Set favorite state for the asset
138961847f8eSopenharmony_ci     *
139061847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
139161847f8eSopenharmony_ci     * @param { boolean } favoriteState - true: Put the asset into favorite album; false: Remove the asset from favorite album.
139261847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
139361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
139461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
139561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
139661847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
139761847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
139861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
139961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
140061847f8eSopenharmony_ci     * @systemapi
140161847f8eSopenharmony_ci     * @since 10
140261847f8eSopenharmony_ci     * @deprecated since 11
140361847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAssetChangeRequest#setFavorite
140461847f8eSopenharmony_ci     */
140561847f8eSopenharmony_ci    setFavorite(favoriteState: boolean, callback: AsyncCallback<void>): void;
140661847f8eSopenharmony_ci    /**
140761847f8eSopenharmony_ci     * Set favorite state for the asset
140861847f8eSopenharmony_ci     *
140961847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
141061847f8eSopenharmony_ci     * @param { boolean } favoriteState - true: Put the asset into favorite album; false: Remove the asset from favorite album.
141161847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
141261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
141361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
141461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
141561847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
141661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
141761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
141861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
141961847f8eSopenharmony_ci     * @systemapi
142061847f8eSopenharmony_ci     * @since 10
142161847f8eSopenharmony_ci     * @deprecated since 11
142261847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAssetChangeRequest#setFavorite
142361847f8eSopenharmony_ci     */
142461847f8eSopenharmony_ci    setFavorite(favoriteState: boolean): Promise<void>;
142561847f8eSopenharmony_ci    /**
142661847f8eSopenharmony_ci     * Set asset hidden state.
142761847f8eSopenharmony_ci     *
142861847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
142961847f8eSopenharmony_ci     * @param { boolean } hiddenState - true: Put the asset into hidden album; false: Recover the asset from hidden album.
143061847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void.
143161847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
143261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
143361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
143461847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
143561847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
143661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
143761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
143861847f8eSopenharmony_ci     * @systemapi
143961847f8eSopenharmony_ci     * @since 10
144061847f8eSopenharmony_ci     * @deprecated since 11
144161847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAssetChangeRequest#setHidden
144261847f8eSopenharmony_ci     */
144361847f8eSopenharmony_ci    setHidden(hiddenState: boolean, callback: AsyncCallback<void>): void;
144461847f8eSopenharmony_ci    /**
144561847f8eSopenharmony_ci     * Set asset hidden state.
144661847f8eSopenharmony_ci     *
144761847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
144861847f8eSopenharmony_ci     * @param { boolean } hiddenState - true: Put the asset into hidden album; false: Recover the asset from hidden album.
144961847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
145061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
145161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
145261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
145361847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
145461847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
145561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
145661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
145761847f8eSopenharmony_ci     * @systemapi
145861847f8eSopenharmony_ci     * @since 10
145961847f8eSopenharmony_ci     * @deprecated since 11
146061847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAssetChangeRequest#setHidden
146161847f8eSopenharmony_ci     */
146261847f8eSopenharmony_ci    setHidden(hiddenState: boolean): Promise<void>;
146361847f8eSopenharmony_ci    /**
146461847f8eSopenharmony_ci     * Set user comment info to the asset.
146561847f8eSopenharmony_ci     *
146661847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
146761847f8eSopenharmony_ci     * @param { string } userComment - user comment info
146861847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void.
146961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
147061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
147161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
147261847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
147361847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
147461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
147561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
147661847f8eSopenharmony_ci     * @systemapi
147761847f8eSopenharmony_ci     * @since 10
147861847f8eSopenharmony_ci     * @deprecated since 11
147961847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAssetChangeRequest#setUserComment
148061847f8eSopenharmony_ci     */
148161847f8eSopenharmony_ci    setUserComment(userComment: string, callback: AsyncCallback<void>): void;
148261847f8eSopenharmony_ci    /**
148361847f8eSopenharmony_ci     * Set user comment info to the asset.
148461847f8eSopenharmony_ci     *
148561847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
148661847f8eSopenharmony_ci     * @param { string } userComment - user comment info
148761847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
148861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
148961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
149061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
149161847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
149261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
149361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
149461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
149561847f8eSopenharmony_ci     * @systemapi
149661847f8eSopenharmony_ci     * @since 10
149761847f8eSopenharmony_ci     * @deprecated since 11
149861847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAssetChangeRequest#setUserComment
149961847f8eSopenharmony_ci     */
150061847f8eSopenharmony_ci    setUserComment(userComment: string): Promise<void>;
150161847f8eSopenharmony_ci    /**
150261847f8eSopenharmony_ci     * Get exif info of the asset.
150361847f8eSopenharmony_ci     *
150461847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
150561847f8eSopenharmony_ci     * @param { AsyncCallback<string> } callback - Returns exif info into a json string
150661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
150761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
150861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
150961847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
151061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
151161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
151261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
151361847f8eSopenharmony_ci     * @systemapi
151461847f8eSopenharmony_ci     * @since 10
151561847f8eSopenharmony_ci     */
151661847f8eSopenharmony_ci    getExif(callback: AsyncCallback<string>): void;
151761847f8eSopenharmony_ci    /**
151861847f8eSopenharmony_ci     * Get analysis data of the asset.
151961847f8eSopenharmony_ci     *
152061847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
152161847f8eSopenharmony_ci     * @param { AnalysisType } analysisType - Analysis type
152261847f8eSopenharmony_ci     * @returns { Promise<string> } Returns analysis info into a json string
152361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
152461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
152561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
152661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
152761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
152861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
152961847f8eSopenharmony_ci     * @systemapi
153061847f8eSopenharmony_ci     * @since 11
153161847f8eSopenharmony_ci     */
153261847f8eSopenharmony_ci    getAnalysisData(analysisType: AnalysisType): Promise<string>;
153361847f8eSopenharmony_ci    /**
153461847f8eSopenharmony_ci     * Get exif info of the asset.
153561847f8eSopenharmony_ci     *
153661847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
153761847f8eSopenharmony_ci     * @returns { Promise<string> } Returns exif info into a json string
153861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
153961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
154061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
154161847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
154261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
154361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
154461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
154561847f8eSopenharmony_ci     * @systemapi
154661847f8eSopenharmony_ci     * @since 10
154761847f8eSopenharmony_ci     */
154861847f8eSopenharmony_ci    getExif(): Promise<string>;
154961847f8eSopenharmony_ci    /**
155061847f8eSopenharmony_ci     * Set asset pending state.
155161847f8eSopenharmony_ci     *
155261847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
155361847f8eSopenharmony_ci     * @param { boolean } pendingState - true: Set asset in pending status; false: Recover asset from pending status.
155461847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
155561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
155661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
155761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
155861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
155961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
156061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
156161847f8eSopenharmony_ci     * @systemapi
156261847f8eSopenharmony_ci     * @since 11
156361847f8eSopenharmony_ci     */
156461847f8eSopenharmony_ci    setPending(pendingState: boolean, callback: AsyncCallback<void>): void;
156561847f8eSopenharmony_ci    /**
156661847f8eSopenharmony_ci     * Set asset pending state.
156761847f8eSopenharmony_ci     *
156861847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
156961847f8eSopenharmony_ci     * @param { boolean } pendingState - true: Set asset in pending status; false: Recover asset from pending status.
157061847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
157161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
157261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
157361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
157461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
157561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
157661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
157761847f8eSopenharmony_ci     * @systemapi
157861847f8eSopenharmony_ci     * @since 11
157961847f8eSopenharmony_ci     */
158061847f8eSopenharmony_ci    setPending(pendingState: boolean): Promise<void>;
158161847f8eSopenharmony_ci    /**
158261847f8eSopenharmony_ci     * Check if asset has been edited.
158361847f8eSopenharmony_ci     *
158461847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
158561847f8eSopenharmony_ci     * @param { AsyncCallback<boolean> } callback - Returns whether the asset has been edited.
158661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
158761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
158861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
158961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
159061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
159161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
159261847f8eSopenharmony_ci     * @systemapi
159361847f8eSopenharmony_ci     * @since 11
159461847f8eSopenharmony_ci     */
159561847f8eSopenharmony_ci    isEdited(callback: AsyncCallback<boolean>): void;
159661847f8eSopenharmony_ci    /**
159761847f8eSopenharmony_ci     * Check if asset has been edited.
159861847f8eSopenharmony_ci     *
159961847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
160061847f8eSopenharmony_ci     * @returns { Promise<boolean> } Returns whether the asset has been edited.
160161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
160261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
160361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
160461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
160561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
160661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
160761847f8eSopenharmony_ci     * @systemapi
160861847f8eSopenharmony_ci     * @since 11
160961847f8eSopenharmony_ci     */
161061847f8eSopenharmony_ci    isEdited(): Promise<boolean>;
161161847f8eSopenharmony_ci    /**
161261847f8eSopenharmony_ci     * Request asset edit data.
161361847f8eSopenharmony_ci     *
161461847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
161561847f8eSopenharmony_ci     * @param { AsyncCallback<string> } callback - Returns asset edit data.
161661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
161761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
161861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
161961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
162061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
162161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
162261847f8eSopenharmony_ci     * @systemapi
162361847f8eSopenharmony_ci     * @since 11
162461847f8eSopenharmony_ci     */
162561847f8eSopenharmony_ci    requestEditData(callback: AsyncCallback<string>): void;
162661847f8eSopenharmony_ci    /**
162761847f8eSopenharmony_ci     * Request asset edit data.
162861847f8eSopenharmony_ci     *
162961847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
163061847f8eSopenharmony_ci     * @returns { Promise<string> } Returns asset edit data.
163161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
163261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
163361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
163461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
163561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
163661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
163761847f8eSopenharmony_ci     * @systemapi
163861847f8eSopenharmony_ci     * @since 11
163961847f8eSopenharmony_ci     */
164061847f8eSopenharmony_ci    requestEditData(): Promise<string>;
164161847f8eSopenharmony_ci    /**
164261847f8eSopenharmony_ci     * Get media asset edit data.
164361847f8eSopenharmony_ci     *
164461847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
164561847f8eSopenharmony_ci     * @returns { Promise<MediaAssetEditData> } Returns media asset edit data
164661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
164761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
164861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
164961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
165061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
165161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
165261847f8eSopenharmony_ci     * @systemapi
165361847f8eSopenharmony_ci     * @since 11
165461847f8eSopenharmony_ci     */
165561847f8eSopenharmony_ci    getEditData(): Promise<MediaAssetEditData>;
165661847f8eSopenharmony_ci    /**
165761847f8eSopenharmony_ci     * Requests the read-only FD of the source asset.
165861847f8eSopenharmony_ci     *
165961847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
166061847f8eSopenharmony_ci     * @param { AsyncCallback<number> } callback - Returns opened source asset fd.
166161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
166261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
166361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
166461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
166561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
166661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
166761847f8eSopenharmony_ci     * @systemapi
166861847f8eSopenharmony_ci     * @since 11
166961847f8eSopenharmony_ci     */
167061847f8eSopenharmony_ci    requestSource(callback: AsyncCallback<number>): void;
167161847f8eSopenharmony_ci    /**
167261847f8eSopenharmony_ci     * Requests the read-only FD of the source asset.
167361847f8eSopenharmony_ci     *
167461847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
167561847f8eSopenharmony_ci     * @returns { Promise<number> }  Returns opened source asset fd.
167661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
167761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
167861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
167961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
168061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
168161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
168261847f8eSopenharmony_ci     * @systemapi
168361847f8eSopenharmony_ci     * @since 11
168461847f8eSopenharmony_ci     */
168561847f8eSopenharmony_ci    requestSource(): Promise<number>;
168661847f8eSopenharmony_ci    /**
168761847f8eSopenharmony_ci     * Commit edit data and edited asset.
168861847f8eSopenharmony_ci     *
168961847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
169061847f8eSopenharmony_ci     * @param { string } editData - editData to be saved.
169161847f8eSopenharmony_ci     * @param { string } uri - uri of the edited asset within the applications's own sandbox.
169261847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void.
169361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
169461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
169561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
169661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
169761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
169861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
169961847f8eSopenharmony_ci     * @systemapi
170061847f8eSopenharmony_ci     * @since 11
170161847f8eSopenharmony_ci     */
170261847f8eSopenharmony_ci    commitEditedAsset(editData: string, uri: string, callback: AsyncCallback<void>);
170361847f8eSopenharmony_ci    /**
170461847f8eSopenharmony_ci     * Commit edit data and edited asset.
170561847f8eSopenharmony_ci     *
170661847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
170761847f8eSopenharmony_ci     * @param { string } editData - editData to be saved.
170861847f8eSopenharmony_ci     * @param { string } uri - uri of the edited asset within the applications's own sandbox.
170961847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void.
171061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
171161847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
171261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
171361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
171461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
171561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
171661847f8eSopenharmony_ci     * @systemapi
171761847f8eSopenharmony_ci     * @since 11
171861847f8eSopenharmony_ci     */
171961847f8eSopenharmony_ci    commitEditedAsset(editData: string, uri: string): Promise<void>;
172061847f8eSopenharmony_ci    /**
172161847f8eSopenharmony_ci     * Revert asset edits to original state.
172261847f8eSopenharmony_ci     *
172361847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
172461847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void.
172561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
172661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
172761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
172861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
172961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
173061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
173161847f8eSopenharmony_ci     * @systemapi
173261847f8eSopenharmony_ci     * @since 11
173361847f8eSopenharmony_ci     */
173461847f8eSopenharmony_ci    revertToOriginal(callback: AsyncCallback<void>);
173561847f8eSopenharmony_ci    /**
173661847f8eSopenharmony_ci     * Revert asset edits to original state.
173761847f8eSopenharmony_ci     *
173861847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
173961847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void.
174061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied.
174161847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
174261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
174361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
174461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
174561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
174661847f8eSopenharmony_ci     * @systemapi
174761847f8eSopenharmony_ci     * @since 11
174861847f8eSopenharmony_ci     */
174961847f8eSopenharmony_ci    revertToOriginal(): Promise<void>;
175061847f8eSopenharmony_ci    /**
175161847f8eSopenharmony_ci     * Request thumbnails of the asset.
175261847f8eSopenharmony_ci     *
175361847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
175461847f8eSopenharmony_ci     * @param { AsyncCallback<image.PixelMap> } callback - Returns the required pixels
175561847f8eSopenharmony_ci     * @returns { string } Returns request photo task id.
175661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken.
175761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
175861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
175961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
176061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
176161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
176261847f8eSopenharmony_ci     * @systemapi
176361847f8eSopenharmony_ci     * @since 11
176461847f8eSopenharmony_ci     */
176561847f8eSopenharmony_ci    requestPhoto(callback: AsyncCallback<image.PixelMap>): string;
176661847f8eSopenharmony_ci    /**
176761847f8eSopenharmony_ci     * Request thumbnails of the asset.
176861847f8eSopenharmony_ci     *
176961847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
177061847f8eSopenharmony_ci     * @param { RequestPhotoOptions } options - Request photo options
177161847f8eSopenharmony_ci     * @param { AsyncCallback<image.PixelMap> } callback - Returns the required pixels
177261847f8eSopenharmony_ci     * @returns { string } Returns request photo task id.
177361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken.
177461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
177561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
177661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
177761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
177861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
177961847f8eSopenharmony_ci     * @systemapi
178061847f8eSopenharmony_ci     * @since 11
178161847f8eSopenharmony_ci     */
178261847f8eSopenharmony_ci    requestPhoto(options: RequestPhotoOptions, callback: AsyncCallback<image.PixelMap>): string;
178361847f8eSopenharmony_ci    /**
178461847f8eSopenharmony_ci     * Cancel photo request
178561847f8eSopenharmony_ci     *
178661847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
178761847f8eSopenharmony_ci     * @param { string } requestId - The request id to be canceled
178861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken.
178961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
179061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
179161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
179261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
179361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
179461847f8eSopenharmony_ci     * @systemapi
179561847f8eSopenharmony_ci     * @since 11
179661847f8eSopenharmony_ci     */
179761847f8eSopenharmony_ci    cancelPhotoRequest(requestId: string): void;
179861847f8eSopenharmony_ci    /**
179961847f8eSopenharmony_ci     * Fetch thumbnail of the video keyframe.
180061847f8eSopenharmony_ci     *
180161847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
180261847f8eSopenharmony_ci     * @param { number } beginFrameTimeMs - Fetch the time position of the video frame.
180361847f8eSopenharmony_ci     * @param { ThumbnailType } type - The type of thumbnail.
180461847f8eSopenharmony_ci     * @returns { Promise<image.PixelMap> } Returns the thumbnail's pixelMap.
180561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
180661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
180761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
180861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
180961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
181061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
181161847f8eSopenharmony_ci     * @systemapi
181261847f8eSopenharmony_ci     * @since 13
181361847f8eSopenharmony_ci     */
181461847f8eSopenharmony_ci    getKeyFrameThumbnail(beginFrameTimeMs: number, type: ThumbnailType): Promise<image.PixelMap>;
181561847f8eSopenharmony_ci  }
181661847f8eSopenharmony_ci
181761847f8eSopenharmony_ci  /**
181861847f8eSopenharmony_ci   * Enumeration of photo asset members
181961847f8eSopenharmony_ci   *
182061847f8eSopenharmony_ci   * @enum { string } PhotoKeys
182161847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
182261847f8eSopenharmony_ci   * @since 10
182361847f8eSopenharmony_ci   */
182461847f8eSopenharmony_ci  /**
182561847f8eSopenharmony_ci   * Enumeration of photo asset members
182661847f8eSopenharmony_ci   *
182761847f8eSopenharmony_ci   * @enum { string } PhotoKeys
182861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
182961847f8eSopenharmony_ci   * @crossplatform
183061847f8eSopenharmony_ci   * @since 12
183161847f8eSopenharmony_ci   */
183261847f8eSopenharmony_ci  enum PhotoKeys {
183361847f8eSopenharmony_ci    /**
183461847f8eSopenharmony_ci     * Asset uri, read only
183561847f8eSopenharmony_ci     *
183661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
183761847f8eSopenharmony_ci     * @since 10
183861847f8eSopenharmony_ci     */
183961847f8eSopenharmony_ci    /**
184061847f8eSopenharmony_ci     * Asset uri, read only
184161847f8eSopenharmony_ci     *
184261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
184361847f8eSopenharmony_ci     * @crossplatform
184461847f8eSopenharmony_ci     * @since 12
184561847f8eSopenharmony_ci     */
184661847f8eSopenharmony_ci    URI = 'uri',
184761847f8eSopenharmony_ci    /**
184861847f8eSopenharmony_ci     * Photo type of the asset, read only
184961847f8eSopenharmony_ci     *
185061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
185161847f8eSopenharmony_ci     * @since 10
185261847f8eSopenharmony_ci     */
185361847f8eSopenharmony_ci    /**
185461847f8eSopenharmony_ci     * Photo type of the asset, read only
185561847f8eSopenharmony_ci     *
185661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
185761847f8eSopenharmony_ci     * @crossplatform
185861847f8eSopenharmony_ci     * @since 12
185961847f8eSopenharmony_ci     */
186061847f8eSopenharmony_ci    PHOTO_TYPE = 'media_type',
186161847f8eSopenharmony_ci    /**
186261847f8eSopenharmony_ci     * Asset name, read only
186361847f8eSopenharmony_ci     *
186461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
186561847f8eSopenharmony_ci     * @since 10
186661847f8eSopenharmony_ci     */
186761847f8eSopenharmony_ci    /**
186861847f8eSopenharmony_ci     * Asset name, read only
186961847f8eSopenharmony_ci     *
187061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
187161847f8eSopenharmony_ci     * @crossplatform
187261847f8eSopenharmony_ci     * @since 12
187361847f8eSopenharmony_ci     */
187461847f8eSopenharmony_ci    DISPLAY_NAME = 'display_name',
187561847f8eSopenharmony_ci    /**
187661847f8eSopenharmony_ci     * Size of the asset, read only
187761847f8eSopenharmony_ci     *
187861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
187961847f8eSopenharmony_ci     * @since 10
188061847f8eSopenharmony_ci     */
188161847f8eSopenharmony_ci    /**
188261847f8eSopenharmony_ci     * Size of the asset, read only
188361847f8eSopenharmony_ci     *
188461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
188561847f8eSopenharmony_ci     * @crossplatform
188661847f8eSopenharmony_ci     * @since 12
188761847f8eSopenharmony_ci     */
188861847f8eSopenharmony_ci    SIZE = 'size',
188961847f8eSopenharmony_ci    /**
189061847f8eSopenharmony_ci     * Creation date of the asset, read only
189161847f8eSopenharmony_ci     *
189261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
189361847f8eSopenharmony_ci     * @since 10
189461847f8eSopenharmony_ci     */
189561847f8eSopenharmony_ci    /**
189661847f8eSopenharmony_ci     * Creation date of the asset, read only
189761847f8eSopenharmony_ci     *
189861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
189961847f8eSopenharmony_ci     * @crossplatform
190061847f8eSopenharmony_ci     * @since 12
190161847f8eSopenharmony_ci     */
190261847f8eSopenharmony_ci    DATE_ADDED = 'date_added',
190361847f8eSopenharmony_ci    /**
190461847f8eSopenharmony_ci     * Modified date of the asset, read only
190561847f8eSopenharmony_ci     *
190661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
190761847f8eSopenharmony_ci     * @since 10
190861847f8eSopenharmony_ci     */
190961847f8eSopenharmony_ci    /**
191061847f8eSopenharmony_ci     * Modified date of the asset, read only
191161847f8eSopenharmony_ci     *
191261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
191361847f8eSopenharmony_ci     * @crossplatform
191461847f8eSopenharmony_ci     * @since 12
191561847f8eSopenharmony_ci     */
191661847f8eSopenharmony_ci    DATE_MODIFIED = 'date_modified',
191761847f8eSopenharmony_ci    /**
191861847f8eSopenharmony_ci     * Duration of video files, read only
191961847f8eSopenharmony_ci     *
192061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
192161847f8eSopenharmony_ci     * @since 10
192261847f8eSopenharmony_ci     */
192361847f8eSopenharmony_ci    /**
192461847f8eSopenharmony_ci     * Duration of video files, read only
192561847f8eSopenharmony_ci     *
192661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
192761847f8eSopenharmony_ci     * @crossplatform
192861847f8eSopenharmony_ci     * @since 12
192961847f8eSopenharmony_ci     */
193061847f8eSopenharmony_ci    DURATION = 'duration',
193161847f8eSopenharmony_ci    /**
193261847f8eSopenharmony_ci     * Width of the image asset, read only
193361847f8eSopenharmony_ci     *
193461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
193561847f8eSopenharmony_ci     * @since 10
193661847f8eSopenharmony_ci     */
193761847f8eSopenharmony_ci    /**
193861847f8eSopenharmony_ci     * Width of the image asset, read only
193961847f8eSopenharmony_ci     *
194061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
194161847f8eSopenharmony_ci     * @crossplatform
194261847f8eSopenharmony_ci     * @since 12
194361847f8eSopenharmony_ci     */
194461847f8eSopenharmony_ci    WIDTH = 'width',
194561847f8eSopenharmony_ci    /**
194661847f8eSopenharmony_ci     * Height of the image asset, read only
194761847f8eSopenharmony_ci     *
194861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
194961847f8eSopenharmony_ci     * @since 10
195061847f8eSopenharmony_ci     */
195161847f8eSopenharmony_ci    /**
195261847f8eSopenharmony_ci     * Height of the image asset, read only
195361847f8eSopenharmony_ci     *
195461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
195561847f8eSopenharmony_ci     * @crossplatform
195661847f8eSopenharmony_ci     * @since 12
195761847f8eSopenharmony_ci     */
195861847f8eSopenharmony_ci    HEIGHT = 'height',
195961847f8eSopenharmony_ci    /**
196061847f8eSopenharmony_ci     * Date taken of the asset, read only
196161847f8eSopenharmony_ci     *
196261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
196361847f8eSopenharmony_ci     * @since 10
196461847f8eSopenharmony_ci     */
196561847f8eSopenharmony_ci    /**
196661847f8eSopenharmony_ci     * Date taken of the asset, read only
196761847f8eSopenharmony_ci     *
196861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
196961847f8eSopenharmony_ci     * @crossplatform
197061847f8eSopenharmony_ci     * @since 12
197161847f8eSopenharmony_ci     */
197261847f8eSopenharmony_ci    DATE_TAKEN = 'date_taken',
197361847f8eSopenharmony_ci    /**
197461847f8eSopenharmony_ci     * Orientation of the image asset, read only
197561847f8eSopenharmony_ci     *
197661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
197761847f8eSopenharmony_ci     * @since 10
197861847f8eSopenharmony_ci     */
197961847f8eSopenharmony_ci    /**
198061847f8eSopenharmony_ci     * Orientation of the image asset, read only
198161847f8eSopenharmony_ci     *
198261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
198361847f8eSopenharmony_ci     * @crossplatform
198461847f8eSopenharmony_ci     * @since 12
198561847f8eSopenharmony_ci     */
198661847f8eSopenharmony_ci    ORIENTATION = 'orientation',
198761847f8eSopenharmony_ci    /**
198861847f8eSopenharmony_ci     * Favorite state of the asset, read only
198961847f8eSopenharmony_ci     *
199061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
199161847f8eSopenharmony_ci     * @since 10
199261847f8eSopenharmony_ci     */
199361847f8eSopenharmony_ci    /**
199461847f8eSopenharmony_ci     * Favorite state of the asset, read only
199561847f8eSopenharmony_ci     *
199661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
199761847f8eSopenharmony_ci     * @crossplatform
199861847f8eSopenharmony_ci     * @since 12
199961847f8eSopenharmony_ci     */
200061847f8eSopenharmony_ci    FAVORITE = 'is_favorite',
200161847f8eSopenharmony_ci    /**
200261847f8eSopenharmony_ci     * Title of the asset
200361847f8eSopenharmony_ci     *
200461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
200561847f8eSopenharmony_ci     * @since 10
200661847f8eSopenharmony_ci     */
200761847f8eSopenharmony_ci    /**
200861847f8eSopenharmony_ci     * Title of the asset
200961847f8eSopenharmony_ci     *
201061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
201161847f8eSopenharmony_ci     * @crossplatform
201261847f8eSopenharmony_ci     * @since 12
201361847f8eSopenharmony_ci     */
201461847f8eSopenharmony_ci    TITLE = 'title',
201561847f8eSopenharmony_ci    /**
201661847f8eSopenharmony_ci     * Asset position, read only
201761847f8eSopenharmony_ci     *
201861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
201961847f8eSopenharmony_ci     * @systemapi
202061847f8eSopenharmony_ci     * @since 10
202161847f8eSopenharmony_ci     */
202261847f8eSopenharmony_ci    POSITION = 'position',
202361847f8eSopenharmony_ci    /**
202461847f8eSopenharmony_ci     * Trashed date of the asset, read only
202561847f8eSopenharmony_ci     *
202661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
202761847f8eSopenharmony_ci     * @systemapi
202861847f8eSopenharmony_ci     * @since 10
202961847f8eSopenharmony_ci     */
203061847f8eSopenharmony_ci    DATE_TRASHED = 'date_trashed',
203161847f8eSopenharmony_ci    /**
203261847f8eSopenharmony_ci     * Hidden state of the asset, read only
203361847f8eSopenharmony_ci     *
203461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
203561847f8eSopenharmony_ci     * @systemapi
203661847f8eSopenharmony_ci     * @since 10
203761847f8eSopenharmony_ci     */
203861847f8eSopenharmony_ci    HIDDEN = 'hidden',
203961847f8eSopenharmony_ci    /**
204061847f8eSopenharmony_ci     * User comment info
204161847f8eSopenharmony_ci     *
204261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
204361847f8eSopenharmony_ci     * @systemapi
204461847f8eSopenharmony_ci     * @since 10
204561847f8eSopenharmony_ci     */
204661847f8eSopenharmony_ci    USER_COMMENT = 'user_comment',
204761847f8eSopenharmony_ci    /**
204861847f8eSopenharmony_ci     * Camera shot key
204961847f8eSopenharmony_ci     *
205061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
205161847f8eSopenharmony_ci     * @systemapi
205261847f8eSopenharmony_ci     * @since 10
205361847f8eSopenharmony_ci     */
205461847f8eSopenharmony_ci    CAMERA_SHOT_KEY = 'camera_shot_key',
205561847f8eSopenharmony_ci    /**
205661847f8eSopenharmony_ci     * The year of the file created, read only
205761847f8eSopenharmony_ci     *
205861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
205961847f8eSopenharmony_ci     * @systemapi
206061847f8eSopenharmony_ci     * @since 11
206161847f8eSopenharmony_ci     */
206261847f8eSopenharmony_ci    DATE_YEAR = 'date_year',
206361847f8eSopenharmony_ci    /**
206461847f8eSopenharmony_ci     * The month of the file created, read only
206561847f8eSopenharmony_ci     *
206661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
206761847f8eSopenharmony_ci     * @systemapi
206861847f8eSopenharmony_ci     * @since 11
206961847f8eSopenharmony_ci     */
207061847f8eSopenharmony_ci    DATE_MONTH = 'date_month',
207161847f8eSopenharmony_ci    /**
207261847f8eSopenharmony_ci     * The day of the file created, read only
207361847f8eSopenharmony_ci     *
207461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
207561847f8eSopenharmony_ci     * @systemapi
207661847f8eSopenharmony_ci     * @since 11
207761847f8eSopenharmony_ci     */
207861847f8eSopenharmony_ci    DATE_DAY = 'date_day',
207961847f8eSopenharmony_ci    /**
208061847f8eSopenharmony_ci     * Pending state of the asset, true means asset is pending, read only
208161847f8eSopenharmony_ci     *
208261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
208361847f8eSopenharmony_ci     * @systemapi
208461847f8eSopenharmony_ci     * @since 11
208561847f8eSopenharmony_ci     */
208661847f8eSopenharmony_ci    PENDING = 'pending',
208761847f8eSopenharmony_ci    /**
208861847f8eSopenharmony_ci     * Creation time of the asset in milliseconds, read only
208961847f8eSopenharmony_ci     *
209061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
209161847f8eSopenharmony_ci     * @since 12
209261847f8eSopenharmony_ci     */
209361847f8eSopenharmony_ci    DATE_ADDED_MS = 'date_added_ms',
209461847f8eSopenharmony_ci    /**
209561847f8eSopenharmony_ci     * Modified time of the asset in milliseconds, read only
209661847f8eSopenharmony_ci     *
209761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
209861847f8eSopenharmony_ci     * @since 12
209961847f8eSopenharmony_ci     */
210061847f8eSopenharmony_ci    DATE_MODIFIED_MS = 'date_modified_ms',
210161847f8eSopenharmony_ci    /**
210261847f8eSopenharmony_ci     * Trashed time of the asset in milliseconds, read only
210361847f8eSopenharmony_ci     *
210461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
210561847f8eSopenharmony_ci     * @systemapi
210661847f8eSopenharmony_ci     * @since 12
210761847f8eSopenharmony_ci     */
210861847f8eSopenharmony_ci    DATE_TRASHED_MS = 'date_trashed_ms',
210961847f8eSopenharmony_ci    /**
211061847f8eSopenharmony_ci     * Photo subtype of the asset, read only
211161847f8eSopenharmony_ci     *
211261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
211361847f8eSopenharmony_ci     * @since 12
211461847f8eSopenharmony_ci     */
211561847f8eSopenharmony_ci    PHOTO_SUBTYPE = 'subtype',
211661847f8eSopenharmony_ci    /**
211761847f8eSopenharmony_ci     * Effect mode of moving photo, read only
211861847f8eSopenharmony_ci     *
211961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
212061847f8eSopenharmony_ci     * @systemapi
212161847f8eSopenharmony_ci     * @since 12
212261847f8eSopenharmony_ci     */
212361847f8eSopenharmony_ci    MOVING_PHOTO_EFFECT_MODE = 'moving_photo_effect_mode',
212461847f8eSopenharmony_ci    /**
212561847f8eSopenharmony_ci     * Dynamic range type of the asset, read only
212661847f8eSopenharmony_ci     *
212761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
212861847f8eSopenharmony_ci     * @since 12
212961847f8eSopenharmony_ci     */
213061847f8eSopenharmony_ci    DYNAMIC_RANGE_TYPE = 'dynamic_range_type',
213161847f8eSopenharmony_ci    /**
213261847f8eSopenharmony_ci     * Cover position of the asset, read only
213361847f8eSopenharmony_ci     *
213461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
213561847f8eSopenharmony_ci     * @since 12
213661847f8eSopenharmony_ci     */
213761847f8eSopenharmony_ci    COVER_POSITION = 'cover_position',
213861847f8eSopenharmony_ci    /**
213961847f8eSopenharmony_ci     * Unique uuid of the burst photos, read only
214061847f8eSopenharmony_ci     *
214161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
214261847f8eSopenharmony_ci     * @since 12
214361847f8eSopenharmony_ci     */
214461847f8eSopenharmony_ci    BURST_KEY = 'burst_key',
214561847f8eSopenharmony_ci    /**
214661847f8eSopenharmony_ci     * Thumbnail of photo asset has been ready, read only
214761847f8eSopenharmony_ci     *
214861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
214961847f8eSopenharmony_ci     * @systemapi
215061847f8eSopenharmony_ci     * @since 13
215161847f8eSopenharmony_ci     */
215261847f8eSopenharmony_ci    THUMBNAIL_READY = 'thumbnail_ready',
215361847f8eSopenharmony_ci    /**
215461847f8eSopenharmony_ci     * Width and height information of lcd picture, read only
215561847f8eSopenharmony_ci     *
215661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
215761847f8eSopenharmony_ci     * @since 12
215861847f8eSopenharmony_ci     */
215961847f8eSopenharmony_ci    LCD_SIZE = 'lcd_size',
216061847f8eSopenharmony_ci    /**
216161847f8eSopenharmony_ci     * Width and height information of thumbnail picture, read only
216261847f8eSopenharmony_ci     *
216361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
216461847f8eSopenharmony_ci     * @since 12
216561847f8eSopenharmony_ci     */
216661847f8eSopenharmony_ci    THM_SIZE = 'thm_size',
216761847f8eSopenharmony_ci    /**
216861847f8eSopenharmony_ci     * Detail time of the asset, read only
216961847f8eSopenharmony_ci     *
217061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
217161847f8eSopenharmony_ci     * @since 13
217261847f8eSopenharmony_ci     */
217361847f8eSopenharmony_ci    DETAIL_TIME = 'detail_time',
217461847f8eSopenharmony_ci    /**
217561847f8eSopenharmony_ci     * Date taken of the asset in milliseconds, read only
217661847f8eSopenharmony_ci     *
217761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
217861847f8eSopenharmony_ci     * @since 13
217961847f8eSopenharmony_ci     */
218061847f8eSopenharmony_ci    DATE_TAKEN_MS = 'date_taken_ms',
218161847f8eSopenharmony_ci    /**
218261847f8eSopenharmony_ci     * Cloud enhancement status of the asset, read only
218361847f8eSopenharmony_ci     *
218461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
218561847f8eSopenharmony_ci     * @systemapi
218661847f8eSopenharmony_ci     * @since 13
218761847f8eSopenharmony_ci     */
218861847f8eSopenharmony_ci    CE_AVAILABLE = 'ce_available',
218961847f8eSopenharmony_ci    /**
219061847f8eSopenharmony_ci     * watermark type of the asset, read only
219161847f8eSopenharmony_ci     *
219261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
219361847f8eSopenharmony_ci     * @systemapi
219461847f8eSopenharmony_ci     * @since 13
219561847f8eSopenharmony_ci     */
219661847f8eSopenharmony_ci    SUPPORTED_WATERMARK_TYPE = 'supported_watermark_type'
219761847f8eSopenharmony_ci  }
219861847f8eSopenharmony_ci
219961847f8eSopenharmony_ci  /**
220061847f8eSopenharmony_ci   * Enumeration of photo album members.
220161847f8eSopenharmony_ci   *
220261847f8eSopenharmony_ci   * @enum { string } AlbumKeys
220361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
220461847f8eSopenharmony_ci   * @since 10
220561847f8eSopenharmony_ci   */
220661847f8eSopenharmony_ci  /**
220761847f8eSopenharmony_ci   * Enumeration of photo album members.
220861847f8eSopenharmony_ci   *
220961847f8eSopenharmony_ci   * @enum { string } AlbumKeys
221061847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
221161847f8eSopenharmony_ci   * @crossplatform
221261847f8eSopenharmony_ci   * @since 12
221361847f8eSopenharmony_ci   */
221461847f8eSopenharmony_ci  enum AlbumKeys {
221561847f8eSopenharmony_ci    /**
221661847f8eSopenharmony_ci     * Album uri
221761847f8eSopenharmony_ci     *
221861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
221961847f8eSopenharmony_ci     * @since 10
222061847f8eSopenharmony_ci     */
222161847f8eSopenharmony_ci    /**
222261847f8eSopenharmony_ci     * Album uri
222361847f8eSopenharmony_ci     *
222461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
222561847f8eSopenharmony_ci     * @crossplatform
222661847f8eSopenharmony_ci     * @since 12
222761847f8eSopenharmony_ci     */
222861847f8eSopenharmony_ci    URI = 'uri',
222961847f8eSopenharmony_ci    /**
223061847f8eSopenharmony_ci     * Album name
223161847f8eSopenharmony_ci     *
223261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
223361847f8eSopenharmony_ci     * @since 10
223461847f8eSopenharmony_ci     */
223561847f8eSopenharmony_ci    /**
223661847f8eSopenharmony_ci     * Album name
223761847f8eSopenharmony_ci     *
223861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
223961847f8eSopenharmony_ci     * @crossplatform
224061847f8eSopenharmony_ci     * @since 12
224161847f8eSopenharmony_ci     */
224261847f8eSopenharmony_ci    ALBUM_NAME = 'album_name'
224361847f8eSopenharmony_ci  }
224461847f8eSopenharmony_ci
224561847f8eSopenharmony_ci  /**
224661847f8eSopenharmony_ci   * Enumeration of mode for displaying albums containing hidden assets
224761847f8eSopenharmony_ci   *
224861847f8eSopenharmony_ci   * @enum { number } HiddenPhotosDisplayMode
224961847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
225061847f8eSopenharmony_ci   * @systemapi
225161847f8eSopenharmony_ci   * @since 11
225261847f8eSopenharmony_ci   */
225361847f8eSopenharmony_ci  enum HiddenPhotosDisplayMode {
225461847f8eSopenharmony_ci    /**
225561847f8eSopenharmony_ci     * Display the system hidden album that contains all the hidden assets.
225661847f8eSopenharmony_ci     *
225761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
225861847f8eSopenharmony_ci     * @systemapi
225961847f8eSopenharmony_ci     * @since 11
226061847f8eSopenharmony_ci     */
226161847f8eSopenharmony_ci    ASSETS_MODE,
226261847f8eSopenharmony_ci    /**
226361847f8eSopenharmony_ci     * Display all albums containing hidden assets(excluding the system hidden album and the system trash album).
226461847f8eSopenharmony_ci     *
226561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
226661847f8eSopenharmony_ci     * @systemapi
226761847f8eSopenharmony_ci     * @since 11
226861847f8eSopenharmony_ci     */
226961847f8eSopenharmony_ci    ALBUMS_MODE
227061847f8eSopenharmony_ci  }
227161847f8eSopenharmony_ci
227261847f8eSopenharmony_ci  /**
227361847f8eSopenharmony_ci   * Options to fetch assets or albums
227461847f8eSopenharmony_ci   *
227561847f8eSopenharmony_ci   * @interface FetchOptions
227661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
227761847f8eSopenharmony_ci   * @since 10
227861847f8eSopenharmony_ci   */
227961847f8eSopenharmony_ci  /**
228061847f8eSopenharmony_ci   * Options to fetch assets or albums
228161847f8eSopenharmony_ci   *
228261847f8eSopenharmony_ci   * @interface FetchOptions
228361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
228461847f8eSopenharmony_ci   * @crossplatform
228561847f8eSopenharmony_ci   * @since 12
228661847f8eSopenharmony_ci   */
228761847f8eSopenharmony_ci  interface FetchOptions {
228861847f8eSopenharmony_ci    /**
228961847f8eSopenharmony_ci     * Indicates the members to query.
229061847f8eSopenharmony_ci     *
229161847f8eSopenharmony_ci     * @type { Array<string> }
229261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
229361847f8eSopenharmony_ci     * @since 10
229461847f8eSopenharmony_ci     */
229561847f8eSopenharmony_ci    /**
229661847f8eSopenharmony_ci     * Indicates the members to query.
229761847f8eSopenharmony_ci     *
229861847f8eSopenharmony_ci     * @type { Array<string> }
229961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
230061847f8eSopenharmony_ci     * @crossplatform
230161847f8eSopenharmony_ci     * @since 12
230261847f8eSopenharmony_ci     */
230361847f8eSopenharmony_ci    fetchColumns: Array<string>;
230461847f8eSopenharmony_ci    /**
230561847f8eSopenharmony_ci     * Predicates to query
230661847f8eSopenharmony_ci     *
230761847f8eSopenharmony_ci     * @type { dataSharePredicates.DataSharePredicates }
230861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
230961847f8eSopenharmony_ci     * @since 10
231061847f8eSopenharmony_ci     */
231161847f8eSopenharmony_ci    /**
231261847f8eSopenharmony_ci     * Predicates to query
231361847f8eSopenharmony_ci     *
231461847f8eSopenharmony_ci     * @type { dataSharePredicates.DataSharePredicates }
231561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
231661847f8eSopenharmony_ci     * @crossplatform
231761847f8eSopenharmony_ci     * @since 12
231861847f8eSopenharmony_ci     */
231961847f8eSopenharmony_ci    predicates: dataSharePredicates.DataSharePredicates;
232061847f8eSopenharmony_ci  }
232161847f8eSopenharmony_ci
232261847f8eSopenharmony_ci  /**
232361847f8eSopenharmony_ci   * Options to create a photo asset for system apps
232461847f8eSopenharmony_ci   *
232561847f8eSopenharmony_ci   * @interface PhotoCreateOptions
232661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
232761847f8eSopenharmony_ci   * @systemapi
232861847f8eSopenharmony_ci   * @since 10
232961847f8eSopenharmony_ci   */
233061847f8eSopenharmony_ci  interface PhotoCreateOptions {
233161847f8eSopenharmony_ci    /**
233261847f8eSopenharmony_ci     * Specify subtype of the asset to create
233361847f8eSopenharmony_ci     *
233461847f8eSopenharmony_ci     * @type { ?PhotoSubtype }
233561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
233661847f8eSopenharmony_ci     * @systemapi
233761847f8eSopenharmony_ci     * @since 10
233861847f8eSopenharmony_ci     */
233961847f8eSopenharmony_ci    subtype?: PhotoSubtype;
234061847f8eSopenharmony_ci    /**
234161847f8eSopenharmony_ci     * Camera shot key
234261847f8eSopenharmony_ci     *
234361847f8eSopenharmony_ci     * @type { ?string }
234461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
234561847f8eSopenharmony_ci     * @systemapi
234661847f8eSopenharmony_ci     * @since 10
234761847f8eSopenharmony_ci     */
234861847f8eSopenharmony_ci    cameraShotKey?: string;
234961847f8eSopenharmony_ci  }
235061847f8eSopenharmony_ci
235161847f8eSopenharmony_ci  /**
235261847f8eSopenharmony_ci   * Config to create photo asset
235361847f8eSopenharmony_ci   *
235461847f8eSopenharmony_ci   * @interface PhotoCreationConfig
235561847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
235661847f8eSopenharmony_ci   * @atomicservice
235761847f8eSopenharmony_ci   * @since 12
235861847f8eSopenharmony_ci   */
235961847f8eSopenharmony_ci  interface PhotoCreationConfig {
236061847f8eSopenharmony_ci    /**
236161847f8eSopenharmony_ci     * Title of the asset
236261847f8eSopenharmony_ci     *
236361847f8eSopenharmony_ci     * @type { ?string }
236461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
236561847f8eSopenharmony_ci     * @atomicservice
236661847f8eSopenharmony_ci     * @since 12
236761847f8eSopenharmony_ci     */
236861847f8eSopenharmony_ci    title?: string;
236961847f8eSopenharmony_ci
237061847f8eSopenharmony_ci    /**
237161847f8eSopenharmony_ci     * Extension of the asset
237261847f8eSopenharmony_ci     *
237361847f8eSopenharmony_ci     * @type { string }
237461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
237561847f8eSopenharmony_ci     * @atomicservice
237661847f8eSopenharmony_ci     * @since 12
237761847f8eSopenharmony_ci     */
237861847f8eSopenharmony_ci    fileNameExtension: string;
237961847f8eSopenharmony_ci
238061847f8eSopenharmony_ci    /**
238161847f8eSopenharmony_ci     * Specify photo type of the asset to create, include image or video
238261847f8eSopenharmony_ci     *
238361847f8eSopenharmony_ci     * @type { PhotoType }
238461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
238561847f8eSopenharmony_ci     * @atomicservice
238661847f8eSopenharmony_ci     * @since 12
238761847f8eSopenharmony_ci     */
238861847f8eSopenharmony_ci    photoType: PhotoType;
238961847f8eSopenharmony_ci
239061847f8eSopenharmony_ci    /**
239161847f8eSopenharmony_ci     * Specify photo subtype of the asset to create, include default or moving_photo
239261847f8eSopenharmony_ci     *
239361847f8eSopenharmony_ci     * @type { ?PhotoSubtype }
239461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
239561847f8eSopenharmony_ci     * @atomicservice
239661847f8eSopenharmony_ci     * @since 12
239761847f8eSopenharmony_ci     */
239861847f8eSopenharmony_ci    subtype?: PhotoSubtype;
239961847f8eSopenharmony_ci  }
240061847f8eSopenharmony_ci
240161847f8eSopenharmony_ci  /**
240261847f8eSopenharmony_ci   * Options to create a photo asset
240361847f8eSopenharmony_ci   *
240461847f8eSopenharmony_ci   * @interface CreateOptions
240561847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
240661847f8eSopenharmony_ci   * @since 10
240761847f8eSopenharmony_ci   */
240861847f8eSopenharmony_ci  /**
240961847f8eSopenharmony_ci   * Options to create a photo asset
241061847f8eSopenharmony_ci   *
241161847f8eSopenharmony_ci   * @interface CreateOptions
241261847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
241361847f8eSopenharmony_ci   * @atomicservice
241461847f8eSopenharmony_ci   * @since 11
241561847f8eSopenharmony_ci   */
241661847f8eSopenharmony_ci  interface CreateOptions {
241761847f8eSopenharmony_ci    /**
241861847f8eSopenharmony_ci     * Title of the asset
241961847f8eSopenharmony_ci     *
242061847f8eSopenharmony_ci     * @type { ?string }
242161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
242261847f8eSopenharmony_ci     * @since 10
242361847f8eSopenharmony_ci     */
242461847f8eSopenharmony_ci    /**
242561847f8eSopenharmony_ci     * Title of the asset
242661847f8eSopenharmony_ci     *
242761847f8eSopenharmony_ci     * @type { ?string }
242861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
242961847f8eSopenharmony_ci     * @atomicservice
243061847f8eSopenharmony_ci     * @since 11
243161847f8eSopenharmony_ci     */
243261847f8eSopenharmony_ci    title?: string;
243361847f8eSopenharmony_ci    /**
243461847f8eSopenharmony_ci     * Specify subtype of the asset to create
243561847f8eSopenharmony_ci     *
243661847f8eSopenharmony_ci     * @type { ?PhotoSubtype }
243761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
243861847f8eSopenharmony_ci     * @atomicservice
243961847f8eSopenharmony_ci     * @since 12
244061847f8eSopenharmony_ci     */
244161847f8eSopenharmony_ci    subtype?: PhotoSubtype;
244261847f8eSopenharmony_ci  }
244361847f8eSopenharmony_ci
244461847f8eSopenharmony_ci  /**
244561847f8eSopenharmony_ci   * Options to request photo
244661847f8eSopenharmony_ci   *
244761847f8eSopenharmony_ci   * @interface RequestPhotoOptions
244861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
244961847f8eSopenharmony_ci   * @systemapi
245061847f8eSopenharmony_ci   * @since 11
245161847f8eSopenharmony_ci   */
245261847f8eSopenharmony_ci  interface RequestPhotoOptions {
245361847f8eSopenharmony_ci    /**
245461847f8eSopenharmony_ci     * Size of thumbnail
245561847f8eSopenharmony_ci     *
245661847f8eSopenharmony_ci     * @type { ?image.Size }
245761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
245861847f8eSopenharmony_ci     * @systemapi
245961847f8eSopenharmony_ci     * @since 11
246061847f8eSopenharmony_ci     */
246161847f8eSopenharmony_ci    size?: image.Size;
246261847f8eSopenharmony_ci    /**
246361847f8eSopenharmony_ci     * Type of photo request
246461847f8eSopenharmony_ci     *
246561847f8eSopenharmony_ci     * @type { ?RequestPhotoType }
246661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
246761847f8eSopenharmony_ci     * @systemapi
246861847f8eSopenharmony_ci     * @since 11
246961847f8eSopenharmony_ci     */
247061847f8eSopenharmony_ci    requestPhotoType?: RequestPhotoType;
247161847f8eSopenharmony_ci  }
247261847f8eSopenharmony_ci
247361847f8eSopenharmony_ci  /**
247461847f8eSopenharmony_ci   * The fetch result of assets or albums
247561847f8eSopenharmony_ci   *
247661847f8eSopenharmony_ci   * @interface FetchResult
247761847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
247861847f8eSopenharmony_ci   * @since 10
247961847f8eSopenharmony_ci   */
248061847f8eSopenharmony_ci  /**
248161847f8eSopenharmony_ci   * The fetch result of assets or albums
248261847f8eSopenharmony_ci   *
248361847f8eSopenharmony_ci   * @interface FetchResult
248461847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
248561847f8eSopenharmony_ci   * @crossplatform
248661847f8eSopenharmony_ci   * @since 12
248761847f8eSopenharmony_ci   */
248861847f8eSopenharmony_ci  interface FetchResult<T> {
248961847f8eSopenharmony_ci    /**
249061847f8eSopenharmony_ci     * Obtains the total number of objects in the fetch result.
249161847f8eSopenharmony_ci     *
249261847f8eSopenharmony_ci     * @returns { number } Total number of objects.
249361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
249461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
249561847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
249661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
249761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
249861847f8eSopenharmony_ci     * @since 10
249961847f8eSopenharmony_ci     */
250061847f8eSopenharmony_ci    /**
250161847f8eSopenharmony_ci     * Obtains the total number of objects in the fetch result.
250261847f8eSopenharmony_ci     *
250361847f8eSopenharmony_ci     * @returns { number } Total number of objects.
250461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
250561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
250661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
250761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
250861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
250961847f8eSopenharmony_ci     * @crossplatform
251061847f8eSopenharmony_ci     * @since 12
251161847f8eSopenharmony_ci     */
251261847f8eSopenharmony_ci    getCount(): number;
251361847f8eSopenharmony_ci    /**
251461847f8eSopenharmony_ci     * Checks whether the result set points to the last row.
251561847f8eSopenharmony_ci     * You need to check whether the object is the last one before calling getNextObject.
251661847f8eSopenharmony_ci     *
251761847f8eSopenharmony_ci     * @returns { boolean } Whether the object is the last one in the fetch result.
251861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
251961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
252061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
252161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
252261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
252361847f8eSopenharmony_ci     * @since 10
252461847f8eSopenharmony_ci     */
252561847f8eSopenharmony_ci    /**
252661847f8eSopenharmony_ci     * Checks whether the result set points to the last row.
252761847f8eSopenharmony_ci     * You need to check whether the object is the last one before calling getNextObject.
252861847f8eSopenharmony_ci     *
252961847f8eSopenharmony_ci     * @returns { boolean } Whether the object is the last one in the fetch result.
253061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
253161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
253261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
253361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
253461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
253561847f8eSopenharmony_ci     * @crossplatform
253661847f8eSopenharmony_ci     * @since 12
253761847f8eSopenharmony_ci     */
253861847f8eSopenharmony_ci    isAfterLast(): boolean;
253961847f8eSopenharmony_ci    /**
254061847f8eSopenharmony_ci     * Obtains the first object in the fetch result.
254161847f8eSopenharmony_ci     *
254261847f8eSopenharmony_ci     * @param { AsyncCallback<T> } callback - Returns the first object in the fetch result.
254361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
254461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
254561847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
254661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
254761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
254861847f8eSopenharmony_ci     * @since 10
254961847f8eSopenharmony_ci     */
255061847f8eSopenharmony_ci    /**
255161847f8eSopenharmony_ci     * Obtains the first object in the fetch result.
255261847f8eSopenharmony_ci     *
255361847f8eSopenharmony_ci     * @param { AsyncCallback<T> } callback - Returns the first object in the fetch result.
255461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
255561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
255661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
255761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
255861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
255961847f8eSopenharmony_ci     * @crossplatform
256061847f8eSopenharmony_ci     * @since 12
256161847f8eSopenharmony_ci     */
256261847f8eSopenharmony_ci    getFirstObject(callback: AsyncCallback<T>): void;
256361847f8eSopenharmony_ci    /**
256461847f8eSopenharmony_ci     * Obtains the first object in the fetch result.
256561847f8eSopenharmony_ci     *
256661847f8eSopenharmony_ci     * @returns { Promise<T> } Returns the first object in the fetch result.
256761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
256861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
256961847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
257061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
257161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
257261847f8eSopenharmony_ci     * @since 10
257361847f8eSopenharmony_ci     */
257461847f8eSopenharmony_ci    /**
257561847f8eSopenharmony_ci     * Obtains the first object in the fetch result.
257661847f8eSopenharmony_ci     *
257761847f8eSopenharmony_ci     * @returns { Promise<T> } Returns the first object in the fetch result.
257861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
257961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
258061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
258161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
258261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
258361847f8eSopenharmony_ci     * @crossplatform
258461847f8eSopenharmony_ci     * @since 12
258561847f8eSopenharmony_ci     */
258661847f8eSopenharmony_ci    getFirstObject(): Promise<T>;
258761847f8eSopenharmony_ci    /**
258861847f8eSopenharmony_ci     * Obtains the next object in the fetch result.
258961847f8eSopenharmony_ci     * Before calling this method, you must use isAfterLast() to check whether the current position is the last row
259061847f8eSopenharmony_ci     * in the fetch result. This method only works when the current position is not the last row.
259161847f8eSopenharmony_ci     *
259261847f8eSopenharmony_ci     * @param { AsyncCallback<T> } callback - Returns the next object
259361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
259461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
259561847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
259661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
259761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
259861847f8eSopenharmony_ci     * @since 10
259961847f8eSopenharmony_ci     */
260061847f8eSopenharmony_ci    /**
260161847f8eSopenharmony_ci     * Obtains the next object in the fetch result.
260261847f8eSopenharmony_ci     * Before calling this method, you must use isAfterLast() to check whether the current position is the last row
260361847f8eSopenharmony_ci     * in the fetch result. This method only works when the current position is not the last row.
260461847f8eSopenharmony_ci     *
260561847f8eSopenharmony_ci     * @param { AsyncCallback<T> } callback - Returns the next object
260661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
260761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
260861847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
260961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
261061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
261161847f8eSopenharmony_ci     * @crossplatform
261261847f8eSopenharmony_ci     * @since 12
261361847f8eSopenharmony_ci     */
261461847f8eSopenharmony_ci    getNextObject(callback: AsyncCallback<T>): void;
261561847f8eSopenharmony_ci    /**
261661847f8eSopenharmony_ci     * Obtains the next object in the fetch result.
261761847f8eSopenharmony_ci     * Before calling this method, you must use isAfterLast() to check whether the current position is the last row
261861847f8eSopenharmony_ci     * in the fetch result. This method only works when the current position is not the last row.
261961847f8eSopenharmony_ci     *
262061847f8eSopenharmony_ci     * @returns { Promise<T> } Returns the next object
262161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
262261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
262361847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
262461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
262561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
262661847f8eSopenharmony_ci     * @since 10
262761847f8eSopenharmony_ci     */
262861847f8eSopenharmony_ci    /**
262961847f8eSopenharmony_ci     * Obtains the next object in the fetch result.
263061847f8eSopenharmony_ci     * Before calling this method, you must use isAfterLast() to check whether the current position is the last row
263161847f8eSopenharmony_ci     * in the fetch result. This method only works when the current position is not the last row.
263261847f8eSopenharmony_ci     *
263361847f8eSopenharmony_ci     * @returns { Promise<T> } Returns the next object
263461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
263561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
263661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
263761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
263861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
263961847f8eSopenharmony_ci     * @crossplatform
264061847f8eSopenharmony_ci     * @since 12
264161847f8eSopenharmony_ci     */
264261847f8eSopenharmony_ci    getNextObject(): Promise<T>;
264361847f8eSopenharmony_ci    /**
264461847f8eSopenharmony_ci     * Obtains the last object in the fetch result
264561847f8eSopenharmony_ci     *
264661847f8eSopenharmony_ci     * @param { AsyncCallback<T> } callback - Returns the last object
264761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
264861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
264961847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
265061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
265161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
265261847f8eSopenharmony_ci     * @since 10
265361847f8eSopenharmony_ci     */
265461847f8eSopenharmony_ci    /**
265561847f8eSopenharmony_ci     * Obtains the last object in the fetch result
265661847f8eSopenharmony_ci     *
265761847f8eSopenharmony_ci     * @param { AsyncCallback<T> } callback - Returns the last object
265861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
265961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
266061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
266161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
266261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
266361847f8eSopenharmony_ci     * @crossplatform
266461847f8eSopenharmony_ci     * @since 12
266561847f8eSopenharmony_ci     */
266661847f8eSopenharmony_ci    getLastObject(callback: AsyncCallback<T>): void;
266761847f8eSopenharmony_ci    /**
266861847f8eSopenharmony_ci     * Obtains the last object in the fetch result
266961847f8eSopenharmony_ci     *
267061847f8eSopenharmony_ci     * @returns { Promise<T> } Returns the last object
267161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
267261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
267361847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
267461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
267561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
267661847f8eSopenharmony_ci     * @since 10
267761847f8eSopenharmony_ci     */
267861847f8eSopenharmony_ci    /**
267961847f8eSopenharmony_ci     * Obtains the last object in the fetch result
268061847f8eSopenharmony_ci     *
268161847f8eSopenharmony_ci     * @returns { Promise<T> } Returns the last object
268261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
268361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
268461847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
268561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
268661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
268761847f8eSopenharmony_ci     * @crossplatform
268861847f8eSopenharmony_ci     * @since 12
268961847f8eSopenharmony_ci     */
269061847f8eSopenharmony_ci    getLastObject(): Promise<T>;
269161847f8eSopenharmony_ci    /**
269261847f8eSopenharmony_ci     * Obtains the object with the specified index in the fetch result.
269361847f8eSopenharmony_ci     *
269461847f8eSopenharmony_ci     * @param { number } index - Index of the object to obtain.
269561847f8eSopenharmony_ci     * @param { AsyncCallback<T> } callback - Returns the object
269661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
269761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
269861847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
269961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
270061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
270161847f8eSopenharmony_ci     * @since 10
270261847f8eSopenharmony_ci     */
270361847f8eSopenharmony_ci    /**
270461847f8eSopenharmony_ci     * Obtains the object with the specified index in the fetch result.
270561847f8eSopenharmony_ci     *
270661847f8eSopenharmony_ci     * @param { number } index - Index of the object to obtain.
270761847f8eSopenharmony_ci     * @param { AsyncCallback<T> } callback - Returns the object
270861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
270961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
271061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
271161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
271261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
271361847f8eSopenharmony_ci     * @crossplatform
271461847f8eSopenharmony_ci     * @since 12
271561847f8eSopenharmony_ci     */
271661847f8eSopenharmony_ci    getObjectByPosition(index: number, callback: AsyncCallback<T>): void;
271761847f8eSopenharmony_ci    /**
271861847f8eSopenharmony_ci     * Obtains the object with the specified index in the fetch result.
271961847f8eSopenharmony_ci     *
272061847f8eSopenharmony_ci     * @param { number } index - Index of the asset to obtain.
272161847f8eSopenharmony_ci     * @returns { Promise<T> } Returns the object
272261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
272361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
272461847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
272561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
272661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
272761847f8eSopenharmony_ci     * @since 10
272861847f8eSopenharmony_ci     */
272961847f8eSopenharmony_ci    /**
273061847f8eSopenharmony_ci     * Obtains the object with the specified index in the fetch result.
273161847f8eSopenharmony_ci     *
273261847f8eSopenharmony_ci     * @param { number } index - Index of the asset to obtain.
273361847f8eSopenharmony_ci     * @returns { Promise<T> } Returns the object
273461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
273561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
273661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
273761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
273861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
273961847f8eSopenharmony_ci     * @crossplatform
274061847f8eSopenharmony_ci     * @since 12
274161847f8eSopenharmony_ci     */
274261847f8eSopenharmony_ci    getObjectByPosition(index: number): Promise<T>;
274361847f8eSopenharmony_ci    /**
274461847f8eSopenharmony_ci     * Obtains all objects in the fetch result.
274561847f8eSopenharmony_ci     *
274661847f8eSopenharmony_ci     * @param { AsyncCallback<Array<T>> } callback - Returns all the objects
274761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
274861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
274961847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
275061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
275161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
275261847f8eSopenharmony_ci     * @since 10
275361847f8eSopenharmony_ci     */
275461847f8eSopenharmony_ci    /**
275561847f8eSopenharmony_ci     * Obtains all objects in the fetch result.
275661847f8eSopenharmony_ci     *
275761847f8eSopenharmony_ci     * @param { AsyncCallback<Array<T>> } callback - Returns all the objects
275861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
275961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
276061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
276161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
276261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
276361847f8eSopenharmony_ci     * @crossplatform
276461847f8eSopenharmony_ci     * @since 12
276561847f8eSopenharmony_ci     */
276661847f8eSopenharmony_ci    getAllObjects(callback: AsyncCallback<Array<T>>): void;
276761847f8eSopenharmony_ci    /**
276861847f8eSopenharmony_ci     * Obtains all objects in the fetch result.
276961847f8eSopenharmony_ci     *
277061847f8eSopenharmony_ci     * @returns { Promise<Array<T>> } Returns all the objects
277161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
277261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
277361847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
277461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
277561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
277661847f8eSopenharmony_ci     * @since 10
277761847f8eSopenharmony_ci     */
277861847f8eSopenharmony_ci    /**
277961847f8eSopenharmony_ci     * Obtains all objects in the fetch result.
278061847f8eSopenharmony_ci     *
278161847f8eSopenharmony_ci     * @returns { Promise<Array<T>> } Returns all the objects
278261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
278361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
278461847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
278561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
278661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
278761847f8eSopenharmony_ci     * @crossplatform
278861847f8eSopenharmony_ci     * @since 12
278961847f8eSopenharmony_ci     */
279061847f8eSopenharmony_ci    getAllObjects(): Promise<Array<T>>;
279161847f8eSopenharmony_ci    /**
279261847f8eSopenharmony_ci     * Releases the fetch result.
279361847f8eSopenharmony_ci     *
279461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
279561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
279661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
279761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
279861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
279961847f8eSopenharmony_ci     * @since 10
280061847f8eSopenharmony_ci     */
280161847f8eSopenharmony_ci    /**
280261847f8eSopenharmony_ci     * Releases the fetch result.
280361847f8eSopenharmony_ci     *
280461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
280561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
280661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
280761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
280861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
280961847f8eSopenharmony_ci     * @crossplatform
281061847f8eSopenharmony_ci     * @since 12
281161847f8eSopenharmony_ci     */
281261847f8eSopenharmony_ci    close(): void;
281361847f8eSopenharmony_ci  }
281461847f8eSopenharmony_ci
281561847f8eSopenharmony_ci  /**
281661847f8eSopenharmony_ci   * Album type.
281761847f8eSopenharmony_ci   *
281861847f8eSopenharmony_ci   * @enum { number } AlbumType
281961847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
282061847f8eSopenharmony_ci   * @since 10
282161847f8eSopenharmony_ci   */
282261847f8eSopenharmony_ci  /**
282361847f8eSopenharmony_ci   * Album type.
282461847f8eSopenharmony_ci   *
282561847f8eSopenharmony_ci   * @enum { number } AlbumType
282661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
282761847f8eSopenharmony_ci   * @crossplatform
282861847f8eSopenharmony_ci   * @since 12
282961847f8eSopenharmony_ci   */
283061847f8eSopenharmony_ci  enum AlbumType {
283161847f8eSopenharmony_ci    /**
283261847f8eSopenharmony_ci     * Album created by user.
283361847f8eSopenharmony_ci     *
283461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
283561847f8eSopenharmony_ci     * @since 10
283661847f8eSopenharmony_ci     */
283761847f8eSopenharmony_ci    /**
283861847f8eSopenharmony_ci     * Album created by user.
283961847f8eSopenharmony_ci     *
284061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
284161847f8eSopenharmony_ci     * @crossplatform
284261847f8eSopenharmony_ci     * @since 12
284361847f8eSopenharmony_ci     */
284461847f8eSopenharmony_ci    USER = 0,
284561847f8eSopenharmony_ci    /**
284661847f8eSopenharmony_ci     * Album created by system, which metadata cannot be modified.
284761847f8eSopenharmony_ci     *
284861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
284961847f8eSopenharmony_ci     * @since 10
285061847f8eSopenharmony_ci     */
285161847f8eSopenharmony_ci    /**
285261847f8eSopenharmony_ci     * Album created by system, which metadata cannot be modified.
285361847f8eSopenharmony_ci     *
285461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
285561847f8eSopenharmony_ci     * @crossplatform
285661847f8eSopenharmony_ci     * @since 12
285761847f8eSopenharmony_ci     */
285861847f8eSopenharmony_ci    SYSTEM = 1024,
285961847f8eSopenharmony_ci    /**
286061847f8eSopenharmony_ci     * Album created by smart abilities.
286161847f8eSopenharmony_ci     *
286261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
286361847f8eSopenharmony_ci     * @systemapi
286461847f8eSopenharmony_ci     * @since 11
286561847f8eSopenharmony_ci     */
286661847f8eSopenharmony_ci    SMART = 4096
286761847f8eSopenharmony_ci  }
286861847f8eSopenharmony_ci
286961847f8eSopenharmony_ci  /**
287061847f8eSopenharmony_ci   * Album subtype
287161847f8eSopenharmony_ci   *
287261847f8eSopenharmony_ci   * @enum { number } AlbumSubtype
287361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
287461847f8eSopenharmony_ci   * @since 10
287561847f8eSopenharmony_ci   */
287661847f8eSopenharmony_ci  /**
287761847f8eSopenharmony_ci   * Album subtype
287861847f8eSopenharmony_ci   *
287961847f8eSopenharmony_ci   * @enum { number } AlbumSubtype
288061847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
288161847f8eSopenharmony_ci   * @crossplatform
288261847f8eSopenharmony_ci   * @since 12
288361847f8eSopenharmony_ci   */
288461847f8eSopenharmony_ci  enum AlbumSubtype {
288561847f8eSopenharmony_ci    /**
288661847f8eSopenharmony_ci     * Generic user-created albums.
288761847f8eSopenharmony_ci     *
288861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
288961847f8eSopenharmony_ci     * @since 10
289061847f8eSopenharmony_ci     */
289161847f8eSopenharmony_ci    /**
289261847f8eSopenharmony_ci     * Generic user-created albums.
289361847f8eSopenharmony_ci     *
289461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
289561847f8eSopenharmony_ci     * @crossplatform
289661847f8eSopenharmony_ci     * @since 12
289761847f8eSopenharmony_ci     */
289861847f8eSopenharmony_ci    USER_GENERIC = 1,
289961847f8eSopenharmony_ci    /**
290061847f8eSopenharmony_ci     * Favorite album, which assets are marked as favorite.
290161847f8eSopenharmony_ci     *
290261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
290361847f8eSopenharmony_ci     * @since 10
290461847f8eSopenharmony_ci     */
290561847f8eSopenharmony_ci    /**
290661847f8eSopenharmony_ci     * Favorite album, which assets are marked as favorite.
290761847f8eSopenharmony_ci     *
290861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
290961847f8eSopenharmony_ci     * @crossplatform
291061847f8eSopenharmony_ci     * @since 12
291161847f8eSopenharmony_ci     */
291261847f8eSopenharmony_ci    FAVORITE = 1025,
291361847f8eSopenharmony_ci    /**
291461847f8eSopenharmony_ci     * Video album, which contains all video assets.
291561847f8eSopenharmony_ci     *
291661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
291761847f8eSopenharmony_ci     * @since 10
291861847f8eSopenharmony_ci     */
291961847f8eSopenharmony_ci    /**
292061847f8eSopenharmony_ci     * Video album, which contains all video assets.
292161847f8eSopenharmony_ci     *
292261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
292361847f8eSopenharmony_ci     * @crossplatform
292461847f8eSopenharmony_ci     * @since 12
292561847f8eSopenharmony_ci     */
292661847f8eSopenharmony_ci    VIDEO,
292761847f8eSopenharmony_ci    /**
292861847f8eSopenharmony_ci     * Hidden album, which assets are marked as hidden.
292961847f8eSopenharmony_ci     *
293061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
293161847f8eSopenharmony_ci     * @systemapi
293261847f8eSopenharmony_ci     * @since 10
293361847f8eSopenharmony_ci     */
293461847f8eSopenharmony_ci    HIDDEN,
293561847f8eSopenharmony_ci    /**
293661847f8eSopenharmony_ci     * Trash album, which assets are deleted.
293761847f8eSopenharmony_ci     *
293861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
293961847f8eSopenharmony_ci     * @systemapi
294061847f8eSopenharmony_ci     * @since 10
294161847f8eSopenharmony_ci     */
294261847f8eSopenharmony_ci    TRASH,
294361847f8eSopenharmony_ci    /**
294461847f8eSopenharmony_ci     * Screenshot album
294561847f8eSopenharmony_ci     *
294661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
294761847f8eSopenharmony_ci     * @systemapi
294861847f8eSopenharmony_ci     * @since 10
294961847f8eSopenharmony_ci     */
295061847f8eSopenharmony_ci    SCREENSHOT,
295161847f8eSopenharmony_ci    /**
295261847f8eSopenharmony_ci     * Camera album
295361847f8eSopenharmony_ci     *
295461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
295561847f8eSopenharmony_ci     * @systemapi
295661847f8eSopenharmony_ci     * @since 10
295761847f8eSopenharmony_ci     */
295861847f8eSopenharmony_ci    CAMERA,
295961847f8eSopenharmony_ci    /**
296061847f8eSopenharmony_ci     * Image album
296161847f8eSopenharmony_ci     *
296261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
296361847f8eSopenharmony_ci     * @systemapi
296461847f8eSopenharmony_ci     * @since 11
296561847f8eSopenharmony_ci     */
296661847f8eSopenharmony_ci    /**
296761847f8eSopenharmony_ci     * Image album
296861847f8eSopenharmony_ci     *
296961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
297061847f8eSopenharmony_ci     * @since 12
297161847f8eSopenharmony_ci     */
297261847f8eSopenharmony_ci    IMAGE = 1031,
297361847f8eSopenharmony_ci    /**
297461847f8eSopenharmony_ci     * Cloud Enhancement album
297561847f8eSopenharmony_ci     *
297661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
297761847f8eSopenharmony_ci     * @systemapi
297861847f8eSopenharmony_ci     * @since 13
297961847f8eSopenharmony_ci     */
298061847f8eSopenharmony_ci    CLOUD_ENHANCEMENT = 1032,
298161847f8eSopenharmony_ci    /**
298261847f8eSopenharmony_ci     * Source album
298361847f8eSopenharmony_ci     *
298461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
298561847f8eSopenharmony_ci     * @systemapi
298661847f8eSopenharmony_ci     * @since 11
298761847f8eSopenharmony_ci     */
298861847f8eSopenharmony_ci    SOURCE_GENERIC = 2049,
298961847f8eSopenharmony_ci    /**
299061847f8eSopenharmony_ci     * Classify album
299161847f8eSopenharmony_ci     *
299261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
299361847f8eSopenharmony_ci     * @systemapi
299461847f8eSopenharmony_ci     * @since 11
299561847f8eSopenharmony_ci     */
299661847f8eSopenharmony_ci    CLASSIFY = 4097,
299761847f8eSopenharmony_ci    /**
299861847f8eSopenharmony_ci     * Location album
299961847f8eSopenharmony_ci     *
300061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
300161847f8eSopenharmony_ci     * @systemapi
300261847f8eSopenharmony_ci     * @since 11
300361847f8eSopenharmony_ci     */
300461847f8eSopenharmony_ci    GEOGRAPHY_LOCATION = 4099,
300561847f8eSopenharmony_ci    /**
300661847f8eSopenharmony_ci     * City album
300761847f8eSopenharmony_ci     *
300861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
300961847f8eSopenharmony_ci     * @systemapi
301061847f8eSopenharmony_ci     * @since 11
301161847f8eSopenharmony_ci     */
301261847f8eSopenharmony_ci    GEOGRAPHY_CITY,
301361847f8eSopenharmony_ci    /**
301461847f8eSopenharmony_ci     * ShootingMode album
301561847f8eSopenharmony_ci     *
301661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
301761847f8eSopenharmony_ci     * @systemapi
301861847f8eSopenharmony_ci     * @since 11
301961847f8eSopenharmony_ci     */
302061847f8eSopenharmony_ci    SHOOTING_MODE,
302161847f8eSopenharmony_ci    /**
302261847f8eSopenharmony_ci     * Portrait album
302361847f8eSopenharmony_ci     *
302461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
302561847f8eSopenharmony_ci     * @systemapi
302661847f8eSopenharmony_ci     * @since 11
302761847f8eSopenharmony_ci     */
302861847f8eSopenharmony_ci    PORTRAIT,
302961847f8eSopenharmony_ci    /**
303061847f8eSopenharmony_ci     * Group photo album
303161847f8eSopenharmony_ci     *
303261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
303361847f8eSopenharmony_ci     * @systemapi
303461847f8eSopenharmony_ci     * @since 13
303561847f8eSopenharmony_ci     */
303661847f8eSopenharmony_ci    GROUP_PHOTO,
303761847f8eSopenharmony_ci    /**
303861847f8eSopenharmony_ci     * Highlight album
303961847f8eSopenharmony_ci     *
304061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
304161847f8eSopenharmony_ci     * @systemapi
304261847f8eSopenharmony_ci     * @since 12
304361847f8eSopenharmony_ci     */
304461847f8eSopenharmony_ci    HIGHLIGHT = 4104,
304561847f8eSopenharmony_ci    /**
304661847f8eSopenharmony_ci     * Highlight suggestions album
304761847f8eSopenharmony_ci     *
304861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
304961847f8eSopenharmony_ci     * @systemapi
305061847f8eSopenharmony_ci     * @since 12
305161847f8eSopenharmony_ci     */
305261847f8eSopenharmony_ci    HIGHLIGHT_SUGGESTIONS,
305361847f8eSopenharmony_ci    /**
305461847f8eSopenharmony_ci     * Any album
305561847f8eSopenharmony_ci     *
305661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
305761847f8eSopenharmony_ci     * @since 10
305861847f8eSopenharmony_ci     */
305961847f8eSopenharmony_ci    /**
306061847f8eSopenharmony_ci     * Any album
306161847f8eSopenharmony_ci     *
306261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
306361847f8eSopenharmony_ci     * @crossplatform
306461847f8eSopenharmony_ci     * @since 12
306561847f8eSopenharmony_ci     */
306661847f8eSopenharmony_ci    ANY = 2147483647
306761847f8eSopenharmony_ci  }
306861847f8eSopenharmony_ci
306961847f8eSopenharmony_ci  /**
307061847f8eSopenharmony_ci   * Request photo type.
307161847f8eSopenharmony_ci   *
307261847f8eSopenharmony_ci   * @enum { number } RequestPhotoType
307361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
307461847f8eSopenharmony_ci   * @systemapi
307561847f8eSopenharmony_ci   * @since 11
307661847f8eSopenharmony_ci   */
307761847f8eSopenharmony_ci  enum RequestPhotoType {
307861847f8eSopenharmony_ci    /**
307961847f8eSopenharmony_ci     * Request all thumbnails: fast thumbnail and quality thumbnail
308061847f8eSopenharmony_ci     *
308161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
308261847f8eSopenharmony_ci     * @systemapi
308361847f8eSopenharmony_ci     * @since 11
308461847f8eSopenharmony_ci     */
308561847f8eSopenharmony_ci    REQUEST_ALL_THUMBNAILS = 0,
308661847f8eSopenharmony_ci    /**
308761847f8eSopenharmony_ci     * Only request fast thumbnail
308861847f8eSopenharmony_ci     *
308961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
309061847f8eSopenharmony_ci     * @systemapi
309161847f8eSopenharmony_ci     * @since 11
309261847f8eSopenharmony_ci     */
309361847f8eSopenharmony_ci    REQUEST_FAST_THUMBNAIL,
309461847f8eSopenharmony_ci    /**
309561847f8eSopenharmony_ci     * Only request quality thumbnail
309661847f8eSopenharmony_ci     *
309761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
309861847f8eSopenharmony_ci     * @systemapi
309961847f8eSopenharmony_ci     * @since 11
310061847f8eSopenharmony_ci     */
310161847f8eSopenharmony_ci    REQUEST_QUALITY_THUMBNAIL
310261847f8eSopenharmony_ci  }
310361847f8eSopenharmony_ci
310461847f8eSopenharmony_ci  /**
310561847f8eSopenharmony_ci   * Defines the abstract interface of albums.
310661847f8eSopenharmony_ci   *
310761847f8eSopenharmony_ci   * @interface AbsAlbum
310861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
310961847f8eSopenharmony_ci   * @since 10
311061847f8eSopenharmony_ci   */
311161847f8eSopenharmony_ci  /**
311261847f8eSopenharmony_ci   * Defines the abstract interface of albums.
311361847f8eSopenharmony_ci   *
311461847f8eSopenharmony_ci   * @interface AbsAlbum
311561847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
311661847f8eSopenharmony_ci   * @crossplatform
311761847f8eSopenharmony_ci   * @since 12
311861847f8eSopenharmony_ci   */
311961847f8eSopenharmony_ci  interface AbsAlbum {
312061847f8eSopenharmony_ci    /**
312161847f8eSopenharmony_ci     * Album type
312261847f8eSopenharmony_ci     *
312361847f8eSopenharmony_ci     * @type { AlbumType }
312461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
312561847f8eSopenharmony_ci     * @since 10
312661847f8eSopenharmony_ci     */
312761847f8eSopenharmony_ci    /**
312861847f8eSopenharmony_ci     * Album type
312961847f8eSopenharmony_ci     *
313061847f8eSopenharmony_ci     * @type { AlbumType }
313161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
313261847f8eSopenharmony_ci     * @crossplatform
313361847f8eSopenharmony_ci     * @since 12
313461847f8eSopenharmony_ci     */
313561847f8eSopenharmony_ci    readonly albumType: AlbumType;
313661847f8eSopenharmony_ci    /**
313761847f8eSopenharmony_ci     * Album subtype
313861847f8eSopenharmony_ci     *
313961847f8eSopenharmony_ci     * @type { AlbumSubtype }
314061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
314161847f8eSopenharmony_ci     * @since 10
314261847f8eSopenharmony_ci     */
314361847f8eSopenharmony_ci    /**
314461847f8eSopenharmony_ci     * Album subtype
314561847f8eSopenharmony_ci     *
314661847f8eSopenharmony_ci     * @type { AlbumSubtype }
314761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
314861847f8eSopenharmony_ci     * @crossplatform
314961847f8eSopenharmony_ci     * @since 12
315061847f8eSopenharmony_ci     */
315161847f8eSopenharmony_ci    readonly albumSubtype: AlbumSubtype;
315261847f8eSopenharmony_ci    /**
315361847f8eSopenharmony_ci     * Album name.
315461847f8eSopenharmony_ci     *
315561847f8eSopenharmony_ci     * @type { string }
315661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
315761847f8eSopenharmony_ci     * @since 10
315861847f8eSopenharmony_ci     */
315961847f8eSopenharmony_ci    /**
316061847f8eSopenharmony_ci     * Album name.
316161847f8eSopenharmony_ci     *
316261847f8eSopenharmony_ci     * @type { string }
316361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
316461847f8eSopenharmony_ci     * @crossplatform
316561847f8eSopenharmony_ci     * @since 12
316661847f8eSopenharmony_ci     */
316761847f8eSopenharmony_ci    albumName: string;
316861847f8eSopenharmony_ci    /**
316961847f8eSopenharmony_ci     * Album uri.
317061847f8eSopenharmony_ci     *
317161847f8eSopenharmony_ci     * @type { string }
317261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
317361847f8eSopenharmony_ci     * @since 10
317461847f8eSopenharmony_ci     */
317561847f8eSopenharmony_ci    /**
317661847f8eSopenharmony_ci     * Album uri.
317761847f8eSopenharmony_ci     *
317861847f8eSopenharmony_ci     * @type { string }
317961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
318061847f8eSopenharmony_ci     * @crossplatform
318161847f8eSopenharmony_ci     * @since 12
318261847f8eSopenharmony_ci     */
318361847f8eSopenharmony_ci    readonly albumUri: string;
318461847f8eSopenharmony_ci    /**
318561847f8eSopenharmony_ci     * Number of assets in the album
318661847f8eSopenharmony_ci     *
318761847f8eSopenharmony_ci     * @type { number }
318861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
318961847f8eSopenharmony_ci     * @since 10
319061847f8eSopenharmony_ci     */
319161847f8eSopenharmony_ci    /**
319261847f8eSopenharmony_ci     * Number of assets in the album
319361847f8eSopenharmony_ci     *
319461847f8eSopenharmony_ci     * @type { number }
319561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
319661847f8eSopenharmony_ci     * @crossplatform
319761847f8eSopenharmony_ci     * @since 12
319861847f8eSopenharmony_ci     */
319961847f8eSopenharmony_ci    readonly count: number;
320061847f8eSopenharmony_ci    /**
320161847f8eSopenharmony_ci     * Cover uri for the album
320261847f8eSopenharmony_ci     *
320361847f8eSopenharmony_ci     * @type { string }
320461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
320561847f8eSopenharmony_ci     * @since 10
320661847f8eSopenharmony_ci     */
320761847f8eSopenharmony_ci    readonly coverUri: string;
320861847f8eSopenharmony_ci    /**
320961847f8eSopenharmony_ci     * Fetch assets in an album.
321061847f8eSopenharmony_ci     *
321161847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
321261847f8eSopenharmony_ci     * @param { FetchOptions } options - Fetch options.
321361847f8eSopenharmony_ci     * @param { AsyncCallback<FetchResult<PhotoAsset>> } callback - Returns the fetch result
321461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
321561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
321661847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
321761847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
321861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
321961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
322061847f8eSopenharmony_ci     * @since 10
322161847f8eSopenharmony_ci     */
322261847f8eSopenharmony_ci    /**
322361847f8eSopenharmony_ci     * Fetch assets in an album.
322461847f8eSopenharmony_ci     *
322561847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
322661847f8eSopenharmony_ci     * @param { FetchOptions } options - Fetch options.
322761847f8eSopenharmony_ci     * @param { AsyncCallback<FetchResult<PhotoAsset>> } callback - Returns the fetch result
322861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
322961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
323061847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
323161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
323261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
323361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
323461847f8eSopenharmony_ci     * @crossplatform
323561847f8eSopenharmony_ci     * @since 12
323661847f8eSopenharmony_ci     */
323761847f8eSopenharmony_ci    getAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<PhotoAsset>>): void;
323861847f8eSopenharmony_ci    /**
323961847f8eSopenharmony_ci     * Fetch assets in an album.
324061847f8eSopenharmony_ci     *
324161847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
324261847f8eSopenharmony_ci     * @param { FetchOptions } options - Fetch options.
324361847f8eSopenharmony_ci     * @returns { Promise<FetchResult<PhotoAsset>> } Returns the fetch result
324461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
324561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
324661847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
324761847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
324861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
324961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
325061847f8eSopenharmony_ci     * @since 10
325161847f8eSopenharmony_ci     */
325261847f8eSopenharmony_ci    /**
325361847f8eSopenharmony_ci     * Fetch assets in an album.
325461847f8eSopenharmony_ci     *
325561847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
325661847f8eSopenharmony_ci     * @param { FetchOptions } options - Fetch options.
325761847f8eSopenharmony_ci     * @returns { Promise<FetchResult<PhotoAsset>> } Returns the fetch result
325861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
325961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
326061847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
326161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
326261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
326361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
326461847f8eSopenharmony_ci     * @crossplatform
326561847f8eSopenharmony_ci     * @since 12
326661847f8eSopenharmony_ci     */
326761847f8eSopenharmony_ci    getAssets(options: FetchOptions): Promise<FetchResult<PhotoAsset>>;
326861847f8eSopenharmony_ci    /**
326961847f8eSopenharmony_ci     * Fetch shared photo assets in an album.
327061847f8eSopenharmony_ci     *
327161847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_MEDIALIB_THUMB_DB
327261847f8eSopenharmony_ci     * @param { FetchOptions } options - Fetch options.
327361847f8eSopenharmony_ci     * @returns { Array<SharedPhotoAsset> } Returns the shared photo assets
327461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
327561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
327661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
327761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
327861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
327961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
328061847f8eSopenharmony_ci     * @systemapi
328161847f8eSopenharmony_ci     * @since 13
328261847f8eSopenharmony_ci     */
328361847f8eSopenharmony_ci    getSharedPhotoAssets(options: FetchOptions): Array<SharedPhotoAsset>;
328461847f8eSopenharmony_ci  }
328561847f8eSopenharmony_ci
328661847f8eSopenharmony_ci  /**
328761847f8eSopenharmony_ci   * Defines the album.
328861847f8eSopenharmony_ci   *
328961847f8eSopenharmony_ci   * @interface Album
329061847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
329161847f8eSopenharmony_ci   * @since 10
329261847f8eSopenharmony_ci   */
329361847f8eSopenharmony_ci  /**
329461847f8eSopenharmony_ci   * Defines the album.
329561847f8eSopenharmony_ci   *
329661847f8eSopenharmony_ci   * @interface Album
329761847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
329861847f8eSopenharmony_ci   * @crossplatform
329961847f8eSopenharmony_ci   * @since 12
330061847f8eSopenharmony_ci   */
330161847f8eSopenharmony_ci  interface Album extends AbsAlbum {
330261847f8eSopenharmony_ci    /**
330361847f8eSopenharmony_ci     * Number of image assets in the album
330461847f8eSopenharmony_ci     *
330561847f8eSopenharmony_ci     * @type { ?number }
330661847f8eSopenharmony_ci     * @readonly
330761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
330861847f8eSopenharmony_ci     * @since 11
330961847f8eSopenharmony_ci     */
331061847f8eSopenharmony_ci    /**
331161847f8eSopenharmony_ci     * Number of image assets in the album
331261847f8eSopenharmony_ci     *
331361847f8eSopenharmony_ci     * @type { ?number }
331461847f8eSopenharmony_ci     * @readonly
331561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
331661847f8eSopenharmony_ci     * @crossplatform
331761847f8eSopenharmony_ci     * @since 12
331861847f8eSopenharmony_ci     */
331961847f8eSopenharmony_ci    readonly imageCount?: number;
332061847f8eSopenharmony_ci    /**
332161847f8eSopenharmony_ci     * Number of video assets in the album
332261847f8eSopenharmony_ci     *
332361847f8eSopenharmony_ci     * @type { ?number }
332461847f8eSopenharmony_ci     * @readonly
332561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
332661847f8eSopenharmony_ci     * @since 11
332761847f8eSopenharmony_ci     */
332861847f8eSopenharmony_ci    /**
332961847f8eSopenharmony_ci     * Number of video assets in the album
333061847f8eSopenharmony_ci     *
333161847f8eSopenharmony_ci     * @type { ?number }
333261847f8eSopenharmony_ci     * @readonly
333361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
333461847f8eSopenharmony_ci     * @crossplatform
333561847f8eSopenharmony_ci     * @since 12
333661847f8eSopenharmony_ci     */
333761847f8eSopenharmony_ci    readonly videoCount?: number;
333861847f8eSopenharmony_ci    /**
333961847f8eSopenharmony_ci     * Modify metadata for the album
334061847f8eSopenharmony_ci     *
334161847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
334261847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
334361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
334461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
334561847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
334661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
334761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
334861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
334961847f8eSopenharmony_ci     * @since 10
335061847f8eSopenharmony_ci     */
335161847f8eSopenharmony_ci    commitModify(callback: AsyncCallback<void>): void;
335261847f8eSopenharmony_ci    /**
335361847f8eSopenharmony_ci     * Modify metadata for the album
335461847f8eSopenharmony_ci     *
335561847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
335661847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
335761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
335861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
335961847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
336061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
336161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
336261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
336361847f8eSopenharmony_ci     * @since 10
336461847f8eSopenharmony_ci     */
336561847f8eSopenharmony_ci    commitModify(): Promise<void>;
336661847f8eSopenharmony_ci    /**
336761847f8eSopenharmony_ci     * Add assets to the album.
336861847f8eSopenharmony_ci     *
336961847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
337061847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - Assets to add
337161847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
337261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
337361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
337461847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
337561847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
337661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
337761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
337861847f8eSopenharmony_ci     * @since 10
337961847f8eSopenharmony_ci     * @deprecated since 11
338061847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#addAssets
338161847f8eSopenharmony_ci     */
338261847f8eSopenharmony_ci    addAssets(assets: Array<PhotoAsset>, callback: AsyncCallback<void>): void;
338361847f8eSopenharmony_ci    /**
338461847f8eSopenharmony_ci     * Add assets to the album.
338561847f8eSopenharmony_ci     *
338661847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
338761847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - Assets to add
338861847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
338961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
339061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
339161847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
339261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
339361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
339461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
339561847f8eSopenharmony_ci     * @since 10
339661847f8eSopenharmony_ci     * @deprecated since 11
339761847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#addAssets
339861847f8eSopenharmony_ci     */
339961847f8eSopenharmony_ci    addAssets(assets: Array<PhotoAsset>): Promise<void>;
340061847f8eSopenharmony_ci    /**
340161847f8eSopenharmony_ci     * Remove assets from the album.
340261847f8eSopenharmony_ci     *
340361847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
340461847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - Assets to remove
340561847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
340661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
340761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
340861847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
340961847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
341061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
341161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
341261847f8eSopenharmony_ci     * @since 10
341361847f8eSopenharmony_ci     * @deprecated since 11
341461847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#removeAssets
341561847f8eSopenharmony_ci     */
341661847f8eSopenharmony_ci    removeAssets(assets: Array<PhotoAsset>, callback: AsyncCallback<void>): void;
341761847f8eSopenharmony_ci    /**
341861847f8eSopenharmony_ci     * Remove assets from the album.
341961847f8eSopenharmony_ci     *
342061847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
342161847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - Assets to remove
342261847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
342361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
342461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
342561847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
342661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
342761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
342861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
342961847f8eSopenharmony_ci     * @since 10
343061847f8eSopenharmony_ci     * @deprecated since 11
343161847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#removeAssets
343261847f8eSopenharmony_ci     */
343361847f8eSopenharmony_ci    removeAssets(assets: Array<PhotoAsset>): Promise<void>;
343461847f8eSopenharmony_ci    /**
343561847f8eSopenharmony_ci     * Recover assets from the trash album.
343661847f8eSopenharmony_ci     *
343761847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
343861847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - Assets to recover
343961847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
344061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
344161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
344261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
344361847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
344461847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
344561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
344661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
344761847f8eSopenharmony_ci     * @systemapi
344861847f8eSopenharmony_ci     * @since 10
344961847f8eSopenharmony_ci     * @deprecated since 11
345061847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#recoverAssets
345161847f8eSopenharmony_ci     */
345261847f8eSopenharmony_ci    recoverAssets(assets: Array<PhotoAsset>, callback: AsyncCallback<void>): void;
345361847f8eSopenharmony_ci    /**
345461847f8eSopenharmony_ci     * Recover assets from the trash album.
345561847f8eSopenharmony_ci     *
345661847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
345761847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - Assets to recover
345861847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
345961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
346061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
346161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
346261847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
346361847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
346461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
346561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
346661847f8eSopenharmony_ci     * @systemapi
346761847f8eSopenharmony_ci     * @since 10
346861847f8eSopenharmony_ci     * @deprecated since 11
346961847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#recoverAssets
347061847f8eSopenharmony_ci     */
347161847f8eSopenharmony_ci    recoverAssets(assets: Array<PhotoAsset>): Promise<void>;
347261847f8eSopenharmony_ci    /**
347361847f8eSopenharmony_ci     * Delete assets permanently from the trash album.
347461847f8eSopenharmony_ci     *
347561847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
347661847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - Assets to delete
347761847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
347861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
347961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
348061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
348161847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
348261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
348361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
348461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
348561847f8eSopenharmony_ci     * @systemapi
348661847f8eSopenharmony_ci     * @since 10
348761847f8eSopenharmony_ci     * @deprecated since 11
348861847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#deleteAssets
348961847f8eSopenharmony_ci     */
349061847f8eSopenharmony_ci    deleteAssets(assets: Array<PhotoAsset>, callback: AsyncCallback<void>): void;
349161847f8eSopenharmony_ci    /**
349261847f8eSopenharmony_ci     * Delete assets permanently from the trash album.
349361847f8eSopenharmony_ci     *
349461847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
349561847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - Assets to delete
349661847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
349761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
349861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
349961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
350061847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
350161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
350261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
350361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
350461847f8eSopenharmony_ci     * @systemapi
350561847f8eSopenharmony_ci     * @since 10
350661847f8eSopenharmony_ci     * @deprecated since 11
350761847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#deleteAssets
350861847f8eSopenharmony_ci     */
350961847f8eSopenharmony_ci    deleteAssets(assets: Array<PhotoAsset>): Promise<void>;
351061847f8eSopenharmony_ci    /**
351161847f8eSopenharmony_ci     * Set cover uri for this album.
351261847f8eSopenharmony_ci     *
351361847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
351461847f8eSopenharmony_ci     * @param { string } uri - The asset uri to set
351561847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
351661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
351761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
351861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
351961847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
352061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
352161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
352261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
352361847f8eSopenharmony_ci     * @systemapi
352461847f8eSopenharmony_ci     * @since 10
352561847f8eSopenharmony_ci     * @deprecated since 11
352661847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#setCoverUri
352761847f8eSopenharmony_ci     */
352861847f8eSopenharmony_ci    setCoverUri(uri: string, callback: AsyncCallback<void>): void;
352961847f8eSopenharmony_ci    /**
353061847f8eSopenharmony_ci     * Set cover uri for this album.
353161847f8eSopenharmony_ci     *
353261847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
353361847f8eSopenharmony_ci     * @param { string } uri - The asset uri to set
353461847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
353561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
353661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
353761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
353861847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
353961847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
354061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
354161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
354261847f8eSopenharmony_ci     * @systemapi
354361847f8eSopenharmony_ci     * @since 10
354461847f8eSopenharmony_ci     * @deprecated since 11
354561847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#setCoverUri
354661847f8eSopenharmony_ci     */
354761847f8eSopenharmony_ci    setCoverUri(uri: string): Promise<void>;
354861847f8eSopenharmony_ci    /**
354961847f8eSopenharmony_ci     * Get the faceId of the portrait album or group photo album.
355061847f8eSopenharmony_ci     *
355161847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
355261847f8eSopenharmony_ci     * @returns { Promise<string> } Returns tag_id if portrait album, Returns group_tag if group photo album,
355361847f8eSopenharmony_ci     * <br>Returns empty if not found.
355461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
355561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
355661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
355761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
355861847f8eSopenharmony_ci     * @systemapi
355961847f8eSopenharmony_ci     * @since 13
356061847f8eSopenharmony_ci     */
356161847f8eSopenharmony_ci    getFaceId(): Promise<string>;
356261847f8eSopenharmony_ci  }
356361847f8eSopenharmony_ci
356461847f8eSopenharmony_ci  /**
356561847f8eSopenharmony_ci   * Helper functions to access photos and albums.
356661847f8eSopenharmony_ci   *
356761847f8eSopenharmony_ci   * @interface PhotoAccessHelper
356861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
356961847f8eSopenharmony_ci   * @since 10
357061847f8eSopenharmony_ci   */
357161847f8eSopenharmony_ci  /**
357261847f8eSopenharmony_ci   * Helper functions to access photos and albums.
357361847f8eSopenharmony_ci   *
357461847f8eSopenharmony_ci   * @interface PhotoAccessHelper
357561847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
357661847f8eSopenharmony_ci   * @atomicservice
357761847f8eSopenharmony_ci   * @since 11
357861847f8eSopenharmony_ci   */
357961847f8eSopenharmony_ci  /**
358061847f8eSopenharmony_ci   * Helper functions to access photos and albums.
358161847f8eSopenharmony_ci   *
358261847f8eSopenharmony_ci   * @interface PhotoAccessHelper
358361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
358461847f8eSopenharmony_ci   * @crossplatform
358561847f8eSopenharmony_ci   * @atomicservice
358661847f8eSopenharmony_ci   * @since 12
358761847f8eSopenharmony_ci   */
358861847f8eSopenharmony_ci  interface PhotoAccessHelper {
358961847f8eSopenharmony_ci    /**
359061847f8eSopenharmony_ci     * Fetch photo assets
359161847f8eSopenharmony_ci     *
359261847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
359361847f8eSopenharmony_ci     * @param { FetchOptions } options - Fetch options.
359461847f8eSopenharmony_ci     * @param { AsyncCallback<FetchResult<PhotoAsset>> } callback - Returns the fetch result.
359561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
359661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
359761847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
359861847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
359961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
360061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
360161847f8eSopenharmony_ci     * @since 10
360261847f8eSopenharmony_ci     */
360361847f8eSopenharmony_ci    /**
360461847f8eSopenharmony_ci     * Fetch photo assets
360561847f8eSopenharmony_ci     *
360661847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
360761847f8eSopenharmony_ci     * @param { FetchOptions } options - Fetch options.
360861847f8eSopenharmony_ci     * @param { AsyncCallback<FetchResult<PhotoAsset>> } callback - Returns the fetch result.
360961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
361061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
361161847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
361261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
361361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
361461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
361561847f8eSopenharmony_ci     * @crossplatform
361661847f8eSopenharmony_ci     * @since 12
361761847f8eSopenharmony_ci     */
361861847f8eSopenharmony_ci    getAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<PhotoAsset>>): void;
361961847f8eSopenharmony_ci    /**
362061847f8eSopenharmony_ci     * Fetch photo assets
362161847f8eSopenharmony_ci     *
362261847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
362361847f8eSopenharmony_ci     * @param { FetchOptions } options - Retrieval options.
362461847f8eSopenharmony_ci     * @returns { Promise<FetchResult<PhotoAsset>> } Returns the fetch result.
362561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
362661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
362761847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
362861847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
362961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
363061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
363161847f8eSopenharmony_ci     * @since 10
363261847f8eSopenharmony_ci     */
363361847f8eSopenharmony_ci    /**
363461847f8eSopenharmony_ci     * Fetch photo assets
363561847f8eSopenharmony_ci     *
363661847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
363761847f8eSopenharmony_ci     * @param { FetchOptions } options - Retrieval options.
363861847f8eSopenharmony_ci     * @returns { Promise<FetchResult<PhotoAsset>> } Returns the fetch result.
363961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
364061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
364161847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
364261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
364361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
364461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
364561847f8eSopenharmony_ci     * @crossplatform
364661847f8eSopenharmony_ci     * @since 12
364761847f8eSopenharmony_ci     */
364861847f8eSopenharmony_ci    getAssets(options: FetchOptions): Promise<FetchResult<PhotoAsset>>;
364961847f8eSopenharmony_ci    /**
365061847f8eSopenharmony_ci     * Fetch a group of burst assets
365161847f8eSopenharmony_ci     *
365261847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
365361847f8eSopenharmony_ci     * @param { string } burstKey - Burst asset uuid
365461847f8eSopenharmony_ci     * @param { FetchOptions } options - Retrieval options.
365561847f8eSopenharmony_ci     * @returns { Promise<FetchResult<PhotoAsset>> } Returns the fetch result.
365661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
365761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
365861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
365961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
366061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
366161847f8eSopenharmony_ci     * @since 12
366261847f8eSopenharmony_ci     */
366361847f8eSopenharmony_ci    getBurstAssets(burstKey: string, options: FetchOptions): Promise<FetchResult<PhotoAsset>>;
366461847f8eSopenharmony_ci    /**
366561847f8eSopenharmony_ci     * Create a photo asset
366661847f8eSopenharmony_ci     *
366761847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
366861847f8eSopenharmony_ci     * @param { string } displayName - Asset name
366961847f8eSopenharmony_ci     * @param { AsyncCallback<PhotoAsset> } callback - Returns the newly created asset
367061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
367161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
367261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
367361847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
367461847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
367561847f8eSopenharmony_ci     * @throws { BusinessError } 14000001 - Invalid display name
367661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
367761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
367861847f8eSopenharmony_ci     * @systemapi
367961847f8eSopenharmony_ci     * @since 10
368061847f8eSopenharmony_ci     */
368161847f8eSopenharmony_ci    createAsset(displayName: string, callback: AsyncCallback<PhotoAsset>): void;
368261847f8eSopenharmony_ci    /**
368361847f8eSopenharmony_ci     * Create a photo asset
368461847f8eSopenharmony_ci     *
368561847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
368661847f8eSopenharmony_ci     * @param { string } displayName - Asset name
368761847f8eSopenharmony_ci     * @returns { Promise<PhotoAsset> } Returns the newly created asset
368861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
368961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
369061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
369161847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
369261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
369361847f8eSopenharmony_ci     * @throws { BusinessError } 14000001 - Invalid display name
369461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
369561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
369661847f8eSopenharmony_ci     * @systemapi
369761847f8eSopenharmony_ci     * @since 10
369861847f8eSopenharmony_ci     */
369961847f8eSopenharmony_ci    createAsset(displayName: string): Promise<PhotoAsset>;
370061847f8eSopenharmony_ci    /**
370161847f8eSopenharmony_ci     * Create a photo asset
370261847f8eSopenharmony_ci     *
370361847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
370461847f8eSopenharmony_ci     * @param { string } displayName - Asset name
370561847f8eSopenharmony_ci     * @param { PhotoCreateOptions } options - Create operation
370661847f8eSopenharmony_ci     * @returns { Promise<PhotoAsset> } Returns the newly created asset
370761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
370861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
370961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
371061847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
371161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
371261847f8eSopenharmony_ci     * @throws { BusinessError } 14000001 - Invalid display name
371361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
371461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
371561847f8eSopenharmony_ci     * @systemapi
371661847f8eSopenharmony_ci     * @since 10
371761847f8eSopenharmony_ci     */
371861847f8eSopenharmony_ci    createAsset(displayName: string, options: PhotoCreateOptions): Promise<PhotoAsset>;
371961847f8eSopenharmony_ci    /**
372061847f8eSopenharmony_ci     * Create a photo asset
372161847f8eSopenharmony_ci     *
372261847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
372361847f8eSopenharmony_ci     * @param { string } displayName - Asset name
372461847f8eSopenharmony_ci     * @param { PhotoCreateOptions } options - Photo create operation
372561847f8eSopenharmony_ci     * @param { AsyncCallback<PhotoAsset> } callback - Returns the newly created asset
372661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
372761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
372861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
372961847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
373061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
373161847f8eSopenharmony_ci     * @throws { BusinessError } 14000001 - Invalid display name
373261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
373361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
373461847f8eSopenharmony_ci     * @systemapi
373561847f8eSopenharmony_ci     * @since 10
373661847f8eSopenharmony_ci     */
373761847f8eSopenharmony_ci    createAsset(displayName: string, options: PhotoCreateOptions, callback: AsyncCallback<PhotoAsset>): void;
373861847f8eSopenharmony_ci    /**
373961847f8eSopenharmony_ci     * Create a photo asset:
374061847f8eSopenharmony_ci     *   1. (Suggested)Integrate security component without WRITE_IMAGEVIDEO permission;
374161847f8eSopenharmony_ci     *   2. Get WRITE_IMAGEVIDEO permission by ACL;
374261847f8eSopenharmony_ci     *
374361847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
374461847f8eSopenharmony_ci     * @param { PhotoType } photoType - Photo asset type
374561847f8eSopenharmony_ci     * @param { string } extension - Asset extension
374661847f8eSopenharmony_ci     * @param { CreateOptions } options - Asset create option
374761847f8eSopenharmony_ci     * @param { AsyncCallback<string> } callback - Returns the uri of the newly created asset
374861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
374961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
375061847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
375161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
375261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
375361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
375461847f8eSopenharmony_ci     * @since 10
375561847f8eSopenharmony_ci     */
375661847f8eSopenharmony_ci    /**
375761847f8eSopenharmony_ci     * Create a photo asset:
375861847f8eSopenharmony_ci     *   1. (Suggested)Integrate security component without WRITE_IMAGEVIDEO permission;
375961847f8eSopenharmony_ci     *   2. Get WRITE_IMAGEVIDEO permission by ACL;
376061847f8eSopenharmony_ci     *
376161847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
376261847f8eSopenharmony_ci     * @param { PhotoType } photoType - Photo asset type
376361847f8eSopenharmony_ci     * @param { string } extension - Asset extension
376461847f8eSopenharmony_ci     * @param { CreateOptions } options - Asset create option
376561847f8eSopenharmony_ci     * @param { AsyncCallback<string> } callback - Returns the uri of the newly created asset
376661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
376761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
376861847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
376961847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
377061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
377161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
377261847f8eSopenharmony_ci     * @atomicservice
377361847f8eSopenharmony_ci     * @since 11
377461847f8eSopenharmony_ci     */
377561847f8eSopenharmony_ci    createAsset(photoType: PhotoType, extension: string, options: CreateOptions, callback: AsyncCallback<string>): void;
377661847f8eSopenharmony_ci    /**
377761847f8eSopenharmony_ci     * Create a photo asset:
377861847f8eSopenharmony_ci     *   1. (Suggested)Integrate security component without WRITE_IMAGEVIDEO permission;
377961847f8eSopenharmony_ci     *   2. Get WRITE_IMAGEVIDEO permission by ACL;
378061847f8eSopenharmony_ci     *
378161847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
378261847f8eSopenharmony_ci     * @param { PhotoType } photoType - Photo asset type
378361847f8eSopenharmony_ci     * @param { string } extension - Asset extension
378461847f8eSopenharmony_ci     * @param { AsyncCallback<string> } callback - Returns the uri of the newly created asset
378561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
378661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
378761847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
378861847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
378961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
379061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
379161847f8eSopenharmony_ci     * @since 10
379261847f8eSopenharmony_ci     */
379361847f8eSopenharmony_ci    /**
379461847f8eSopenharmony_ci     * Create a photo asset:
379561847f8eSopenharmony_ci     *   1. (Suggested)Integrate security component without WRITE_IMAGEVIDEO permission;
379661847f8eSopenharmony_ci     *   2. Get WRITE_IMAGEVIDEO permission by ACL;
379761847f8eSopenharmony_ci     *
379861847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
379961847f8eSopenharmony_ci     * @param { PhotoType } photoType - Photo asset type
380061847f8eSopenharmony_ci     * @param { string } extension - Asset extension
380161847f8eSopenharmony_ci     * @param { AsyncCallback<string> } callback - Returns the uri of the newly created asset
380261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
380361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
380461847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
380561847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
380661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
380761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
380861847f8eSopenharmony_ci     * @atomicservice
380961847f8eSopenharmony_ci     * @since 11
381061847f8eSopenharmony_ci     */
381161847f8eSopenharmony_ci    createAsset(photoType: PhotoType, extension: string, callback: AsyncCallback<string>): void;
381261847f8eSopenharmony_ci    /**
381361847f8eSopenharmony_ci     * Create a photo asset:
381461847f8eSopenharmony_ci     *   1. (Suggested)Integrate security component without WRITE_IMAGEVIDEO permission;
381561847f8eSopenharmony_ci     *   2. Get WRITE_IMAGEVIDEO permission by ACL;
381661847f8eSopenharmony_ci     *
381761847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
381861847f8eSopenharmony_ci     * @param { PhotoType } photoType - Photo asset type
381961847f8eSopenharmony_ci     * @param { string } extension - Asset extension
382061847f8eSopenharmony_ci     * @param { CreateOptions } [options] - Optional asset create option
382161847f8eSopenharmony_ci     * @returns { Promise<string> } Returns the uri of the newly created asset
382261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
382361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
382461847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
382561847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
382661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
382761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
382861847f8eSopenharmony_ci     * @since 10
382961847f8eSopenharmony_ci     */
383061847f8eSopenharmony_ci    /**
383161847f8eSopenharmony_ci     * Create a photo asset:
383261847f8eSopenharmony_ci     *   1. (Suggested)Integrate security component without WRITE_IMAGEVIDEO permission;
383361847f8eSopenharmony_ci     *   2. Get WRITE_IMAGEVIDEO permission by ACL;
383461847f8eSopenharmony_ci     *
383561847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
383661847f8eSopenharmony_ci     * @param { PhotoType } photoType - Photo asset type
383761847f8eSopenharmony_ci     * @param { string } extension - Asset extension
383861847f8eSopenharmony_ci     * @param { CreateOptions } [options] - Optional asset create option
383961847f8eSopenharmony_ci     * @returns { Promise<string> } Returns the uri of the newly created asset
384061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
384161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
384261847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
384361847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
384461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
384561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
384661847f8eSopenharmony_ci     * @atomicservice
384761847f8eSopenharmony_ci     * @since 11
384861847f8eSopenharmony_ci     */
384961847f8eSopenharmony_ci    createAsset(photoType: PhotoType, extension: string, options?: CreateOptions): Promise<string>;
385061847f8eSopenharmony_ci    /**
385161847f8eSopenharmony_ci     * Create a generic user album.
385261847f8eSopenharmony_ci     *
385361847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
385461847f8eSopenharmony_ci     * @param { string } name - Album name to be created.
385561847f8eSopenharmony_ci     * @param { AsyncCallback<Album> } callback - Returns the instance of newly created Album
385661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
385761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
385861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
385961847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
386061847f8eSopenharmony_ci     * @throws { BusinessError } 13900015 - File exists
386161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
386261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
386361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
386461847f8eSopenharmony_ci     * @systemapi
386561847f8eSopenharmony_ci     * @since 10
386661847f8eSopenharmony_ci     * @deprecated since 11
386761847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#createAlbumRequest
386861847f8eSopenharmony_ci     */
386961847f8eSopenharmony_ci    createAlbum(name: string, callback: AsyncCallback<Album>): void;
387061847f8eSopenharmony_ci    /**
387161847f8eSopenharmony_ci     * Create a generic user album.
387261847f8eSopenharmony_ci     *
387361847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
387461847f8eSopenharmony_ci     * @param { string } name - Album name to be created.
387561847f8eSopenharmony_ci     * @returns { Promise<Album> } Returns the instance of newly created Album
387661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
387761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
387861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
387961847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
388061847f8eSopenharmony_ci     * @throws { BusinessError } 13900015 - File exists
388161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
388261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
388361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
388461847f8eSopenharmony_ci     * @systemapi
388561847f8eSopenharmony_ci     * @since 10
388661847f8eSopenharmony_ci     * @deprecated since 11
388761847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#createAlbumRequest
388861847f8eSopenharmony_ci     */
388961847f8eSopenharmony_ci    createAlbum(name: string): Promise<Album>;
389061847f8eSopenharmony_ci    /**
389161847f8eSopenharmony_ci     * Delete generic user-created albums.
389261847f8eSopenharmony_ci     *
389361847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
389461847f8eSopenharmony_ci     * @param { Array<Album> } albums - Specify which albums to delete
389561847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
389661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
389761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
389861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
389961847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
390061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
390161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
390261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
390361847f8eSopenharmony_ci     * @systemapi
390461847f8eSopenharmony_ci     * @since 10
390561847f8eSopenharmony_ci     * @deprecated since 11
390661847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#deleteAlbums
390761847f8eSopenharmony_ci     */
390861847f8eSopenharmony_ci    deleteAlbums(albums: Array<Album>, callback: AsyncCallback<void>): void;
390961847f8eSopenharmony_ci    /**
391061847f8eSopenharmony_ci     * Delete generic user-created albums.
391161847f8eSopenharmony_ci     *
391261847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
391361847f8eSopenharmony_ci     * @param { Array<Album> } albums - Specify which albums to delete
391461847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
391561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
391661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
391761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
391861847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
391961847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
392061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
392161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
392261847f8eSopenharmony_ci     * @systemapi
392361847f8eSopenharmony_ci     * @since 10
392461847f8eSopenharmony_ci     * @deprecated since 11
392561847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAlbumChangeRequest#deleteAlbums
392661847f8eSopenharmony_ci     */
392761847f8eSopenharmony_ci    deleteAlbums(albums: Array<Album>): Promise<void>;
392861847f8eSopenharmony_ci    /**
392961847f8eSopenharmony_ci     * Fetch albums.
393061847f8eSopenharmony_ci     *
393161847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
393261847f8eSopenharmony_ci     * @param { AlbumType } type - Album type.
393361847f8eSopenharmony_ci     * @param { AlbumSubtype } subtype - Album subtype.
393461847f8eSopenharmony_ci     * @param { FetchOptions } options - options to fetch albums
393561847f8eSopenharmony_ci     * @param { AsyncCallback<FetchResult<Album>> } callback - Returns the fetch result
393661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
393761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
393861847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
393961847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
394061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
394161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
394261847f8eSopenharmony_ci     * @since 10
394361847f8eSopenharmony_ci     */
394461847f8eSopenharmony_ci    /**
394561847f8eSopenharmony_ci     * Fetch albums.
394661847f8eSopenharmony_ci     *
394761847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
394861847f8eSopenharmony_ci     * @param { AlbumType } type - Album type.
394961847f8eSopenharmony_ci     * @param { AlbumSubtype } subtype - Album subtype.
395061847f8eSopenharmony_ci     * @param { FetchOptions } options - options to fetch albums
395161847f8eSopenharmony_ci     * @param { AsyncCallback<FetchResult<Album>> } callback - Returns the fetch result
395261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
395361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
395461847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
395561847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
395661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
395761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
395861847f8eSopenharmony_ci     * @crossplatform
395961847f8eSopenharmony_ci     * @since 12
396061847f8eSopenharmony_ci     */
396161847f8eSopenharmony_ci    getAlbums(
396261847f8eSopenharmony_ci      type: AlbumType,
396361847f8eSopenharmony_ci      subtype: AlbumSubtype,
396461847f8eSopenharmony_ci      options: FetchOptions,
396561847f8eSopenharmony_ci      callback: AsyncCallback<FetchResult<Album>>
396661847f8eSopenharmony_ci    ): void;
396761847f8eSopenharmony_ci    /**
396861847f8eSopenharmony_ci     * Fetch albums.
396961847f8eSopenharmony_ci     *
397061847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
397161847f8eSopenharmony_ci     * @param { AlbumType } type - Album type.
397261847f8eSopenharmony_ci     * @param { AlbumSubtype } subtype - Album subtype.
397361847f8eSopenharmony_ci     * @param { AsyncCallback<FetchResult<Album>> } callback - Returns the fetch result
397461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
397561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
397661847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
397761847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
397861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
397961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
398061847f8eSopenharmony_ci     * @since 10
398161847f8eSopenharmony_ci     */
398261847f8eSopenharmony_ci    /**
398361847f8eSopenharmony_ci     * Fetch albums.
398461847f8eSopenharmony_ci     *
398561847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
398661847f8eSopenharmony_ci     * @param { AlbumType } type - Album type.
398761847f8eSopenharmony_ci     * @param { AlbumSubtype } subtype - Album subtype.
398861847f8eSopenharmony_ci     * @param { AsyncCallback<FetchResult<Album>> } callback - Returns the fetch result
398961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
399061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
399161847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
399261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
399361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
399461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
399561847f8eSopenharmony_ci     * @crossplatform
399661847f8eSopenharmony_ci     * @since 12
399761847f8eSopenharmony_ci     */
399861847f8eSopenharmony_ci    getAlbums(type: AlbumType, subtype: AlbumSubtype, callback: AsyncCallback<FetchResult<Album>>): void;
399961847f8eSopenharmony_ci    /**
400061847f8eSopenharmony_ci     * Fetch albums.
400161847f8eSopenharmony_ci     *
400261847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
400361847f8eSopenharmony_ci     * @param { AlbumType } type - Album type.
400461847f8eSopenharmony_ci     * @param { AlbumSubtype } subtype - Album subtype.
400561847f8eSopenharmony_ci     * @param { FetchOptions } [options] - options to fetch albums
400661847f8eSopenharmony_ci     * @returns { Promise<FetchResult<Album>> } - Returns the fetch result
400761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
400861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
400961847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
401061847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
401161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
401261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
401361847f8eSopenharmony_ci     * @since 10
401461847f8eSopenharmony_ci     */
401561847f8eSopenharmony_ci    /**
401661847f8eSopenharmony_ci     * Fetch albums.
401761847f8eSopenharmony_ci     *
401861847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
401961847f8eSopenharmony_ci     * @param { AlbumType } type - Album type.
402061847f8eSopenharmony_ci     * @param { AlbumSubtype } subtype - Album subtype.
402161847f8eSopenharmony_ci     * @param { FetchOptions } [options] - options to fetch albums
402261847f8eSopenharmony_ci     * @returns { Promise<FetchResult<Album>> } - Returns the fetch result
402361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
402461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
402561847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
402661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
402761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
402861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
402961847f8eSopenharmony_ci     * @crossplatform
403061847f8eSopenharmony_ci     * @since 12
403161847f8eSopenharmony_ci     */
403261847f8eSopenharmony_ci    getAlbums(type: AlbumType, subtype: AlbumSubtype, options?: FetchOptions): Promise<FetchResult<Album>>;
403361847f8eSopenharmony_ci    /**
403461847f8eSopenharmony_ci     * Fetch albums containing hidden assets.
403561847f8eSopenharmony_ci     *
403661847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO and ohos.permission.MANAGE_PRIVATE_PHOTOS
403761847f8eSopenharmony_ci     * @param { HiddenPhotosDisplayMode } mode - Display mode of albums containing hidden assets.
403861847f8eSopenharmony_ci     * @param { FetchOptions } options - Options to fetch albums.
403961847f8eSopenharmony_ci     * @param { AsyncCallback<FetchResult<Album>> } callback - Returns fetchResult of albums containing hidden assets.
404061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken.
404161847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
404261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
404361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
404461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail.
404561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
404661847f8eSopenharmony_ci     * @systemapi
404761847f8eSopenharmony_ci     * @since 11
404861847f8eSopenharmony_ci     */
404961847f8eSopenharmony_ci    getHiddenAlbums(mode: HiddenPhotosDisplayMode, options: FetchOptions, callback: AsyncCallback<FetchResult<Album>>): void;
405061847f8eSopenharmony_ci    /**
405161847f8eSopenharmony_ci     * Fetch albums containing hidden assets.
405261847f8eSopenharmony_ci     *
405361847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO and ohos.permission.MANAGE_PRIVATE_PHOTOS
405461847f8eSopenharmony_ci     * @param { HiddenPhotosDisplayMode } mode - Display mode of albums containing hidden assets.
405561847f8eSopenharmony_ci     * @param { AsyncCallback<FetchResult<Album>> } callback - Returns fetchResult of albums containing hidden assets.
405661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken.
405761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
405861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
405961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
406061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail.
406161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
406261847f8eSopenharmony_ci     * @systemapi
406361847f8eSopenharmony_ci     * @since 11
406461847f8eSopenharmony_ci     */
406561847f8eSopenharmony_ci    getHiddenAlbums(mode: HiddenPhotosDisplayMode, callback: AsyncCallback<FetchResult<Album>>): void;
406661847f8eSopenharmony_ci    /**
406761847f8eSopenharmony_ci     * Fetch albums containing hidden assets.
406861847f8eSopenharmony_ci     *
406961847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO and ohos.permission.MANAGE_PRIVATE_PHOTOS
407061847f8eSopenharmony_ci     * @param { HiddenPhotosDisplayMode } mode - Display mode of albums containing hidden assets.
407161847f8eSopenharmony_ci     * @param { FetchOptions } [options] - Options to fetch albums.
407261847f8eSopenharmony_ci     * @returns { Promise<FetchResult<Album>> } Returns fetchResult of albums containing hidden assets.
407361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken.
407461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
407561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
407661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
407761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail.
407861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
407961847f8eSopenharmony_ci     * @systemapi
408061847f8eSopenharmony_ci     * @since 11
408161847f8eSopenharmony_ci     */
408261847f8eSopenharmony_ci    getHiddenAlbums(mode: HiddenPhotosDisplayMode, options?: FetchOptions): Promise<FetchResult<Album>>;
408361847f8eSopenharmony_ci    /**
408461847f8eSopenharmony_ci     * Delete assets
408561847f8eSopenharmony_ci     *
408661847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
408761847f8eSopenharmony_ci     * @param { Array<string> } uriList - Uris of assets to delete
408861847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - No value returned
408961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
409061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
409161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
409261847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
409361847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
409461847f8eSopenharmony_ci     * @throws { BusinessError } 14000002 - Invalid uri
409561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
409661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
409761847f8eSopenharmony_ci     * @systemapi
409861847f8eSopenharmony_ci     * @since 10
409961847f8eSopenharmony_ci     * @deprecated since 11
410061847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAssetChangeRequest#deleteAssets
410161847f8eSopenharmony_ci     */
410261847f8eSopenharmony_ci    deleteAssets(uriList: Array<string>, callback: AsyncCallback<void>): void;
410361847f8eSopenharmony_ci    /**
410461847f8eSopenharmony_ci     * Delete assets
410561847f8eSopenharmony_ci     *
410661847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
410761847f8eSopenharmony_ci     * @param { Array<string> } uriList - Uris of assets to delete
410861847f8eSopenharmony_ci     * @returns { Promise<void> } - Returns void
410961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
411061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
411161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
411261847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
411361847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
411461847f8eSopenharmony_ci     * @throws { BusinessError } 14000002 - Invalid uri
411561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
411661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
411761847f8eSopenharmony_ci     * @systemapi
411861847f8eSopenharmony_ci     * @since 10
411961847f8eSopenharmony_ci     * @deprecated since 11
412061847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAssetChangeRequest#deleteAssets
412161847f8eSopenharmony_ci     */
412261847f8eSopenharmony_ci    deleteAssets(uriList: Array<string>): Promise<void>;
412361847f8eSopenharmony_ci    /**
412461847f8eSopenharmony_ci     * Register change notify for the specified uri.
412561847f8eSopenharmony_ci     *
412661847f8eSopenharmony_ci     * @param { string } uri - PhotoAsset's uri, album's uri or DefaultChangeUri
412761847f8eSopenharmony_ci     * @param { boolean } forChildUris - Monitor the child uris.
412861847f8eSopenharmony_ci     * @param { Callback<ChangeData> } callback - Returns the changed data
412961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
413061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
413161847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
413261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
413361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
413461847f8eSopenharmony_ci     * @since 10
413561847f8eSopenharmony_ci     */
413661847f8eSopenharmony_ci    registerChange(uri: string, forChildUris: boolean, callback: Callback<ChangeData>): void;
413761847f8eSopenharmony_ci    /**
413861847f8eSopenharmony_ci     * Get analysis progress of the asset.
413961847f8eSopenharmony_ci     *
414061847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
414161847f8eSopenharmony_ci     * @param { AnalysisType } analysisType - Analysis type
414261847f8eSopenharmony_ci     * @returns { Promise<string> } Returns analysis progress info into a json string
414361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
414461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
414561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
414661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
414761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
414861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
414961847f8eSopenharmony_ci     * @systemapi
415061847f8eSopenharmony_ci     * @since 12
415161847f8eSopenharmony_ci     */
415261847f8eSopenharmony_ci     getDataAnalysisProgress(analysisType: AnalysisType): Promise<string>;
415361847f8eSopenharmony_ci    /**
415461847f8eSopenharmony_ci     * Unregister change notify for the specified uri.
415561847f8eSopenharmony_ci     *
415661847f8eSopenharmony_ci     * @param { string } uri - PhotoAsset's uri, album's uri or DefaultChangeUri
415761847f8eSopenharmony_ci     * @param { Callback<ChangeData> } [callback] - The callback function to unregister.
415861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
415961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
416061847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
416161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
416261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
416361847f8eSopenharmony_ci     * @since 10
416461847f8eSopenharmony_ci     */
416561847f8eSopenharmony_ci    unRegisterChange(uri: string, callback?: Callback<ChangeData>): void;
416661847f8eSopenharmony_ci    /**
416761847f8eSopenharmony_ci     * Create a pop-up box to delete photos
416861847f8eSopenharmony_ci     *
416961847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
417061847f8eSopenharmony_ci     * @param { Array<string> } uriList - List of the asset uris to be deleted
417161847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
417261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
417361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
417461847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
417561847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
417661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
417761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
417861847f8eSopenharmony_ci     * @since 10
417961847f8eSopenharmony_ci     * @deprecated since 11
418061847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAssetChangeRequest#deleteAssets
418161847f8eSopenharmony_ci     */
418261847f8eSopenharmony_ci    createDeleteRequest(uriList: Array<string>, callback: AsyncCallback<void>): void;
418361847f8eSopenharmony_ci    /**
418461847f8eSopenharmony_ci     * Create a pop-up box to delete photos
418561847f8eSopenharmony_ci     *
418661847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
418761847f8eSopenharmony_ci     * @param { Array<string> } uriList - List of the asset uris to be deleted
418861847f8eSopenharmony_ci     * @returns { Promise<void> } - Returns void
418961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
419061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
419161847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
419261847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
419361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
419461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
419561847f8eSopenharmony_ci     * @since 10
419661847f8eSopenharmony_ci     * @deprecated since 11
419761847f8eSopenharmony_ci     * @useinstead photoAccessHelper.MediaAssetChangeRequest#deleteAssets
419861847f8eSopenharmony_ci     */
419961847f8eSopenharmony_ci    createDeleteRequest(uriList: Array<string>): Promise<void>;
420061847f8eSopenharmony_ci    /**
420161847f8eSopenharmony_ci     * Create a save dialog to save photos
420261847f8eSopenharmony_ci     *
420361847f8eSopenharmony_ci     * @param { Array<string> } srcFileUris - List of the file uris to be saved
420461847f8eSopenharmony_ci     * @param { Array<PhotoCreationConfig> } photoCreationConfigs - List of the photo asset creation configs
420561847f8eSopenharmony_ci     * @returns { Promise<Array<string>> } - Returns the media library file uri list to application which has been authorized
420661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
420761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
420861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
420961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
421061847f8eSopenharmony_ci     * @atomicservice
421161847f8eSopenharmony_ci     * @since 12
421261847f8eSopenharmony_ci     */
421361847f8eSopenharmony_ci    showAssetsCreationDialog(srcFileUris: Array<string>, photoCreationConfigs: Array<PhotoCreationConfig>): Promise<Array<string>>;
421461847f8eSopenharmony_ci    /**
421561847f8eSopenharmony_ci     * Create assets and grant save permission to the app which called the save dialog.
421661847f8eSopenharmony_ci     *
421761847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
421861847f8eSopenharmony_ci     * @param { string } bundleName - BundleName of the application which called the save dialog
421961847f8eSopenharmony_ci     * @param { string } appName - AppName of the application which called the save dialog
422061847f8eSopenharmony_ci     * @param { string } appId - AppId of the application which called the save dialog
422161847f8eSopenharmony_ci     * @param { Array<PhotoCreationConfig> } photoCreationConfigs - List of the photo asset creation configs
422261847f8eSopenharmony_ci     * @returns { Promise<Array<string>> } - Returns the media library file uri list to application which has been authorized
422361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
422461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
422561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
422661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
422761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
422861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
422961847f8eSopenharmony_ci     * @systemapi
423061847f8eSopenharmony_ci     * @since 12
423161847f8eSopenharmony_ci     */
423261847f8eSopenharmony_ci    createAssetsForApp(bundleName: string, appName: string, appId: string, photoCreationConfigs: Array<PhotoCreationConfig>): Promise<Array<string>>;
423361847f8eSopenharmony_ci    /**
423461847f8eSopenharmony_ci     * Create asset and grant short term permission to the application.
423561847f8eSopenharmony_ci     *
423661847f8eSopenharmony_ci     * @permission ohos.permission.SHORT_TERM_WRITE_IMAGEVIDEO
423761847f8eSopenharmony_ci     * @param { PhotoCreationConfig } photoCreationConfig - photo asset creation configs
423861847f8eSopenharmony_ci     * @returns { Promise<string> } - Returns the media library file uri to application which has been authorized
423961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
424061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
424161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
424261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
424361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
424461847f8eSopenharmony_ci     * @since 12
424561847f8eSopenharmony_ci     */
424661847f8eSopenharmony_ci    createAssetWithShortTermPermission(photoCreationConfig: PhotoCreationConfig): Promise<string>;
424761847f8eSopenharmony_ci    /**
424861847f8eSopenharmony_ci     * Create assets and grant save permission with authorization mode to the app which called the save dialog.
424961847f8eSopenharmony_ci     *
425061847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
425161847f8eSopenharmony_ci     * @param { string } bundleName - BundleName of the application which called the save dialog
425261847f8eSopenharmony_ci     * @param { string } appName - AppName of the application which called the save dialog
425361847f8eSopenharmony_ci     * @param { string } appId - AppId of the application which called the save dialog
425461847f8eSopenharmony_ci     * @param { number } tokenId - TokenId of the application which called the save dialog
425561847f8eSopenharmony_ci     * @param { AuthorizationMode } authorizationMode - Mode of authorization
425661847f8eSopenharmony_ci     * @param { Array<PhotoCreationConfig> } photoCreationConfigs - List of the photo asset creation configs
425761847f8eSopenharmony_ci     * @returns { Promise<Array<string>> } - Returns the media library file uri list to application which has been authorized
425861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
425961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
426061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
426161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
426261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
426361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
426461847f8eSopenharmony_ci     * @systemapi
426561847f8eSopenharmony_ci     * @since 12
426661847f8eSopenharmony_ci     */
426761847f8eSopenharmony_ci    createAssetsForAppWithMode(
426861847f8eSopenharmony_ci      bundleName: string,
426961847f8eSopenharmony_ci      appName: string,
427061847f8eSopenharmony_ci      appId: string,
427161847f8eSopenharmony_ci      tokenId: number,
427261847f8eSopenharmony_ci      authorizationMode: AuthorizationMode,
427361847f8eSopenharmony_ci      photoCreationConfigs: Array<PhotoCreationConfig>
427461847f8eSopenharmony_ci    ): Promise<Array<string>>;
427561847f8eSopenharmony_ci    /**
427661847f8eSopenharmony_ci     * Get the index of the asset in the album
427761847f8eSopenharmony_ci     *
427861847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
427961847f8eSopenharmony_ci     * @param { string } photoUri - The photo asset uri.
428061847f8eSopenharmony_ci     * @param { string } albumUri - The album uri.
428161847f8eSopenharmony_ci     * @param { FetchOptions } options - fetch options
428261847f8eSopenharmony_ci     * @param { AsyncCallback<number> } callback - Returns the index of the asset in the album
428361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
428461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
428561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
428661847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
428761847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
428861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
428961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
429061847f8eSopenharmony_ci     * @systemapi
429161847f8eSopenharmony_ci     * @since 10
429261847f8eSopenharmony_ci     */
429361847f8eSopenharmony_ci    getPhotoIndex(photoUri: string, albumUri: string, options: FetchOptions, callback: AsyncCallback<number>): void;
429461847f8eSopenharmony_ci    /**
429561847f8eSopenharmony_ci     * Get the index of the asset in the album
429661847f8eSopenharmony_ci     *
429761847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
429861847f8eSopenharmony_ci     * @param { string } photoUri - The photo asset uri.
429961847f8eSopenharmony_ci     * @param { string } albumUri - The album uri.
430061847f8eSopenharmony_ci     * @param { FetchOptions } options - fetch options
430161847f8eSopenharmony_ci     * @returns { Promise<number> } - Returns the index of the asset in the album
430261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application.
430361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
430461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
430561847f8eSopenharmony_ci     * @throws { BusinessError } 13900012 - Permission denied
430661847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
430761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
430861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
430961847f8eSopenharmony_ci     * @systemapi
431061847f8eSopenharmony_ci     * @since 10
431161847f8eSopenharmony_ci     */
431261847f8eSopenharmony_ci    getPhotoIndex(photoUri: string, albumUri: string, options: FetchOptions): Promise<number>;
431361847f8eSopenharmony_ci    /**
431461847f8eSopenharmony_ci     * Release PhotoAccessHelper instance
431561847f8eSopenharmony_ci     *
431661847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void
431761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
431861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
431961847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
432061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
432161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
432261847f8eSopenharmony_ci     * @since 10
432361847f8eSopenharmony_ci     */
432461847f8eSopenharmony_ci    release(callback: AsyncCallback<void>): void;
432561847f8eSopenharmony_ci    /**
432661847f8eSopenharmony_ci     * Release PhotoAccessHelper instance
432761847f8eSopenharmony_ci     *
432861847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
432961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
433061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
433161847f8eSopenharmony_ci     * @throws { BusinessError } 13900020 - Invalid argument
433261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
433361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
433461847f8eSopenharmony_ci     * @since 10
433561847f8eSopenharmony_ci     */
433661847f8eSopenharmony_ci    release(): Promise<void>;
433761847f8eSopenharmony_ci    /**
433861847f8eSopenharmony_ci     * Saves form information
433961847f8eSopenharmony_ci     *
434061847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
434161847f8eSopenharmony_ci     * @param { FormInfo } info - Information store with the form.
434261847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - No value returned.
434361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken.
434461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
434561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
434661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
434761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail.
434861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
434961847f8eSopenharmony_ci     * @systemapi
435061847f8eSopenharmony_ci     * @since 11
435161847f8eSopenharmony_ci     */
435261847f8eSopenharmony_ci    saveFormInfo(info: FormInfo, callback: AsyncCallback<void>): void;
435361847f8eSopenharmony_ci    /**
435461847f8eSopenharmony_ci     * Saves form information
435561847f8eSopenharmony_ci     *
435661847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
435761847f8eSopenharmony_ci     * @param { FormInfo } info - Information store with the form.
435861847f8eSopenharmony_ci     * @returns { Promise<void> } Return void.
435961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken.
436061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
436161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
436261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
436361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail.
436461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
436561847f8eSopenharmony_ci     * @systemapi
436661847f8eSopenharmony_ci     * @since 11
436761847f8eSopenharmony_ci     */
436861847f8eSopenharmony_ci    saveFormInfo(info: FormInfo): Promise<void>;
436961847f8eSopenharmony_ci    /**
437061847f8eSopenharmony_ci     * Removes form information
437161847f8eSopenharmony_ci     *
437261847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
437361847f8eSopenharmony_ci     * @param { FormInfo } info - Information store with the form.
437461847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - No value returned.
437561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken.
437661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
437761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
437861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
437961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail.
438061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
438161847f8eSopenharmony_ci     * @systemapi
438261847f8eSopenharmony_ci     * @since 11
438361847f8eSopenharmony_ci     */
438461847f8eSopenharmony_ci    removeFormInfo(info: FormInfo, callback: AsyncCallback<void>): void;
438561847f8eSopenharmony_ci    /**
438661847f8eSopenharmony_ci     * Removes form information
438761847f8eSopenharmony_ci     *
438861847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
438961847f8eSopenharmony_ci     * @param { FormInfo } info - Information store with the form.
439061847f8eSopenharmony_ci     * @returns { Promise<void> } Return void.
439161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed, usually the result returned by VerifyAccessToken.
439261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Permission verification failed, application which is not a system application uses system API.
439361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
439461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
439561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail.
439661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
439761847f8eSopenharmony_ci     * @systemapi
439861847f8eSopenharmony_ci     * @since 11
439961847f8eSopenharmony_ci     */
440061847f8eSopenharmony_ci    removeFormInfo(info: FormInfo): Promise<void>;
440161847f8eSopenharmony_ci    /**
440261847f8eSopenharmony_ci     * Apply the change request of asset or album.
440361847f8eSopenharmony_ci     *
440461847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
440561847f8eSopenharmony_ci     * @param { MediaChangeRequest } mediaChangeRequest - The change request to be applied
440661847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
440761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
440861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
440961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
441061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
441161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
441261847f8eSopenharmony_ci     * @atomicservice
441361847f8eSopenharmony_ci     * @since 11
441461847f8eSopenharmony_ci     */
441561847f8eSopenharmony_ci    applyChanges(mediaChangeRequest: MediaChangeRequest): Promise<void>;
441661847f8eSopenharmony_ci    /**
441761847f8eSopenharmony_ci     * Get index construction progress.
441861847f8eSopenharmony_ci     *
441961847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
442061847f8eSopenharmony_ci     * @returns { Promise<string> } Returns progress of the photo and video
442161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
442261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
442361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
442461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
442561847f8eSopenharmony_ci     * @systemapi
442661847f8eSopenharmony_ci     * @since 12
442761847f8eSopenharmony_ci     */
442861847f8eSopenharmony_ci    getIndexConstructProgress(): Promise<string>;
442961847f8eSopenharmony_ci    /**
443061847f8eSopenharmony_ci     * Grant permission of assets to an APP.
443161847f8eSopenharmony_ci     *
443261847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
443361847f8eSopenharmony_ci     * @param { string } appid - App Id
443461847f8eSopenharmony_ci     * @param { Array<string> } uriList - List of asset uris whose permission will be granted to an App,
443561847f8eSopenharmony_ci     * <br>the capacity of uriList is 1000.
443661847f8eSopenharmony_ci     * @param { PhotoPermissionType } photoPermissionType - Permission type of accessing assets.
443761847f8eSopenharmony_ci     * @param { HideSensitiveType } hideSensitiveType - Hide sensitive info type of accessing assets.
443861847f8eSopenharmony_ci     * @returns { Promise<number> } Returns result of grant permission
443961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
444061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
444161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
444261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
444361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
444461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
444561847f8eSopenharmony_ci     * @systemapi
444661847f8eSopenharmony_ci     * @since 12
444761847f8eSopenharmony_ci     */
444861847f8eSopenharmony_ci    grantPhotoUrisPermission(appid: string, uriList: Array<string>, photoPermissionType: PhotoPermissionType, hideSensitiveType: HideSensitiveType): Promise<number>;
444961847f8eSopenharmony_ci    /**
445061847f8eSopenharmony_ci     * Grant permission of asset to an APP.
445161847f8eSopenharmony_ci     *
445261847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
445361847f8eSopenharmony_ci     * @param { string } appid - App Id
445461847f8eSopenharmony_ci     * @param { string } uri - Asset uri whose permission will be granted to an App.
445561847f8eSopenharmony_ci     * @param { PhotoPermissionType } photoPermissionType - Permission type of accessing assets.
445661847f8eSopenharmony_ci     * @param { HideSensitiveType } hideSensitiveType - Hide sensitive info type of accessing assets.
445761847f8eSopenharmony_ci     * @returns { Promise<number> } Returns result of grant permission
445861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
445961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
446061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
446161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
446261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
446361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
446461847f8eSopenharmony_ci     * @systemapi
446561847f8eSopenharmony_ci     * @since 12
446661847f8eSopenharmony_ci     */
446761847f8eSopenharmony_ci    grantPhotoUriPermission(appid: string, uri: string, photoPermissionType: PhotoPermissionType, hideSensitiveType: HideSensitiveType): Promise<number>;
446861847f8eSopenharmony_ci    /**
446961847f8eSopenharmony_ci     * Cancel permission of asset to an APP.
447061847f8eSopenharmony_ci     *
447161847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
447261847f8eSopenharmony_ci     * @param { string } appid - App Id
447361847f8eSopenharmony_ci     * @param { string } uri - Asset uri whose permission will be granted to an App.
447461847f8eSopenharmony_ci     * @param { PhotoPermissionType } photoPermissionType - Permission type of accessing assets.
447561847f8eSopenharmony_ci     * @returns { Promise<number> } Returns result of cancel permission
447661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
447761847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
447861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
447961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
448061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
448161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
448261847f8eSopenharmony_ci     * @systemapi
448361847f8eSopenharmony_ci     * @since 12
448461847f8eSopenharmony_ci     */
448561847f8eSopenharmony_ci    cancelPhotoUriPermission(appid: string, uri: string, photoPermissionType: PhotoPermissionType): Promise<number>;
448661847f8eSopenharmony_ci    /**
448761847f8eSopenharmony_ci     * Provides the capability of thumbnail generation according to specified rules.
448861847f8eSopenharmony_ci     *
448961847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
449061847f8eSopenharmony_ci     * @param { dataSharePredicates.DataSharePredicates } predicate - Rule options for generating thumbnails.
449161847f8eSopenharmony_ci     * @param { AsyncCallback<void> } callback - Returns void when the task is completed.
449261847f8eSopenharmony_ci     * @returns { number } Create task id for generating thumbnails
449361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
449461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
449561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
449661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
449761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
449861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
449961847f8eSopenharmony_ci     * @systemapi
450061847f8eSopenharmony_ci     * @since 13
450161847f8eSopenharmony_ci     */
450261847f8eSopenharmony_ci    startThumbnailCreationTask(predicate: dataSharePredicates.DataSharePredicates, callback: AsyncCallback<void>): number;
450361847f8eSopenharmony_ci    /**
450461847f8eSopenharmony_ci     * Provides the capability of stop generating thumbnails.
450561847f8eSopenharmony_ci     *
450661847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
450761847f8eSopenharmony_ci     * @param { number } taskId - Stop generating thumbnail task id.
450861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
450961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
451061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
451161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
451261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
451361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
451461847f8eSopenharmony_ci     * @systemapi
451561847f8eSopenharmony_ci     * @since 13
451661847f8eSopenharmony_ci     */
451761847f8eSopenharmony_ci    stopThumbnailCreationTask(taskId: number): void;
451861847f8eSopenharmony_ci    /**
451961847f8eSopenharmony_ci     * Fetch shared photo assets.
452061847f8eSopenharmony_ci     *
452161847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_MEDIALIB_THUMB_DB
452261847f8eSopenharmony_ci     * @param { FetchOptions } options - Fetch options.
452361847f8eSopenharmony_ci     * @returns { Array<SharedPhotoAsset> } Returns the shared photo assets
452461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
452561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
452661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
452761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
452861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
452961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
453061847f8eSopenharmony_ci     * @systemapi
453161847f8eSopenharmony_ci     * @since 13
453261847f8eSopenharmony_ci     */
453361847f8eSopenharmony_ci    getSharedPhotoAssets(options: FetchOptions): Array<SharedPhotoAsset>;
453461847f8eSopenharmony_ci  }
453561847f8eSopenharmony_ci
453661847f8eSopenharmony_ci  /**
453761847f8eSopenharmony_ci   * Form information.
453861847f8eSopenharmony_ci   *
453961847f8eSopenharmony_ci   * @interface FormInfo
454061847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
454161847f8eSopenharmony_ci   * @systemapi
454261847f8eSopenharmony_ci   * @since 11
454361847f8eSopenharmony_ci   */
454461847f8eSopenharmony_ci  interface FormInfo {
454561847f8eSopenharmony_ci    /**
454661847f8eSopenharmony_ci     * Id of the form.
454761847f8eSopenharmony_ci     *
454861847f8eSopenharmony_ci     * @type { string }
454961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
455061847f8eSopenharmony_ci     * @systemapi
455161847f8eSopenharmony_ci     * @since 11
455261847f8eSopenharmony_ci     */
455361847f8eSopenharmony_ci    formId: string;
455461847f8eSopenharmony_ci    /**
455561847f8eSopenharmony_ci     * URI of the photo or album.
455661847f8eSopenharmony_ci     *
455761847f8eSopenharmony_ci     * @type { string }
455861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
455961847f8eSopenharmony_ci     * @systemapi
456061847f8eSopenharmony_ci     * @since 11
456161847f8eSopenharmony_ci     */
456261847f8eSopenharmony_ci    uri: string;
456361847f8eSopenharmony_ci  }
456461847f8eSopenharmony_ci
456561847f8eSopenharmony_ci  /**
456661847f8eSopenharmony_ci   * Enumeration types of data change.
456761847f8eSopenharmony_ci   *
456861847f8eSopenharmony_ci   * @enum { number } NotifyType
456961847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
457061847f8eSopenharmony_ci   * @since 10
457161847f8eSopenharmony_ci   */
457261847f8eSopenharmony_ci  enum NotifyType {
457361847f8eSopenharmony_ci    /**
457461847f8eSopenharmony_ci     * Data(assets or albums) have been newly created
457561847f8eSopenharmony_ci     *
457661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
457761847f8eSopenharmony_ci     * @since 10
457861847f8eSopenharmony_ci     */
457961847f8eSopenharmony_ci    NOTIFY_ADD,
458061847f8eSopenharmony_ci    /**
458161847f8eSopenharmony_ci     * Data(assets or albums) have been modified
458261847f8eSopenharmony_ci     *
458361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
458461847f8eSopenharmony_ci     * @since 10
458561847f8eSopenharmony_ci     */
458661847f8eSopenharmony_ci    NOTIFY_UPDATE,
458761847f8eSopenharmony_ci    /**
458861847f8eSopenharmony_ci     * Data(assets or albums) have been removed
458961847f8eSopenharmony_ci     *
459061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
459161847f8eSopenharmony_ci     * @since 10
459261847f8eSopenharmony_ci     */
459361847f8eSopenharmony_ci    NOTIFY_REMOVE,
459461847f8eSopenharmony_ci    /**
459561847f8eSopenharmony_ci     * Assets have been added to an album.
459661847f8eSopenharmony_ci     *
459761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
459861847f8eSopenharmony_ci     * @since 10
459961847f8eSopenharmony_ci     */
460061847f8eSopenharmony_ci    NOTIFY_ALBUM_ADD_ASSET,
460161847f8eSopenharmony_ci    /**
460261847f8eSopenharmony_ci     * Assets have been removed from an album.
460361847f8eSopenharmony_ci     *
460461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
460561847f8eSopenharmony_ci     * @since 10
460661847f8eSopenharmony_ci     */
460761847f8eSopenharmony_ci    NOTIFY_ALBUM_REMOVE_ASSET
460861847f8eSopenharmony_ci  }
460961847f8eSopenharmony_ci
461061847f8eSopenharmony_ci  /**
461161847f8eSopenharmony_ci   * Enumeration uris for registerChange.
461261847f8eSopenharmony_ci   *
461361847f8eSopenharmony_ci   * @enum { string } DefaultChangeUri
461461847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
461561847f8eSopenharmony_ci   * @since 10
461661847f8eSopenharmony_ci   */
461761847f8eSopenharmony_ci  enum DefaultChangeUri {
461861847f8eSopenharmony_ci    /**
461961847f8eSopenharmony_ci     * Uri for default PhotoAsset, use with forDescendant{true}, will receive all PhotoAsset's change notifications
462061847f8eSopenharmony_ci     *
462161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
462261847f8eSopenharmony_ci     * @since 10
462361847f8eSopenharmony_ci     */
462461847f8eSopenharmony_ci    DEFAULT_PHOTO_URI = 'file://media/Photo',
462561847f8eSopenharmony_ci    /**
462661847f8eSopenharmony_ci     * Uri for default Album, use with forDescendant{true}, will receive all Album's change notifications
462761847f8eSopenharmony_ci     *
462861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
462961847f8eSopenharmony_ci     * @since 10
463061847f8eSopenharmony_ci     */
463161847f8eSopenharmony_ci    DEFAULT_ALBUM_URI = 'file://media/PhotoAlbum',
463261847f8eSopenharmony_ci    /**
463361847f8eSopenharmony_ci     * Uri for albums in hidden album view.
463461847f8eSopenharmony_ci     *
463561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
463661847f8eSopenharmony_ci     * @systemapi
463761847f8eSopenharmony_ci     * @since 11
463861847f8eSopenharmony_ci     */
463961847f8eSopenharmony_ci    DEFAULT_HIDDEN_ALBUM_URI = 'file://media/HiddenAlbum'
464061847f8eSopenharmony_ci  }
464161847f8eSopenharmony_ci
464261847f8eSopenharmony_ci  /**
464361847f8eSopenharmony_ci   * Defines the change data
464461847f8eSopenharmony_ci   *
464561847f8eSopenharmony_ci   * @interface ChangeData
464661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
464761847f8eSopenharmony_ci   * @since 10
464861847f8eSopenharmony_ci   */
464961847f8eSopenharmony_ci  interface ChangeData {
465061847f8eSopenharmony_ci    /**
465161847f8eSopenharmony_ci     * The NotifyType of ChangeData
465261847f8eSopenharmony_ci     *
465361847f8eSopenharmony_ci     * @type { NotifyType }
465461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
465561847f8eSopenharmony_ci     * @since 10
465661847f8eSopenharmony_ci     */
465761847f8eSopenharmony_ci    type: NotifyType;
465861847f8eSopenharmony_ci    /**
465961847f8eSopenharmony_ci     * The changed uris
466061847f8eSopenharmony_ci     *
466161847f8eSopenharmony_ci     * @type { Array<string> }
466261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
466361847f8eSopenharmony_ci     * @since 10
466461847f8eSopenharmony_ci     */
466561847f8eSopenharmony_ci    uris: Array<string>;
466661847f8eSopenharmony_ci    /**
466761847f8eSopenharmony_ci     * Change details of the asset uris to an album.
466861847f8eSopenharmony_ci     *
466961847f8eSopenharmony_ci     * @type { Array<string> }
467061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
467161847f8eSopenharmony_ci     * @since 10
467261847f8eSopenharmony_ci     */
467361847f8eSopenharmony_ci    extraUris: Array<string>;
467461847f8eSopenharmony_ci  }
467561847f8eSopenharmony_ci
467661847f8eSopenharmony_ci  /**
467761847f8eSopenharmony_ci   * PhotoViewMIMETypes represents the type of media resource that photo picker selects.
467861847f8eSopenharmony_ci   *
467961847f8eSopenharmony_ci   * @enum { string } PhotoViewMIMETypes
468061847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
468161847f8eSopenharmony_ci   * @since 10
468261847f8eSopenharmony_ci   */
468361847f8eSopenharmony_ci  /**
468461847f8eSopenharmony_ci   * PhotoViewMIMETypes represents the type of media resource that photo picker selects.
468561847f8eSopenharmony_ci   *
468661847f8eSopenharmony_ci   * @enum { string } PhotoViewMIMETypes
468761847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
468861847f8eSopenharmony_ci   * @atomicservice
468961847f8eSopenharmony_ci   * @since 11
469061847f8eSopenharmony_ci   */
469161847f8eSopenharmony_ci  /**
469261847f8eSopenharmony_ci   * PhotoViewMIMETypes represents the type of media resource that photo picker selects.
469361847f8eSopenharmony_ci   *
469461847f8eSopenharmony_ci   * @enum { string } PhotoViewMIMETypes
469561847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
469661847f8eSopenharmony_ci   * @crossplatform
469761847f8eSopenharmony_ci   * @atomicservice
469861847f8eSopenharmony_ci   * @since 12
469961847f8eSopenharmony_ci   */
470061847f8eSopenharmony_ci  export enum PhotoViewMIMETypes {
470161847f8eSopenharmony_ci    /**
470261847f8eSopenharmony_ci     * IMAGE_TYPE indicates that the selected media resources are images.
470361847f8eSopenharmony_ci     *
470461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
470561847f8eSopenharmony_ci     * @since 10
470661847f8eSopenharmony_ci     */
470761847f8eSopenharmony_ci    /**
470861847f8eSopenharmony_ci     * IMAGE_TYPE indicates that the selected media resources are images.
470961847f8eSopenharmony_ci     *
471061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
471161847f8eSopenharmony_ci     * @atomicservice
471261847f8eSopenharmony_ci     * @since 11
471361847f8eSopenharmony_ci     */
471461847f8eSopenharmony_ci    /**
471561847f8eSopenharmony_ci     * IMAGE_TYPE indicates that the selected media resources are images.
471661847f8eSopenharmony_ci     *
471761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
471861847f8eSopenharmony_ci     * @crossplatform
471961847f8eSopenharmony_ci     * @atomicservice
472061847f8eSopenharmony_ci     * @since 12
472161847f8eSopenharmony_ci     */
472261847f8eSopenharmony_ci    IMAGE_TYPE = 'image/*',
472361847f8eSopenharmony_ci    /**
472461847f8eSopenharmony_ci     * VIDEO_TYPE indicates that the selected media resources are videos.
472561847f8eSopenharmony_ci     *
472661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
472761847f8eSopenharmony_ci     * @since 10
472861847f8eSopenharmony_ci     */
472961847f8eSopenharmony_ci    /**
473061847f8eSopenharmony_ci     * VIDEO_TYPE indicates that the selected media resources are videos.
473161847f8eSopenharmony_ci     *
473261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
473361847f8eSopenharmony_ci     * @atomicservice
473461847f8eSopenharmony_ci     * @since 11
473561847f8eSopenharmony_ci     */
473661847f8eSopenharmony_ci    /**
473761847f8eSopenharmony_ci     * VIDEO_TYPE indicates that the selected media resources are videos.
473861847f8eSopenharmony_ci     *
473961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
474061847f8eSopenharmony_ci     * @crossplatform
474161847f8eSopenharmony_ci     * @atomicservice
474261847f8eSopenharmony_ci     * @since 12
474361847f8eSopenharmony_ci     */
474461847f8eSopenharmony_ci    VIDEO_TYPE = 'video/*',
474561847f8eSopenharmony_ci    /**
474661847f8eSopenharmony_ci     * IMAGE_VIDEO_TYPE indicates that the selected media resources are images and videos.
474761847f8eSopenharmony_ci     *
474861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
474961847f8eSopenharmony_ci     * @since 10
475061847f8eSopenharmony_ci     */
475161847f8eSopenharmony_ci    /**
475261847f8eSopenharmony_ci     * IMAGE_VIDEO_TYPE indicates that the selected media resources are images and videos.
475361847f8eSopenharmony_ci     *
475461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
475561847f8eSopenharmony_ci     * @atomicservice
475661847f8eSopenharmony_ci     * @since 11
475761847f8eSopenharmony_ci     */
475861847f8eSopenharmony_ci    /**
475961847f8eSopenharmony_ci     * IMAGE_VIDEO_TYPE indicates that the selected media resources are images and videos.
476061847f8eSopenharmony_ci     *
476161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
476261847f8eSopenharmony_ci     * @crossplatform
476361847f8eSopenharmony_ci     * @atomicservice
476461847f8eSopenharmony_ci     * @since 12
476561847f8eSopenharmony_ci     */
476661847f8eSopenharmony_ci    IMAGE_VIDEO_TYPE = '*/*',
476761847f8eSopenharmony_ci
476861847f8eSopenharmony_ci    /**
476961847f8eSopenharmony_ci     * MOVING_PHOTO_IMAGE_TYPE indicates that the selected media resources are moving photos.
477061847f8eSopenharmony_ci     *
477161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
477261847f8eSopenharmony_ci     * @atomicservice
477361847f8eSopenharmony_ci     * @since 12
477461847f8eSopenharmony_ci     */
477561847f8eSopenharmony_ci    MOVING_PHOTO_IMAGE_TYPE = 'image/movingPhoto'
477661847f8eSopenharmony_ci  }
477761847f8eSopenharmony_ci
477861847f8eSopenharmony_ci  /**
477961847f8eSopenharmony_ci   * Class BaseSelectOptions, which is extracted from class PhotoSelectOptions
478061847f8eSopenharmony_ci   *
478161847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
478261847f8eSopenharmony_ci   * @crossplatform
478361847f8eSopenharmony_ci   * @atomicservice
478461847f8eSopenharmony_ci   * @since 12
478561847f8eSopenharmony_ci   */
478661847f8eSopenharmony_ci  class BaseSelectOptions {
478761847f8eSopenharmony_ci    /**
478861847f8eSopenharmony_ci     * The Type of the file in the picker window.
478961847f8eSopenharmony_ci     *
479061847f8eSopenharmony_ci     * @type { ?PhotoViewMIMETypes }
479161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
479261847f8eSopenharmony_ci     * @since 10
479361847f8eSopenharmony_ci     */
479461847f8eSopenharmony_ci    /**
479561847f8eSopenharmony_ci     * The Type of the file in the picker window.
479661847f8eSopenharmony_ci     *
479761847f8eSopenharmony_ci     * @type { ?PhotoViewMIMETypes }
479861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
479961847f8eSopenharmony_ci     * @atomicservice
480061847f8eSopenharmony_ci     * @since 11
480161847f8eSopenharmony_ci     */
480261847f8eSopenharmony_ci    /**
480361847f8eSopenharmony_ci     * The Type of the file in the picker window.
480461847f8eSopenharmony_ci     * Move from class PhotoSelectOptions to it's base class BaseSelectOptions
480561847f8eSopenharmony_ci     *
480661847f8eSopenharmony_ci     * @type { ?PhotoViewMIMETypes }
480761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
480861847f8eSopenharmony_ci     * @crossplatform
480961847f8eSopenharmony_ci     * @atomicservice
481061847f8eSopenharmony_ci     * @since 12
481161847f8eSopenharmony_ci     */
481261847f8eSopenharmony_ci    MIMEType?: PhotoViewMIMETypes;
481361847f8eSopenharmony_ci
481461847f8eSopenharmony_ci    /**
481561847f8eSopenharmony_ci     * Maximum number of images for a single selection.
481661847f8eSopenharmony_ci     *
481761847f8eSopenharmony_ci     * @type { ?number }
481861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
481961847f8eSopenharmony_ci     * @since 10
482061847f8eSopenharmony_ci     */
482161847f8eSopenharmony_ci    /**
482261847f8eSopenharmony_ci     * Maximum number of images for a single selection.
482361847f8eSopenharmony_ci     *
482461847f8eSopenharmony_ci     * @type { ?number }
482561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
482661847f8eSopenharmony_ci     * @atomicservice
482761847f8eSopenharmony_ci     * @since 11
482861847f8eSopenharmony_ci     */
482961847f8eSopenharmony_ci    /**
483061847f8eSopenharmony_ci     * Maximum number of images for a single selection.
483161847f8eSopenharmony_ci     * Move from class PhotoSelectOptions to it's base class BaseSelectOptions
483261847f8eSopenharmony_ci     *
483361847f8eSopenharmony_ci     * @type { ?number }
483461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
483561847f8eSopenharmony_ci     * @atomicservice
483661847f8eSopenharmony_ci     * @since 12
483761847f8eSopenharmony_ci     */
483861847f8eSopenharmony_ci    maxSelectNumber?: number;
483961847f8eSopenharmony_ci
484061847f8eSopenharmony_ci    /**
484161847f8eSopenharmony_ci     * Support search.
484261847f8eSopenharmony_ci     *
484361847f8eSopenharmony_ci     * @type { ?boolean }
484461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
484561847f8eSopenharmony_ci     * @atomicservice
484661847f8eSopenharmony_ci     * @since 11
484761847f8eSopenharmony_ci     */
484861847f8eSopenharmony_ci    /**
484961847f8eSopenharmony_ci     * Support search.
485061847f8eSopenharmony_ci     * Move from class PhotoSelectOptions to it's base class BaseSelectOptions
485161847f8eSopenharmony_ci     *
485261847f8eSopenharmony_ci     * @type { ?boolean }
485361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
485461847f8eSopenharmony_ci     * @atomicservice
485561847f8eSopenharmony_ci     * @since 12
485661847f8eSopenharmony_ci     */
485761847f8eSopenharmony_ci    isSearchSupported?: boolean;
485861847f8eSopenharmony_ci
485961847f8eSopenharmony_ci    /**
486061847f8eSopenharmony_ci     * Support taking photos.
486161847f8eSopenharmony_ci     *
486261847f8eSopenharmony_ci     * @type { ?boolean }
486361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
486461847f8eSopenharmony_ci     * @atomicservice
486561847f8eSopenharmony_ci     * @since 11
486661847f8eSopenharmony_ci     */
486761847f8eSopenharmony_ci    /**
486861847f8eSopenharmony_ci     * Support taking photos.
486961847f8eSopenharmony_ci     * Move from class PhotoSelectOptions to it's base class BaseSelectOptions
487061847f8eSopenharmony_ci     *
487161847f8eSopenharmony_ci     * @type { ?boolean }
487261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
487361847f8eSopenharmony_ci     * @atomicservice
487461847f8eSopenharmony_ci     * @since 12
487561847f8eSopenharmony_ci     */
487661847f8eSopenharmony_ci    isPhotoTakingSupported?: boolean;
487761847f8eSopenharmony_ci
487861847f8eSopenharmony_ci    /**
487961847f8eSopenharmony_ci    * The recommendation options when use recommendation photo function.
488061847f8eSopenharmony_ci    *
488161847f8eSopenharmony_ci    * @type { ?RecommendationOptions }
488261847f8eSopenharmony_ci    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
488361847f8eSopenharmony_ci    * @atomicservice
488461847f8eSopenharmony_ci    * @since 11
488561847f8eSopenharmony_ci    */
488661847f8eSopenharmony_ci    /**
488761847f8eSopenharmony_ci     * The recommendation options when use recommendation photo function.
488861847f8eSopenharmony_ci     * Move from class PhotoSelectOptions to it's base class BaseSelectOptions
488961847f8eSopenharmony_ci     *
489061847f8eSopenharmony_ci     * @type { ?RecommendationOptions }
489161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
489261847f8eSopenharmony_ci     * @atomicservice
489361847f8eSopenharmony_ci     * @since 12
489461847f8eSopenharmony_ci     */
489561847f8eSopenharmony_ci    recommendationOptions?: RecommendationOptions;
489661847f8eSopenharmony_ci
489761847f8eSopenharmony_ci    /**
489861847f8eSopenharmony_ci     * The uri for the preselected files.
489961847f8eSopenharmony_ci     *
490061847f8eSopenharmony_ci     * @type { ?Array<string> }
490161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
490261847f8eSopenharmony_ci     * @atomicservice
490361847f8eSopenharmony_ci     * @since 11
490461847f8eSopenharmony_ci     */
490561847f8eSopenharmony_ci    /**
490661847f8eSopenharmony_ci     * The uri for the preselected files.
490761847f8eSopenharmony_ci     * Move from class PhotoSelectOptions to it's base class BaseSelectOptions
490861847f8eSopenharmony_ci     *
490961847f8eSopenharmony_ci     * @type { ?Array<string> }
491061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
491161847f8eSopenharmony_ci     * @atomicservice
491261847f8eSopenharmony_ci     * @since 12
491361847f8eSopenharmony_ci     */
491461847f8eSopenharmony_ci    preselectedUris?: Array<string>;
491561847f8eSopenharmony_ci
491661847f8eSopenharmony_ci    /**
491761847f8eSopenharmony_ci     * Support preview in single selection mode or not
491861847f8eSopenharmony_ci     *
491961847f8eSopenharmony_ci     * @type { ?boolean }
492061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
492161847f8eSopenharmony_ci     * @atomicservice
492261847f8eSopenharmony_ci     * @since 12
492361847f8eSopenharmony_ci     */
492461847f8eSopenharmony_ci    isPreviewForSingleSelectionSupported?: boolean;
492561847f8eSopenharmony_ci  }
492661847f8eSopenharmony_ci
492761847f8eSopenharmony_ci  /**
492861847f8eSopenharmony_ci   * PhotoSelectOptions Object
492961847f8eSopenharmony_ci   *
493061847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
493161847f8eSopenharmony_ci   * @since 10
493261847f8eSopenharmony_ci   */
493361847f8eSopenharmony_ci  /**
493461847f8eSopenharmony_ci   * PhotoSelectOptions Object
493561847f8eSopenharmony_ci   *
493661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
493761847f8eSopenharmony_ci   * @atomicservice
493861847f8eSopenharmony_ci   * @since 11
493961847f8eSopenharmony_ci   */
494061847f8eSopenharmony_ci  /**
494161847f8eSopenharmony_ci   * PhotoSelectOptions extends base class BaseSelectOptions
494261847f8eSopenharmony_ci   *
494361847f8eSopenharmony_ci   * @extends BaseSelectOptions
494461847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
494561847f8eSopenharmony_ci   * @crossplatform
494661847f8eSopenharmony_ci   * @atomicservice
494761847f8eSopenharmony_ci   * @since 12
494861847f8eSopenharmony_ci   */
494961847f8eSopenharmony_ci  class PhotoSelectOptions extends BaseSelectOptions {
495061847f8eSopenharmony_ci    /**
495161847f8eSopenharmony_ci     * Support editing photos.
495261847f8eSopenharmony_ci     *
495361847f8eSopenharmony_ci     * @type { ?boolean }
495461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
495561847f8eSopenharmony_ci     * @atomicservice
495661847f8eSopenharmony_ci     * @since 11
495761847f8eSopenharmony_ci     */
495861847f8eSopenharmony_ci    isEditSupported?: boolean;
495961847f8eSopenharmony_ci
496061847f8eSopenharmony_ci    /**
496161847f8eSopenharmony_ci     * Support select original photo or not
496261847f8eSopenharmony_ci     *
496361847f8eSopenharmony_ci     * @type { ?boolean }
496461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
496561847f8eSopenharmony_ci     * @atomicservice
496661847f8eSopenharmony_ci     * @since 12
496761847f8eSopenharmony_ci     */
496861847f8eSopenharmony_ci    isOriginalSupported?: boolean;
496961847f8eSopenharmony_ci
497061847f8eSopenharmony_ci    /**
497161847f8eSopenharmony_ci     * SubWindow name
497261847f8eSopenharmony_ci     *
497361847f8eSopenharmony_ci     * @type { ?string }
497461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
497561847f8eSopenharmony_ci     * @atomicservice
497661847f8eSopenharmony_ci     * @since 12
497761847f8eSopenharmony_ci     */
497861847f8eSopenharmony_ci    subWindowName?: string;
497961847f8eSopenharmony_ci
498061847f8eSopenharmony_ci    /**
498161847f8eSopenharmony_ci     * Theme color
498261847f8eSopenharmony_ci     *
498361847f8eSopenharmony_ci     * @type { ?CustomColors }
498461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
498561847f8eSopenharmony_ci     * @systemapi
498661847f8eSopenharmony_ci     * @since 12
498761847f8eSopenharmony_ci     */
498861847f8eSopenharmony_ci    themeColor?: CustomColors;
498961847f8eSopenharmony_ci
499061847f8eSopenharmony_ci    /**
499161847f8eSopenharmony_ci     * Complete button text
499261847f8eSopenharmony_ci     *
499361847f8eSopenharmony_ci     * @type { ?CompleteButtonText }
499461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
499561847f8eSopenharmony_ci     * @atomicservice
499661847f8eSopenharmony_ci     * @since 12
499761847f8eSopenharmony_ci     */
499861847f8eSopenharmony_ci    completeButtonText?: CompleteButtonText;
499961847f8eSopenharmony_ci  }
500061847f8eSopenharmony_ci
500161847f8eSopenharmony_ci  /**
500261847f8eSopenharmony_ci   * Options for recommend photos
500361847f8eSopenharmony_ci   *
500461847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
500561847f8eSopenharmony_ci   * @atomicservice
500661847f8eSopenharmony_ci   * @since 11
500761847f8eSopenharmony_ci   */
500861847f8eSopenharmony_ci  class RecommendationOptions {
500961847f8eSopenharmony_ci    /**
501061847f8eSopenharmony_ci     * The recommendation photo type when select photo in photo picker.
501161847f8eSopenharmony_ci     *
501261847f8eSopenharmony_ci     * @type { ?RecommendationType }
501361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
501461847f8eSopenharmony_ci     * @atomicservice
501561847f8eSopenharmony_ci     * @since 11
501661847f8eSopenharmony_ci     */
501761847f8eSopenharmony_ci    recommendationType?: RecommendationType;
501861847f8eSopenharmony_ci
501961847f8eSopenharmony_ci    /**
502061847f8eSopenharmony_ci     * The textContextInfo to recommend images.
502161847f8eSopenharmony_ci     *
502261847f8eSopenharmony_ci     * @type { ?TextContextInfo }
502361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
502461847f8eSopenharmony_ci     * @atomicservice
502561847f8eSopenharmony_ci     * @since 12
502661847f8eSopenharmony_ci     */
502761847f8eSopenharmony_ci    textContextInfo?: TextContextInfo;
502861847f8eSopenharmony_ci  }
502961847f8eSopenharmony_ci
503061847f8eSopenharmony_ci  /**
503161847f8eSopenharmony_ci   * Defines the text context info.
503261847f8eSopenharmony_ci   *
503361847f8eSopenharmony_ci   * @interface TextContextInfo
503461847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
503561847f8eSopenharmony_ci   * @atomicservice
503661847f8eSopenharmony_ci   * @since 12
503761847f8eSopenharmony_ci   */
503861847f8eSopenharmony_ci  interface TextContextInfo {
503961847f8eSopenharmony_ci    /**
504061847f8eSopenharmony_ci     * The Simplified Chinese(UTF-8) text within 250 to recommend images.
504161847f8eSopenharmony_ci     *
504261847f8eSopenharmony_ci     * @type { ?string }
504361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
504461847f8eSopenharmony_ci     * @atomicservice
504561847f8eSopenharmony_ci     * @since 12
504661847f8eSopenharmony_ci     */
504761847f8eSopenharmony_ci    text?: string;
504861847f8eSopenharmony_ci  }
504961847f8eSopenharmony_ci
505061847f8eSopenharmony_ci  /**
505161847f8eSopenharmony_ci   * PhotoSelectResult Object
505261847f8eSopenharmony_ci   *
505361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
505461847f8eSopenharmony_ci   * @since 10
505561847f8eSopenharmony_ci   */
505661847f8eSopenharmony_ci  /**
505761847f8eSopenharmony_ci   * PhotoSelectResult Object
505861847f8eSopenharmony_ci   *
505961847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
506061847f8eSopenharmony_ci   * @atomicservice
506161847f8eSopenharmony_ci   * @since 11
506261847f8eSopenharmony_ci   */
506361847f8eSopenharmony_ci  /**
506461847f8eSopenharmony_ci   * PhotoSelectResult Object
506561847f8eSopenharmony_ci   *
506661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
506761847f8eSopenharmony_ci   * @crossplatform
506861847f8eSopenharmony_ci   * @atomicservice
506961847f8eSopenharmony_ci   * @since 12
507061847f8eSopenharmony_ci   */
507161847f8eSopenharmony_ci  class PhotoSelectResult {
507261847f8eSopenharmony_ci    /**
507361847f8eSopenharmony_ci     * The uris for the selected files.
507461847f8eSopenharmony_ci     *
507561847f8eSopenharmony_ci     * @type { Array<string> }
507661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
507761847f8eSopenharmony_ci     * @since 10
507861847f8eSopenharmony_ci     */
507961847f8eSopenharmony_ci    /**
508061847f8eSopenharmony_ci     * The uris for the selected files.
508161847f8eSopenharmony_ci     *
508261847f8eSopenharmony_ci     * @type { Array<string> }
508361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
508461847f8eSopenharmony_ci     * @atomicservice
508561847f8eSopenharmony_ci     * @since 11
508661847f8eSopenharmony_ci     */
508761847f8eSopenharmony_ci    /**
508861847f8eSopenharmony_ci     * The uris for the selected files.
508961847f8eSopenharmony_ci     *
509061847f8eSopenharmony_ci     * @type { Array<string> }
509161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
509261847f8eSopenharmony_ci     * @crossplatform
509361847f8eSopenharmony_ci     * @atomicservice
509461847f8eSopenharmony_ci     * @since 12
509561847f8eSopenharmony_ci     */
509661847f8eSopenharmony_ci    photoUris: Array<string>;
509761847f8eSopenharmony_ci
509861847f8eSopenharmony_ci    /**
509961847f8eSopenharmony_ci     * Original option.
510061847f8eSopenharmony_ci     *
510161847f8eSopenharmony_ci     * @type { boolean }
510261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
510361847f8eSopenharmony_ci     * @since 10
510461847f8eSopenharmony_ci     */
510561847f8eSopenharmony_ci    /**
510661847f8eSopenharmony_ci     * Original option.
510761847f8eSopenharmony_ci     *
510861847f8eSopenharmony_ci     * @type { boolean }
510961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
511061847f8eSopenharmony_ci     * @atomicservice
511161847f8eSopenharmony_ci     * @since 11
511261847f8eSopenharmony_ci     */
511361847f8eSopenharmony_ci    /**
511461847f8eSopenharmony_ci     * Original option.
511561847f8eSopenharmony_ci     *
511661847f8eSopenharmony_ci     * @type { boolean }
511761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
511861847f8eSopenharmony_ci     * @crossplatform
511961847f8eSopenharmony_ci     * @atomicservice
512061847f8eSopenharmony_ci     * @since 12
512161847f8eSopenharmony_ci     */
512261847f8eSopenharmony_ci    isOriginalPhoto: boolean;
512361847f8eSopenharmony_ci  }
512461847f8eSopenharmony_ci
512561847f8eSopenharmony_ci  /**
512661847f8eSopenharmony_ci   * PhotoViewPicker Object
512761847f8eSopenharmony_ci   *
512861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
512961847f8eSopenharmony_ci   * @since 10
513061847f8eSopenharmony_ci   */
513161847f8eSopenharmony_ci  /**
513261847f8eSopenharmony_ci   * PhotoViewPicker Object
513361847f8eSopenharmony_ci   *
513461847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
513561847f8eSopenharmony_ci   * @atomicservice
513661847f8eSopenharmony_ci   * @since 11
513761847f8eSopenharmony_ci   */
513861847f8eSopenharmony_ci  /**
513961847f8eSopenharmony_ci   * PhotoViewPicker Object
514061847f8eSopenharmony_ci   *
514161847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
514261847f8eSopenharmony_ci   * @crossplatform
514361847f8eSopenharmony_ci   * @atomicservice
514461847f8eSopenharmony_ci   * @since 12
514561847f8eSopenharmony_ci   */
514661847f8eSopenharmony_ci  class PhotoViewPicker {
514761847f8eSopenharmony_ci    /**
514861847f8eSopenharmony_ci     * Pull up the photo picker based on the selection mode.
514961847f8eSopenharmony_ci     *
515061847f8eSopenharmony_ci     * @param { PhotoSelectOptions } [option] - represents the options provided in select mode.
515161847f8eSopenharmony_ci     * @returns { Promise<PhotoSelectResult> } Returns the uris for the selected files.
515261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
515361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
515461847f8eSopenharmony_ci     * @throws { BusinessError } 13900042 - Unknown error
515561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
515661847f8eSopenharmony_ci     * @since 10
515761847f8eSopenharmony_ci     */
515861847f8eSopenharmony_ci    /**
515961847f8eSopenharmony_ci     * Pull up the photo picker based on the selection mode.
516061847f8eSopenharmony_ci     *
516161847f8eSopenharmony_ci     * @param { PhotoSelectOptions } [option] - represents the options provided in select mode.
516261847f8eSopenharmony_ci     * @returns { Promise<PhotoSelectResult> } Returns the uris for the selected files.
516361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
516461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
516561847f8eSopenharmony_ci     * @throws { BusinessError } 13900042 - Unknown error
516661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
516761847f8eSopenharmony_ci     * @atomicservice
516861847f8eSopenharmony_ci     * @since 11
516961847f8eSopenharmony_ci     */
517061847f8eSopenharmony_ci    /**
517161847f8eSopenharmony_ci     * Pull up the photo picker based on the selection mode.
517261847f8eSopenharmony_ci     *
517361847f8eSopenharmony_ci     * @param { PhotoSelectOptions } [option] - represents the options provided in select mode.
517461847f8eSopenharmony_ci     * @returns { Promise<PhotoSelectResult> } Returns the uris for the selected files.
517561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
517661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
517761847f8eSopenharmony_ci     * @throws { BusinessError } 13900042 - Unknown error
517861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
517961847f8eSopenharmony_ci     * @crossplatform
518061847f8eSopenharmony_ci     * @atomicservice
518161847f8eSopenharmony_ci     * @since 12
518261847f8eSopenharmony_ci     */
518361847f8eSopenharmony_ci    select(option?: PhotoSelectOptions): Promise<PhotoSelectResult>;
518461847f8eSopenharmony_ci
518561847f8eSopenharmony_ci    /**
518661847f8eSopenharmony_ci     * Pull up the photo picker based on the selection mode.
518761847f8eSopenharmony_ci     *
518861847f8eSopenharmony_ci     * @param { PhotoSelectOptions } option - represents the options provided in select mode.
518961847f8eSopenharmony_ci     * @param { AsyncCallback<PhotoSelectResult> } callback - Returns the PhotoSelectResult by photo picker
519061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
519161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
519261847f8eSopenharmony_ci     * @throws { BusinessError } 13900042 - Unknown error
519361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
519461847f8eSopenharmony_ci     * @since 10
519561847f8eSopenharmony_ci     */
519661847f8eSopenharmony_ci    /**
519761847f8eSopenharmony_ci     * Pull up the photo picker based on the selection mode.
519861847f8eSopenharmony_ci     *
519961847f8eSopenharmony_ci     * @param { PhotoSelectOptions } option - represents the options provided in select mode.
520061847f8eSopenharmony_ci     * @param { AsyncCallback<PhotoSelectResult> } callback - Returns the PhotoSelectResult by photo picker
520161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
520261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
520361847f8eSopenharmony_ci     * @throws { BusinessError } 13900042 - Unknown error
520461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
520561847f8eSopenharmony_ci     * @atomicservice
520661847f8eSopenharmony_ci     * @since 11
520761847f8eSopenharmony_ci     */
520861847f8eSopenharmony_ci    /**
520961847f8eSopenharmony_ci     * Pull up the photo picker based on the selection mode.
521061847f8eSopenharmony_ci     *
521161847f8eSopenharmony_ci     * @param { PhotoSelectOptions } option - represents the options provided in select mode.
521261847f8eSopenharmony_ci     * @param { AsyncCallback<PhotoSelectResult> } callback - Returns the PhotoSelectResult by photo picker
521361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
521461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
521561847f8eSopenharmony_ci     * @throws { BusinessError } 13900042 - Unknown error
521661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
521761847f8eSopenharmony_ci     * @crossplatform
521861847f8eSopenharmony_ci     * @atomicservice
521961847f8eSopenharmony_ci     * @since 12
522061847f8eSopenharmony_ci     */
522161847f8eSopenharmony_ci    select(option: PhotoSelectOptions, callback: AsyncCallback<PhotoSelectResult>): void;
522261847f8eSopenharmony_ci
522361847f8eSopenharmony_ci    /**
522461847f8eSopenharmony_ci     * Pull up the photo picker based on the selection mode.
522561847f8eSopenharmony_ci     *
522661847f8eSopenharmony_ci     * @param { AsyncCallback<PhotoSelectResult> } callback - Returns the PhotoSelectResult by photo picker
522761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
522861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
522961847f8eSopenharmony_ci     * @throws { BusinessError } 13900042 - Unknown error
523061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
523161847f8eSopenharmony_ci     * @since 10
523261847f8eSopenharmony_ci     */
523361847f8eSopenharmony_ci    /**
523461847f8eSopenharmony_ci     * Pull up the photo picker based on the selection mode.
523561847f8eSopenharmony_ci     *
523661847f8eSopenharmony_ci     * @param { AsyncCallback<PhotoSelectResult> } callback - Returns the PhotoSelectResult by photo picker
523761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
523861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
523961847f8eSopenharmony_ci     * @throws { BusinessError } 13900042 - Unknown error
524061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
524161847f8eSopenharmony_ci     * @atomicservice
524261847f8eSopenharmony_ci     * @since 11
524361847f8eSopenharmony_ci     */
524461847f8eSopenharmony_ci    /**
524561847f8eSopenharmony_ci     * Pull up the photo picker based on the selection mode.
524661847f8eSopenharmony_ci     *
524761847f8eSopenharmony_ci     * @param { AsyncCallback<PhotoSelectResult> } callback - Returns the PhotoSelectResult by photo picker
524861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
524961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
525061847f8eSopenharmony_ci     * @throws { BusinessError } 13900042 - Unknown error
525161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
525261847f8eSopenharmony_ci     * @crossplatform
525361847f8eSopenharmony_ci     * @atomicservice
525461847f8eSopenharmony_ci     * @since 12
525561847f8eSopenharmony_ci     */
525661847f8eSopenharmony_ci    select(callback: AsyncCallback<PhotoSelectResult>): void;
525761847f8eSopenharmony_ci  }
525861847f8eSopenharmony_ci
525961847f8eSopenharmony_ci  /**
526061847f8eSopenharmony_ci   * MediaAssetEditData Object
526161847f8eSopenharmony_ci   *
526261847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
526361847f8eSopenharmony_ci   * @systemapi
526461847f8eSopenharmony_ci   * @since 11
526561847f8eSopenharmony_ci   */
526661847f8eSopenharmony_ci  class MediaAssetEditData {
526761847f8eSopenharmony_ci    /**
526861847f8eSopenharmony_ci     * The constructor to create a MediaAssetEditData instance.
526961847f8eSopenharmony_ci     *
527061847f8eSopenharmony_ci     * @param { string } compatibleFormat - Compatible format
527161847f8eSopenharmony_ci     * @param { string } formatVersion - Format version
527261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
527361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
527461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
527561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
527661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
527761847f8eSopenharmony_ci     * @systemapi
527861847f8eSopenharmony_ci     * @since 11
527961847f8eSopenharmony_ci     */
528061847f8eSopenharmony_ci    constructor(compatibleFormat: string, formatVersion: string);
528161847f8eSopenharmony_ci
528261847f8eSopenharmony_ci    /**
528361847f8eSopenharmony_ci     * Compatible format
528461847f8eSopenharmony_ci     *
528561847f8eSopenharmony_ci     * @type { string }
528661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
528761847f8eSopenharmony_ci     * @systemapi
528861847f8eSopenharmony_ci     * @since 11
528961847f8eSopenharmony_ci     */
529061847f8eSopenharmony_ci    compatibleFormat: string;
529161847f8eSopenharmony_ci
529261847f8eSopenharmony_ci    /**
529361847f8eSopenharmony_ci     * Format version
529461847f8eSopenharmony_ci     *
529561847f8eSopenharmony_ci     * @type { string }
529661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
529761847f8eSopenharmony_ci     * @systemapi
529861847f8eSopenharmony_ci     * @since 11
529961847f8eSopenharmony_ci     */
530061847f8eSopenharmony_ci    formatVersion: string;
530161847f8eSopenharmony_ci
530261847f8eSopenharmony_ci    /**
530361847f8eSopenharmony_ci     * Edit data
530461847f8eSopenharmony_ci     *
530561847f8eSopenharmony_ci     * @type { string }
530661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
530761847f8eSopenharmony_ci     * @systemapi
530861847f8eSopenharmony_ci     * @since 11
530961847f8eSopenharmony_ci     */
531061847f8eSopenharmony_ci    data: string;
531161847f8eSopenharmony_ci  }
531261847f8eSopenharmony_ci
531361847f8eSopenharmony_ci  /**
531461847f8eSopenharmony_ci   * Enumeration of resource type.
531561847f8eSopenharmony_ci   *
531661847f8eSopenharmony_ci   * @enum { number } ResourceType
531761847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
531861847f8eSopenharmony_ci   * @atomicservice
531961847f8eSopenharmony_ci   * @since 11
532061847f8eSopenharmony_ci   */
532161847f8eSopenharmony_ci  enum ResourceType {
532261847f8eSopenharmony_ci    /**
532361847f8eSopenharmony_ci     * Image resource
532461847f8eSopenharmony_ci     *
532561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
532661847f8eSopenharmony_ci     * @atomicservice
532761847f8eSopenharmony_ci     * @since 11
532861847f8eSopenharmony_ci     */
532961847f8eSopenharmony_ci    IMAGE_RESOURCE = 1,
533061847f8eSopenharmony_ci
533161847f8eSopenharmony_ci    /**
533261847f8eSopenharmony_ci     * Video resource
533361847f8eSopenharmony_ci     *
533461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
533561847f8eSopenharmony_ci     * @atomicservice
533661847f8eSopenharmony_ci     * @since 11
533761847f8eSopenharmony_ci     */
533861847f8eSopenharmony_ci    VIDEO_RESOURCE = 2,
533961847f8eSopenharmony_ci
534061847f8eSopenharmony_ci    /**
534161847f8eSopenharmony_ci     * Photo proxy
534261847f8eSopenharmony_ci     *
534361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
534461847f8eSopenharmony_ci     * @systemapi
534561847f8eSopenharmony_ci     * @since 11
534661847f8eSopenharmony_ci     */
534761847f8eSopenharmony_ci    PHOTO_PROXY = 3,
534861847f8eSopenharmony_ci
534961847f8eSopenharmony_ci    /**
535061847f8eSopenharmony_ci     * Private moving photo resource
535161847f8eSopenharmony_ci     *
535261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
535361847f8eSopenharmony_ci     * @systemapi
535461847f8eSopenharmony_ci     * @since 13
535561847f8eSopenharmony_ci     */
535661847f8eSopenharmony_ci    PRIVATE_MOVING_PHOTO_RESOURCE = 4
535761847f8eSopenharmony_ci  }
535861847f8eSopenharmony_ci
535961847f8eSopenharmony_ci  /**
536061847f8eSopenharmony_ci   * The format in which the image is saved
536161847f8eSopenharmony_ci   *
536261847f8eSopenharmony_ci   * @enum { number } ImageFileType
536361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
536461847f8eSopenharmony_ci   * @since 13
536561847f8eSopenharmony_ci   */
536661847f8eSopenharmony_ci  enum ImageFileType {
536761847f8eSopenharmony_ci    /**
536861847f8eSopenharmony_ci     * Jpeg type
536961847f8eSopenharmony_ci     *
537061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
537161847f8eSopenharmony_ci     * @since 13
537261847f8eSopenharmony_ci     */
537361847f8eSopenharmony_ci    JPEG = 1,
537461847f8eSopenharmony_ci
537561847f8eSopenharmony_ci    /**
537661847f8eSopenharmony_ci     * Heif type
537761847f8eSopenharmony_ci     *
537861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
537961847f8eSopenharmony_ci     * @since 13
538061847f8eSopenharmony_ci     */
538161847f8eSopenharmony_ci    HEIF = 2
538261847f8eSopenharmony_ci  }
538361847f8eSopenharmony_ci    
538461847f8eSopenharmony_ci  /**
538561847f8eSopenharmony_ci   * Enumeration of moving photo effect mode.
538661847f8eSopenharmony_ci   *
538761847f8eSopenharmony_ci   * @enum { number } MovingPhotoEffectMode
538861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
538961847f8eSopenharmony_ci   * @systemapi
539061847f8eSopenharmony_ci   * @since 12
539161847f8eSopenharmony_ci   */
539261847f8eSopenharmony_ci  enum MovingPhotoEffectMode {
539361847f8eSopenharmony_ci    /**
539461847f8eSopenharmony_ci     * Default
539561847f8eSopenharmony_ci     *
539661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
539761847f8eSopenharmony_ci     * @systemapi
539861847f8eSopenharmony_ci     * @since 12
539961847f8eSopenharmony_ci     */
540061847f8eSopenharmony_ci    DEFAULT = 0,
540161847f8eSopenharmony_ci
540261847f8eSopenharmony_ci    /**
540361847f8eSopenharmony_ci     * Bounce play
540461847f8eSopenharmony_ci     *
540561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
540661847f8eSopenharmony_ci     * @systemapi
540761847f8eSopenharmony_ci     * @since 12
540861847f8eSopenharmony_ci     */
540961847f8eSopenharmony_ci    BOUNCE_PLAY = 1,
541061847f8eSopenharmony_ci
541161847f8eSopenharmony_ci    /**
541261847f8eSopenharmony_ci     * Loop play
541361847f8eSopenharmony_ci     *
541461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
541561847f8eSopenharmony_ci     * @systemapi
541661847f8eSopenharmony_ci     * @since 12
541761847f8eSopenharmony_ci     */
541861847f8eSopenharmony_ci    LOOP_PLAY = 2,
541961847f8eSopenharmony_ci
542061847f8eSopenharmony_ci    /**
542161847f8eSopenharmony_ci     * Long exposure
542261847f8eSopenharmony_ci     *
542361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
542461847f8eSopenharmony_ci     * @systemapi
542561847f8eSopenharmony_ci     * @since 12
542661847f8eSopenharmony_ci     */
542761847f8eSopenharmony_ci    LONG_EXPOSURE = 3,
542861847f8eSopenharmony_ci
542961847f8eSopenharmony_ci    /**
543061847f8eSopenharmony_ci     * Multi exposure
543161847f8eSopenharmony_ci     *
543261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
543361847f8eSopenharmony_ci     * @systemapi
543461847f8eSopenharmony_ci     * @since 12
543561847f8eSopenharmony_ci     */
543661847f8eSopenharmony_ci    MULTI_EXPOSURE = 4,
543761847f8eSopenharmony_ci
543861847f8eSopenharmony_ci    /**
543961847f8eSopenharmony_ci     * Cinema graph
544061847f8eSopenharmony_ci     *
544161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
544261847f8eSopenharmony_ci     * @systemapi
544361847f8eSopenharmony_ci     * @since 13
544461847f8eSopenharmony_ci     */
544561847f8eSopenharmony_ci    CINEMA_GRAPH = 5,
544661847f8eSopenharmony_ci
544761847f8eSopenharmony_ci    /**
544861847f8eSopenharmony_ci     * Image only
544961847f8eSopenharmony_ci     *
545061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
545161847f8eSopenharmony_ci     * @systemapi
545261847f8eSopenharmony_ci     * @since 13
545361847f8eSopenharmony_ci     */
545461847f8eSopenharmony_ci    IMAGE_ONLY = 10
545561847f8eSopenharmony_ci  }
545661847f8eSopenharmony_ci
545761847f8eSopenharmony_ci  /**
545861847f8eSopenharmony_ci   * Enumeration of video enhancement type.
545961847f8eSopenharmony_ci   * 
546061847f8eSopenharmony_ci   * @enum { number } VideoEnhancementType
546161847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
546261847f8eSopenharmony_ci   * @systemapi
546361847f8eSopenharmony_ci   * @since 13
546461847f8eSopenharmony_ci  */
546561847f8eSopenharmony_ci  enum VideoEnhancementType {
546661847f8eSopenharmony_ci    /**
546761847f8eSopenharmony_ci     * Quality enhancement local
546861847f8eSopenharmony_ci     *
546961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
547061847f8eSopenharmony_ci     * @systemapi
547161847f8eSopenharmony_ci     * @since 13
547261847f8eSopenharmony_ci     */
547361847f8eSopenharmony_ci    QUALITY_ENHANCEMENT_LOCAL = 0,
547461847f8eSopenharmony_ci
547561847f8eSopenharmony_ci    /**
547661847f8eSopenharmony_ci     * Quality enhancement cloud
547761847f8eSopenharmony_ci     *
547861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
547961847f8eSopenharmony_ci     * @systemapi
548061847f8eSopenharmony_ci     * @since 13
548161847f8eSopenharmony_ci     */
548261847f8eSopenharmony_ci    QUALITY_ENHANCEMENT_CLOUD = 1,
548361847f8eSopenharmony_ci
548461847f8eSopenharmony_ci    /**
548561847f8eSopenharmony_ci     * Quality enhancement local and cloud
548661847f8eSopenharmony_ci     *
548761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
548861847f8eSopenharmony_ci     * @systemapi
548961847f8eSopenharmony_ci     * @since 13
549061847f8eSopenharmony_ci     */
549161847f8eSopenharmony_ci    QUALITY_ENHANCEMENT_LOCAL_AND_CLOUD = 2
549261847f8eSopenharmony_ci  }
549361847f8eSopenharmony_ci
549461847f8eSopenharmony_ci  /**
549561847f8eSopenharmony_ci   * Defines the interface of media change request.
549661847f8eSopenharmony_ci   *
549761847f8eSopenharmony_ci   * @interface MediaChangeRequest
549861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
549961847f8eSopenharmony_ci   * @atomicservice
550061847f8eSopenharmony_ci   * @since 11
550161847f8eSopenharmony_ci   */
550261847f8eSopenharmony_ci  interface MediaChangeRequest {}
550361847f8eSopenharmony_ci
550461847f8eSopenharmony_ci  /**
550561847f8eSopenharmony_ci   * Defines the class of media asset change request.
550661847f8eSopenharmony_ci   *
550761847f8eSopenharmony_ci   * @implements MediaChangeRequest
550861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
550961847f8eSopenharmony_ci   * @atomicservice
551061847f8eSopenharmony_ci   * @since 11
551161847f8eSopenharmony_ci   */
551261847f8eSopenharmony_ci  class MediaAssetChangeRequest implements MediaChangeRequest {
551361847f8eSopenharmony_ci    /**
551461847f8eSopenharmony_ci     * The constructor to create a MediaAssetChangeRequest instance.
551561847f8eSopenharmony_ci     *
551661847f8eSopenharmony_ci     * @param { PhotoAsset } asset - Specify which asset to change
551761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
551861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
551961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
552061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
552161847f8eSopenharmony_ci     * @since 11
552261847f8eSopenharmony_ci     */
552361847f8eSopenharmony_ci    /**
552461847f8eSopenharmony_ci     * The constructor to create a MediaAssetChangeRequest instance.
552561847f8eSopenharmony_ci     *
552661847f8eSopenharmony_ci     * @param { PhotoAsset } asset - Specify which asset to change
552761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
552861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
552961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
553061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
553161847f8eSopenharmony_ci     * @atomicservice
553261847f8eSopenharmony_ci     * @since 12
553361847f8eSopenharmony_ci     */
553461847f8eSopenharmony_ci    constructor(asset: PhotoAsset);
553561847f8eSopenharmony_ci
553661847f8eSopenharmony_ci    /**
553761847f8eSopenharmony_ci     * Create image asset change request.
553861847f8eSopenharmony_ci     *
553961847f8eSopenharmony_ci     * @param { Context } context - Hap context information
554061847f8eSopenharmony_ci     * @param { string } fileUri - File uri
554161847f8eSopenharmony_ci     * @returns { MediaAssetChangeRequest } - Returns a MediaAssetChangeRequest instance
554261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
554361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
554461847f8eSopenharmony_ci     * @throws { BusinessError } 13900002 - No such file
554561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
554661847f8eSopenharmony_ci     * @static
554761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
554861847f8eSopenharmony_ci     * @since 11
554961847f8eSopenharmony_ci     */
555061847f8eSopenharmony_ci    /**
555161847f8eSopenharmony_ci     * Create image asset change request.
555261847f8eSopenharmony_ci     *
555361847f8eSopenharmony_ci     * @param { Context } context - Hap context information
555461847f8eSopenharmony_ci     * @param { string } fileUri - File uri
555561847f8eSopenharmony_ci     * @returns { MediaAssetChangeRequest } - Returns a MediaAssetChangeRequest instance
555661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
555761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
555861847f8eSopenharmony_ci     * @throws { BusinessError } 13900002 - No such file
555961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
556061847f8eSopenharmony_ci     * @static
556161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
556261847f8eSopenharmony_ci     * @atomicservice
556361847f8eSopenharmony_ci     * @since 12
556461847f8eSopenharmony_ci     */
556561847f8eSopenharmony_ci    static createImageAssetRequest(context: Context, fileUri: string): MediaAssetChangeRequest;
556661847f8eSopenharmony_ci
556761847f8eSopenharmony_ci    /**
556861847f8eSopenharmony_ci     * Create video asset change request.
556961847f8eSopenharmony_ci     *
557061847f8eSopenharmony_ci     * @param { Context } context - Hap context information
557161847f8eSopenharmony_ci     * @param { string } fileUri - File uri
557261847f8eSopenharmony_ci     * @returns { MediaAssetChangeRequest } - Returns a MediaAssetChangeRequest instance
557361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
557461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
557561847f8eSopenharmony_ci     * @throws { BusinessError } 13900002 - No such file
557661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
557761847f8eSopenharmony_ci     * @static
557861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
557961847f8eSopenharmony_ci     * @since 11
558061847f8eSopenharmony_ci     */
558161847f8eSopenharmony_ci    static createVideoAssetRequest(context: Context, fileUri: string): MediaAssetChangeRequest;
558261847f8eSopenharmony_ci
558361847f8eSopenharmony_ci    /**
558461847f8eSopenharmony_ci     * Create asset change request.
558561847f8eSopenharmony_ci     *
558661847f8eSopenharmony_ci     * @param { Context } context - Hap context information
558761847f8eSopenharmony_ci     * @param { string } displayName - Asset name
558861847f8eSopenharmony_ci     * @param { PhotoCreateOptions } [options] - Optional photo create option
558961847f8eSopenharmony_ci     * @returns { MediaAssetChangeRequest } - Returns a MediaAssetChangeRequest instance
559061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
559161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
559261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
559361847f8eSopenharmony_ci     * @throws { BusinessError } 14000001 - Invalid display name
559461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
559561847f8eSopenharmony_ci     * @static
559661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
559761847f8eSopenharmony_ci     * @systemapi
559861847f8eSopenharmony_ci     * @since 11
559961847f8eSopenharmony_ci     */
560061847f8eSopenharmony_ci    static createAssetRequest(context: Context, displayName: string, options?: PhotoCreateOptions): MediaAssetChangeRequest;
560161847f8eSopenharmony_ci
560261847f8eSopenharmony_ci    /**
560361847f8eSopenharmony_ci     * Create asset change request.
560461847f8eSopenharmony_ci     *
560561847f8eSopenharmony_ci     * @param { Context } context - Hap context information
560661847f8eSopenharmony_ci     * @param { PhotoType } photoType - Photo asset type
560761847f8eSopenharmony_ci     * @param { string } extension - Asset extension
560861847f8eSopenharmony_ci     * @param { CreateOptions } [options] - Optional asset create option
560961847f8eSopenharmony_ci     * @returns { MediaAssetChangeRequest } - Returns a MediaAssetChangeRequest instance
561061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
561161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
561261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
561361847f8eSopenharmony_ci     * @static
561461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
561561847f8eSopenharmony_ci     * @atomicservice
561661847f8eSopenharmony_ci     * @since 11
561761847f8eSopenharmony_ci     */
561861847f8eSopenharmony_ci    static createAssetRequest(context: Context, photoType: PhotoType, extension: string, options?: CreateOptions): MediaAssetChangeRequest;
561961847f8eSopenharmony_ci
562061847f8eSopenharmony_ci    /**
562161847f8eSopenharmony_ci     * Delete assets.
562261847f8eSopenharmony_ci     *
562361847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
562461847f8eSopenharmony_ci     * @param { Context } context - Hap context information
562561847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - Assets to delete
562661847f8eSopenharmony_ci     * @returns { Promise<void> } - Returns void
562761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
562861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
562961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
563061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
563161847f8eSopenharmony_ci     * @static
563261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
563361847f8eSopenharmony_ci     * @since 11
563461847f8eSopenharmony_ci     */
563561847f8eSopenharmony_ci    static deleteAssets(context: Context, assets: Array<PhotoAsset>): Promise<void>;
563661847f8eSopenharmony_ci
563761847f8eSopenharmony_ci    /**
563861847f8eSopenharmony_ci     * Delete assets.
563961847f8eSopenharmony_ci     *
564061847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
564161847f8eSopenharmony_ci     * @param { Context } context - Hap context information
564261847f8eSopenharmony_ci     * @param { Array<string> } uriList - Uris of assets to delete
564361847f8eSopenharmony_ci     * @returns { Promise<void> } - Returns void
564461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
564561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
564661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
564761847f8eSopenharmony_ci     * @throws { BusinessError } 14000002 - Invalid asset uri
564861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
564961847f8eSopenharmony_ci     * @static
565061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
565161847f8eSopenharmony_ci     * @since 11
565261847f8eSopenharmony_ci     */
565361847f8eSopenharmony_ci    static deleteAssets(context: Context, uriList: Array<string>): Promise<void>;
565461847f8eSopenharmony_ci
565561847f8eSopenharmony_ci    /**
565661847f8eSopenharmony_ci     * Get the asset.
565761847f8eSopenharmony_ci     *
565861847f8eSopenharmony_ci     * @returns { PhotoAsset } - Returns the asset
565961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
566061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
566161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
566261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
566361847f8eSopenharmony_ci     * @since 11
566461847f8eSopenharmony_ci     */
566561847f8eSopenharmony_ci    /**
566661847f8eSopenharmony_ci     * Get the asset.
566761847f8eSopenharmony_ci     *
566861847f8eSopenharmony_ci     * @returns { PhotoAsset } - Returns the asset
566961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
567061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
567161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
567261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
567361847f8eSopenharmony_ci     * @atomicservice
567461847f8eSopenharmony_ci     * @since 12
567561847f8eSopenharmony_ci     */
567661847f8eSopenharmony_ci    getAsset(): PhotoAsset;
567761847f8eSopenharmony_ci
567861847f8eSopenharmony_ci    /**
567961847f8eSopenharmony_ci     * Set favorite state of the asset.
568061847f8eSopenharmony_ci     *
568161847f8eSopenharmony_ci     * @param { boolean } favoriteState - true: Put the asset into favorite album; false: Remove the asset from favorite album.
568261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
568361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
568461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
568561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
568661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
568761847f8eSopenharmony_ci     * @systemapi
568861847f8eSopenharmony_ci     * @since 11
568961847f8eSopenharmony_ci     */
569061847f8eSopenharmony_ci    setFavorite(favoriteState: boolean): void;
569161847f8eSopenharmony_ci
569261847f8eSopenharmony_ci    /**
569361847f8eSopenharmony_ci     * Set hidden state of the asset.
569461847f8eSopenharmony_ci     *
569561847f8eSopenharmony_ci     * @param { boolean } hiddenState - true: Put the asset into hidden album; false: Recover the asset from hidden album.
569661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
569761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
569861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
569961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
570061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
570161847f8eSopenharmony_ci     * @systemapi
570261847f8eSopenharmony_ci     * @since 11
570361847f8eSopenharmony_ci     */
570461847f8eSopenharmony_ci    setHidden(hiddenState: boolean): void;
570561847f8eSopenharmony_ci
570661847f8eSopenharmony_ci    /**
570761847f8eSopenharmony_ci     * Set user comment of the asset.
570861847f8eSopenharmony_ci     *
570961847f8eSopenharmony_ci     * @param { string } userComment - user comment info
571061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
571161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
571261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
571361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
571461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
571561847f8eSopenharmony_ci     * @systemapi
571661847f8eSopenharmony_ci     * @since 11
571761847f8eSopenharmony_ci     */
571861847f8eSopenharmony_ci    setUserComment(userComment: string): void;
571961847f8eSopenharmony_ci
572061847f8eSopenharmony_ci    /**
572161847f8eSopenharmony_ci     * Set location of the asset.
572261847f8eSopenharmony_ci     *
572361847f8eSopenharmony_ci     * @param { number } longitude - longitude value of the asset
572461847f8eSopenharmony_ci     * @param { number } latitude - latitude value of the asset
572561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
572661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
572761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
572861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
572961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
573061847f8eSopenharmony_ci     * @systemapi
573161847f8eSopenharmony_ci     * @since 11
573261847f8eSopenharmony_ci     */
573361847f8eSopenharmony_ci    setLocation(longitude: number, latitude: number): void;
573461847f8eSopenharmony_ci
573561847f8eSopenharmony_ci    /**
573661847f8eSopenharmony_ci     * Set title of the asset.
573761847f8eSopenharmony_ci     *
573861847f8eSopenharmony_ci     * @param { string } title - the new title of the asset
573961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
574061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
574161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
574261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
574361847f8eSopenharmony_ci     * @since 11
574461847f8eSopenharmony_ci     */
574561847f8eSopenharmony_ci    /**
574661847f8eSopenharmony_ci     * Set title of the asset.
574761847f8eSopenharmony_ci     *
574861847f8eSopenharmony_ci     * @param { string } title - the new title of the asset
574961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
575061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
575161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
575261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
575361847f8eSopenharmony_ci     * @atomicservice
575461847f8eSopenharmony_ci     * @since 12
575561847f8eSopenharmony_ci     */
575661847f8eSopenharmony_ci    setTitle(title: string): void;
575761847f8eSopenharmony_ci
575861847f8eSopenharmony_ci    /**
575961847f8eSopenharmony_ci     * Save edit data.
576061847f8eSopenharmony_ci     *
576161847f8eSopenharmony_ci     * @param { MediaAssetEditData } editData - edit data of the asset
576261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
576361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
576461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
576561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
576661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
576761847f8eSopenharmony_ci     * @systemapi
576861847f8eSopenharmony_ci     * @since 11
576961847f8eSopenharmony_ci     */
577061847f8eSopenharmony_ci    setEditData(editData: MediaAssetEditData): void;
577161847f8eSopenharmony_ci
577261847f8eSopenharmony_ci    /**
577361847f8eSopenharmony_ci     * Get write cache handler.
577461847f8eSopenharmony_ci     *
577561847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
577661847f8eSopenharmony_ci     * @returns { Promise<number> } Returns the write cache handler
577761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
577861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
577961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
578061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
578161847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
578261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
578361847f8eSopenharmony_ci     * @since 11
578461847f8eSopenharmony_ci     */
578561847f8eSopenharmony_ci    getWriteCacheHandler(): Promise<number>;
578661847f8eSopenharmony_ci
578761847f8eSopenharmony_ci    /**
578861847f8eSopenharmony_ci     * Add resource of the asset using file uri.
578961847f8eSopenharmony_ci     *
579061847f8eSopenharmony_ci     * @param { ResourceType } type - Resource type
579161847f8eSopenharmony_ci     * @param { string } fileUri - File uri
579261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
579361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
579461847f8eSopenharmony_ci     * @throws { BusinessError } 13900002 - No such file
579561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
579661847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
579761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
579861847f8eSopenharmony_ci     * @atomicservice
579961847f8eSopenharmony_ci     * @since 11
580061847f8eSopenharmony_ci     */
580161847f8eSopenharmony_ci    addResource(type: ResourceType, fileUri: string): void;
580261847f8eSopenharmony_ci
580361847f8eSopenharmony_ci    /**
580461847f8eSopenharmony_ci     * Add resource of the asset using ArrayBuffer.
580561847f8eSopenharmony_ci     *
580661847f8eSopenharmony_ci     * @param { ResourceType } type - Resource type
580761847f8eSopenharmony_ci     * @param { ArrayBuffer } data - Data buffer to add
580861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
580961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
581061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
581161847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
581261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
581361847f8eSopenharmony_ci     * @atomicservice
581461847f8eSopenharmony_ci     * @since 11
581561847f8eSopenharmony_ci     */
581661847f8eSopenharmony_ci    addResource(type: ResourceType, data: ArrayBuffer): void;
581761847f8eSopenharmony_ci
581861847f8eSopenharmony_ci    /**
581961847f8eSopenharmony_ci     * Add resource of the asset using PhotoProxy.
582061847f8eSopenharmony_ci     *
582161847f8eSopenharmony_ci     * @param { ResourceType } type - Resource type
582261847f8eSopenharmony_ci     * @param { PhotoProxy } proxy - Photo proxy used to add resource
582361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
582461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
582561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
582661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
582761847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
582861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
582961847f8eSopenharmony_ci     * @systemapi
583061847f8eSopenharmony_ci     * @since 11
583161847f8eSopenharmony_ci     */
583261847f8eSopenharmony_ci    addResource(type: ResourceType, proxy: PhotoProxy): void;
583361847f8eSopenharmony_ci
583461847f8eSopenharmony_ci    /**
583561847f8eSopenharmony_ci     * Set camera shot key.
583661847f8eSopenharmony_ci     *
583761847f8eSopenharmony_ci     * @param { string } cameraShotKey - Camera shot key of the asset
583861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
583961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
584061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
584161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
584261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
584361847f8eSopenharmony_ci     * @systemapi
584461847f8eSopenharmony_ci     * @since 12
584561847f8eSopenharmony_ci     */
584661847f8eSopenharmony_ci    setCameraShotKey(cameraShotKey: string): void;
584761847f8eSopenharmony_ci
584861847f8eSopenharmony_ci    /**
584961847f8eSopenharmony_ci     * Save the photo asset captured by camera.
585061847f8eSopenharmony_ci     *
585161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
585261847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
585361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
585461847f8eSopenharmony_ci     * @since 12
585561847f8eSopenharmony_ci     */
585661847f8eSopenharmony_ci    saveCameraPhoto(): void;
585761847f8eSopenharmony_ci
585861847f8eSopenharmony_ci    /**
585961847f8eSopenharmony_ci     * Save the photo asset captured by camera with imageFileType.
586061847f8eSopenharmony_ci     *
586161847f8eSopenharmony_ci     * @param { ImageFileType } imageFileType - Image file type
586261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
586361847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
586461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
586561847f8eSopenharmony_ci     * @since 13
586661847f8eSopenharmony_ci     */
586761847f8eSopenharmony_ci    saveCameraPhoto(imageFileType: ImageFileType): void;
586861847f8eSopenharmony_ci
586961847f8eSopenharmony_ci    /**
587061847f8eSopenharmony_ci     * Discard the photo asset captured by camera.
587161847f8eSopenharmony_ci     *
587261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
587361847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
587461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
587561847f8eSopenharmony_ci     * @since 12
587661847f8eSopenharmony_ci     */
587761847f8eSopenharmony_ci    discardCameraPhoto(): void;
587861847f8eSopenharmony_ci
587961847f8eSopenharmony_ci    /**
588061847f8eSopenharmony_ci     * Set effect mode of moving photo.
588161847f8eSopenharmony_ci     *
588261847f8eSopenharmony_ci     * @param { MovingPhotoEffectMode } mode - the new effect mode of the moving photo
588361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
588461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
588561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
588661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
588761847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
588861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
588961847f8eSopenharmony_ci     * @systemapi
589061847f8eSopenharmony_ci     * @since 12
589161847f8eSopenharmony_ci     */
589261847f8eSopenharmony_ci    setEffectMode(mode: MovingPhotoEffectMode): void;
589361847f8eSopenharmony_ci
589461847f8eSopenharmony_ci    /**
589561847f8eSopenharmony_ci     * Set orientation of the asset.
589661847f8eSopenharmony_ci     *
589761847f8eSopenharmony_ci     * @param { number } orientation - the new orientation of the asset
589861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
589961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
590061847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
590161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
590261847f8eSopenharmony_ci     * @since 13
590361847f8eSopenharmony_ci     */
590461847f8eSopenharmony_ci    setOrientation(orientation: number): void;
590561847f8eSopenharmony_ci
590661847f8eSopenharmony_ci    /**
590761847f8eSopenharmony_ci     * Set video enhancement attribute
590861847f8eSopenharmony_ci     * 
590961847f8eSopenharmony_ci     * @param { VideoEnhancementType } videoEnhancementType - The type of video enhancement
591061847f8eSopenharmony_ci     * @param { string } photoId - The photo id of video
591161847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
591261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
591361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
591461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
591561847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
591661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
591761847f8eSopenharmony_ci     * @systemapi
591861847f8eSopenharmony_ci     * @since 13
591961847f8eSopenharmony_ci    */
592061847f8eSopenharmony_ci    setVideoEnhancementAttr(videoEnhancementType: VideoEnhancementType, photoId: string): void;
592161847f8eSopenharmony_ci
592261847f8eSopenharmony_ci    /**
592361847f8eSopenharmony_ci     * Set watermark type of the asset.
592461847f8eSopenharmony_ci     *
592561847f8eSopenharmony_ci     * @param { WatermarkType } watermarkType - the new watermark type of the asset
592661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
592761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
592861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
592961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
593061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
593161847f8eSopenharmony_ci     * @systemapi
593261847f8eSopenharmony_ci     * @since 13
593361847f8eSopenharmony_ci     */
593461847f8eSopenharmony_ci    setSupportedWatermarkType(watermarkType: WatermarkType): void;
593561847f8eSopenharmony_ci  }
593661847f8eSopenharmony_ci
593761847f8eSopenharmony_ci  /**
593861847f8eSopenharmony_ci   * Defines the class of media assets change request.
593961847f8eSopenharmony_ci   *
594061847f8eSopenharmony_ci   * @implements MediaChangeRequest
594161847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
594261847f8eSopenharmony_ci   * @systemapi
594361847f8eSopenharmony_ci   * @since 11
594461847f8eSopenharmony_ci   */
594561847f8eSopenharmony_ci  class MediaAssetsChangeRequest implements MediaChangeRequest {
594661847f8eSopenharmony_ci    /**
594761847f8eSopenharmony_ci     * The constructor to create a MediaAssetsChangeRequest instance.
594861847f8eSopenharmony_ci     *
594961847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - Specify which assets to change
595061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
595161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
595261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
595361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
595461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
595561847f8eSopenharmony_ci     * @systemapi
595661847f8eSopenharmony_ci     * @since 11
595761847f8eSopenharmony_ci     */
595861847f8eSopenharmony_ci    constructor(assets: Array<PhotoAsset>);
595961847f8eSopenharmony_ci
596061847f8eSopenharmony_ci    /**
596161847f8eSopenharmony_ci     * Set favorite state of the assets.
596261847f8eSopenharmony_ci     *
596361847f8eSopenharmony_ci     * @param { boolean } favoriteState - true: Put the assets into favorite album; false: Remove the assets from favorite album.
596461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
596561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
596661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
596761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
596861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
596961847f8eSopenharmony_ci     * @systemapi
597061847f8eSopenharmony_ci     * @since 11
597161847f8eSopenharmony_ci     */
597261847f8eSopenharmony_ci    setFavorite(favoriteState: boolean): void;
597361847f8eSopenharmony_ci
597461847f8eSopenharmony_ci    /**
597561847f8eSopenharmony_ci     * Set hidden state of the assets.
597661847f8eSopenharmony_ci     *
597761847f8eSopenharmony_ci     * @param { boolean } hiddenState - true: Put the assets into hidden album; false: Recover the assets from hidden album.
597861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
597961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
598061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
598161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
598261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
598361847f8eSopenharmony_ci     * @systemapi
598461847f8eSopenharmony_ci     * @since 11
598561847f8eSopenharmony_ci     */
598661847f8eSopenharmony_ci    setHidden(hiddenState: boolean): void;
598761847f8eSopenharmony_ci
598861847f8eSopenharmony_ci    /**
598961847f8eSopenharmony_ci     * Set user comment of the assets.
599061847f8eSopenharmony_ci     *
599161847f8eSopenharmony_ci     * @param { string } userComment - user comment info
599261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
599361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
599461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
599561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
599661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
599761847f8eSopenharmony_ci     * @systemapi
599861847f8eSopenharmony_ci     * @since 11
599961847f8eSopenharmony_ci     */
600061847f8eSopenharmony_ci    setUserComment(userComment: string): void;
600161847f8eSopenharmony_ci  }
600261847f8eSopenharmony_ci
600361847f8eSopenharmony_ci  /**
600461847f8eSopenharmony_ci   * Defines the class of media album change request.
600561847f8eSopenharmony_ci   *
600661847f8eSopenharmony_ci   * @implements MediaChangeRequest
600761847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
600861847f8eSopenharmony_ci   * @since 11
600961847f8eSopenharmony_ci   */
601061847f8eSopenharmony_ci  class MediaAlbumChangeRequest implements MediaChangeRequest {
601161847f8eSopenharmony_ci    /**
601261847f8eSopenharmony_ci     * The constructor to create a MediaAlbumChangeRequest instance.
601361847f8eSopenharmony_ci     *
601461847f8eSopenharmony_ci     * @param { Album } album - Specify which album to change
601561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
601661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
601761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
601861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
601961847f8eSopenharmony_ci     * @since 11
602061847f8eSopenharmony_ci     */
602161847f8eSopenharmony_ci    constructor(album: Album);
602261847f8eSopenharmony_ci
602361847f8eSopenharmony_ci    /**
602461847f8eSopenharmony_ci     * Create album change request.
602561847f8eSopenharmony_ci     *
602661847f8eSopenharmony_ci     * @param { Context } context - Hap context information
602761847f8eSopenharmony_ci     * @param { string } name - Album name
602861847f8eSopenharmony_ci     * @returns { MediaAlbumChangeRequest } - Returns a MediaAlbumChangeRequest instance
602961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
603061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
603161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
603261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
603361847f8eSopenharmony_ci     * @static
603461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
603561847f8eSopenharmony_ci     * @systemapi
603661847f8eSopenharmony_ci     * @since 11
603761847f8eSopenharmony_ci     */
603861847f8eSopenharmony_ci    static createAlbumRequest(context: Context, name: string): MediaAlbumChangeRequest;
603961847f8eSopenharmony_ci
604061847f8eSopenharmony_ci    /**
604161847f8eSopenharmony_ci     * Delete albums.
604261847f8eSopenharmony_ci     *
604361847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
604461847f8eSopenharmony_ci     * @param { Context } context - Hap context information
604561847f8eSopenharmony_ci     * @param { Array<Album> } albums - Albums to delete
604661847f8eSopenharmony_ci     * @returns { Promise<void> } - Returns void
604761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
604861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
604961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
605061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
605161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
605261847f8eSopenharmony_ci     * @static
605361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
605461847f8eSopenharmony_ci     * @systemapi
605561847f8eSopenharmony_ci     * @since 11
605661847f8eSopenharmony_ci     */
605761847f8eSopenharmony_ci    static deleteAlbums(context: Context, albums: Array<Album>): Promise<void>;
605861847f8eSopenharmony_ci
605961847f8eSopenharmony_ci    /**
606061847f8eSopenharmony_ci     * Get the album.
606161847f8eSopenharmony_ci     *
606261847f8eSopenharmony_ci     * @returns { Album } - Returns the album
606361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
606461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
606561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
606661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
606761847f8eSopenharmony_ci     * @since 11
606861847f8eSopenharmony_ci     */
606961847f8eSopenharmony_ci    getAlbum(): Album;
607061847f8eSopenharmony_ci
607161847f8eSopenharmony_ci    /**
607261847f8eSopenharmony_ci     * Set cover uri of the album.
607361847f8eSopenharmony_ci     *
607461847f8eSopenharmony_ci     * @param { string } coverUri - the asset uri to set
607561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
607661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
607761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
607861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
607961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
608061847f8eSopenharmony_ci     * @systemapi
608161847f8eSopenharmony_ci     * @since 11
608261847f8eSopenharmony_ci     */
608361847f8eSopenharmony_ci    setCoverUri(coverUri: string): void;
608461847f8eSopenharmony_ci
608561847f8eSopenharmony_ci    /**
608661847f8eSopenharmony_ci     * Set name of the album.
608761847f8eSopenharmony_ci     *
608861847f8eSopenharmony_ci     * @param { string } name - the new name to set
608961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
609061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
609161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
609261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
609361847f8eSopenharmony_ci     * @since 11
609461847f8eSopenharmony_ci     */
609561847f8eSopenharmony_ci    setAlbumName(name: string): void;
609661847f8eSopenharmony_ci
609761847f8eSopenharmony_ci    /**
609861847f8eSopenharmony_ci     * Add assets into the album.
609961847f8eSopenharmony_ci     *
610061847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - the assets to add
610161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
610261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
610361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
610461847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
610561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
610661847f8eSopenharmony_ci     * @since 11
610761847f8eSopenharmony_ci     */
610861847f8eSopenharmony_ci    addAssets(assets: Array<PhotoAsset>): void;
610961847f8eSopenharmony_ci
611061847f8eSopenharmony_ci    /**
611161847f8eSopenharmony_ci     * Remove assets from the album.
611261847f8eSopenharmony_ci     *
611361847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - the assets to be removed
611461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
611561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
611661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
611761847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
611861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
611961847f8eSopenharmony_ci     * @since 11
612061847f8eSopenharmony_ci     */
612161847f8eSopenharmony_ci    removeAssets(assets: Array<PhotoAsset>): void;
612261847f8eSopenharmony_ci
612361847f8eSopenharmony_ci    /**
612461847f8eSopenharmony_ci     * Move assets to the target album.
612561847f8eSopenharmony_ci     *
612661847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - the assets to move
612761847f8eSopenharmony_ci     * @param { Album } targetAlbum - target album
612861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
612961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
613061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
613161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
613261847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
613361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
613461847f8eSopenharmony_ci     * @systemapi
613561847f8eSopenharmony_ci     * @since 11
613661847f8eSopenharmony_ci     */
613761847f8eSopenharmony_ci    moveAssets(assets: Array<PhotoAsset>, targetAlbum: Album): void;
613861847f8eSopenharmony_ci
613961847f8eSopenharmony_ci    /**
614061847f8eSopenharmony_ci     * Recover assets from the trash album.
614161847f8eSopenharmony_ci     *
614261847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - the assets to recover
614361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
614461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
614561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
614661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
614761847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
614861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
614961847f8eSopenharmony_ci     * @systemapi
615061847f8eSopenharmony_ci     * @since 11
615161847f8eSopenharmony_ci     */
615261847f8eSopenharmony_ci    recoverAssets(assets: Array<PhotoAsset>): void;
615361847f8eSopenharmony_ci
615461847f8eSopenharmony_ci    /**
615561847f8eSopenharmony_ci     * Delete assets permanently from the trash album.
615661847f8eSopenharmony_ci     *
615761847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - the assets to be deleted permanently
615861847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
615961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
616061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
616161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
616261847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
616361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
616461847f8eSopenharmony_ci     * @systemapi
616561847f8eSopenharmony_ci     * @since 11
616661847f8eSopenharmony_ci     */
616761847f8eSopenharmony_ci    deleteAssets(assets: Array<PhotoAsset>): void;
616861847f8eSopenharmony_ci
616961847f8eSopenharmony_ci    /**
617061847f8eSopenharmony_ci     * Set portrait album to me
617161847f8eSopenharmony_ci     *
617261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
617361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
617461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
617561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
617661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
617761847f8eSopenharmony_ci     * @systemapi
617861847f8eSopenharmony_ci     * @since 11
617961847f8eSopenharmony_ci     */
618061847f8eSopenharmony_ci    setIsMe(): void;
618161847f8eSopenharmony_ci
618261847f8eSopenharmony_ci    /**
618361847f8eSopenharmony_ci     * Set display level of the portrait album
618461847f8eSopenharmony_ci     *
618561847f8eSopenharmony_ci     * @param { number } displayLevel - The level of display interface for portrait albums, such as homepage and more pages
618661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
618761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
618861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
618961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
619061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
619161847f8eSopenharmony_ci     * @systemapi
619261847f8eSopenharmony_ci     * @since 11
619361847f8eSopenharmony_ci     */
619461847f8eSopenharmony_ci    setDisplayLevel(displayLevel: number): void;
619561847f8eSopenharmony_ci
619661847f8eSopenharmony_ci    /**
619761847f8eSopenharmony_ci     * Remove assets from the smart album
619861847f8eSopenharmony_ci     *
619961847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } assets - List of assets that need to be removed
620061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
620161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
620261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
620361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
620461847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
620561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
620661847f8eSopenharmony_ci     * @systemapi
620761847f8eSopenharmony_ci     * @since 11
620861847f8eSopenharmony_ci     */
620961847f8eSopenharmony_ci    dismissAssets(assets: Array<PhotoAsset>): void;
621061847f8eSopenharmony_ci
621161847f8eSopenharmony_ci    /**
621261847f8eSopenharmony_ci     * Merge two portrait albums
621361847f8eSopenharmony_ci     *
621461847f8eSopenharmony_ci     * @param { Album } target - Albums that need to be merged
621561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
621661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
621761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
621861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
621961847f8eSopenharmony_ci     * @throws { BusinessError } 14000016 - Operation Not Support
622061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
622161847f8eSopenharmony_ci     * @systemapi
622261847f8eSopenharmony_ci     * @since 11
622361847f8eSopenharmony_ci     */
622461847f8eSopenharmony_ci    mergeAlbum(target: Album): void;
622561847f8eSopenharmony_ci
622661847f8eSopenharmony_ci    /**
622761847f8eSopenharmony_ci     * Place the current album in front of the target album.
622861847f8eSopenharmony_ci     *
622961847f8eSopenharmony_ci     * @param { Album } album - Specify the target album to be placed before
623061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
623161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
623261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
623361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
623461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
623561847f8eSopenharmony_ci     * @systemapi
623661847f8eSopenharmony_ci     * @since 11
623761847f8eSopenharmony_ci     */
623861847f8eSopenharmony_ci    placeBefore(album: Album): void;
623961847f8eSopenharmony_ci
624061847f8eSopenharmony_ci    /**
624161847f8eSopenharmony_ci     * Dismiss group photo album.
624261847f8eSopenharmony_ci     *
624361847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
624461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
624561847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
624661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
624761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
624861847f8eSopenharmony_ci     * @systemapi
624961847f8eSopenharmony_ci     * @since 13
625061847f8eSopenharmony_ci     */
625161847f8eSopenharmony_ci    dismiss(): void;
625261847f8eSopenharmony_ci  }
625361847f8eSopenharmony_ci
625461847f8eSopenharmony_ci  /**
625561847f8eSopenharmony_ci   * Defines the shared photo asset
625661847f8eSopenharmony_ci   *
625761847f8eSopenharmony_ci   * @interface SharedPhotoAsset
625861847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
625961847f8eSopenharmony_ci   * @systemapi
626061847f8eSopenharmony_ci   * @since 13
626161847f8eSopenharmony_ci   */
626261847f8eSopenharmony_ci  interface SharedPhotoAsset {
626361847f8eSopenharmony_ci    /**
626461847f8eSopenharmony_ci     * File id of photo asset
626561847f8eSopenharmony_ci     *
626661847f8eSopenharmony_ci     * @type { number }
626761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
626861847f8eSopenharmony_ci     * @systemapi
626961847f8eSopenharmony_ci     * @since 13
627061847f8eSopenharmony_ci     */
627161847f8eSopenharmony_ci    fileId: number;
627261847f8eSopenharmony_ci    /**
627361847f8eSopenharmony_ci     * URI of photo asset
627461847f8eSopenharmony_ci     *
627561847f8eSopenharmony_ci     * @type { string }
627661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
627761847f8eSopenharmony_ci     * @systemapi
627861847f8eSopenharmony_ci     * @since 13
627961847f8eSopenharmony_ci     */
628061847f8eSopenharmony_ci    uri: string;
628161847f8eSopenharmony_ci    /**
628261847f8eSopenharmony_ci     * Path data of photo asset
628361847f8eSopenharmony_ci     *
628461847f8eSopenharmony_ci     * @type { string }
628561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
628661847f8eSopenharmony_ci     * @systemapi
628761847f8eSopenharmony_ci     * @since 13
628861847f8eSopenharmony_ci     */
628961847f8eSopenharmony_ci    data: string;
629061847f8eSopenharmony_ci    /**
629161847f8eSopenharmony_ci     * Media type of photo asset
629261847f8eSopenharmony_ci     *
629361847f8eSopenharmony_ci     * @type { PhotoType }
629461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
629561847f8eSopenharmony_ci     * @systemapi
629661847f8eSopenharmony_ci     * @since 13
629761847f8eSopenharmony_ci     */
629861847f8eSopenharmony_ci    mediaType: PhotoType;
629961847f8eSopenharmony_ci    /**
630061847f8eSopenharmony_ci     * Display name of photo asset
630161847f8eSopenharmony_ci     *
630261847f8eSopenharmony_ci     * @type { string }
630361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
630461847f8eSopenharmony_ci     * @systemapi
630561847f8eSopenharmony_ci     * @since 13
630661847f8eSopenharmony_ci     */
630761847f8eSopenharmony_ci    displayName: string;
630861847f8eSopenharmony_ci    /**
630961847f8eSopenharmony_ci     * Size of photo asset
631061847f8eSopenharmony_ci     *
631161847f8eSopenharmony_ci     * @type { number }
631261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
631361847f8eSopenharmony_ci     * @systemapi
631461847f8eSopenharmony_ci     * @since 13
631561847f8eSopenharmony_ci     */
631661847f8eSopenharmony_ci    size: number;
631761847f8eSopenharmony_ci    /**
631861847f8eSopenharmony_ci     * Added date of photo asset
631961847f8eSopenharmony_ci     *
632061847f8eSopenharmony_ci     * @type { number }
632161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
632261847f8eSopenharmony_ci     * @systemapi
632361847f8eSopenharmony_ci     * @since 13
632461847f8eSopenharmony_ci     */
632561847f8eSopenharmony_ci    dateAdded: number;
632661847f8eSopenharmony_ci    /**
632761847f8eSopenharmony_ci     * Modify date of photo asset
632861847f8eSopenharmony_ci     *
632961847f8eSopenharmony_ci     * @type { number }
633061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
633161847f8eSopenharmony_ci     * @systemapi
633261847f8eSopenharmony_ci     * @since 13
633361847f8eSopenharmony_ci     */
633461847f8eSopenharmony_ci    dateModified: number;
633561847f8eSopenharmony_ci    /**
633661847f8eSopenharmony_ci     * Duration of video photo asset
633761847f8eSopenharmony_ci     *
633861847f8eSopenharmony_ci     * @type { number }
633961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
634061847f8eSopenharmony_ci     * @systemapi
634161847f8eSopenharmony_ci     * @since 13
634261847f8eSopenharmony_ci     */
634361847f8eSopenharmony_ci    duration: number;
634461847f8eSopenharmony_ci    /**
634561847f8eSopenharmony_ci     * Width of photo asset
634661847f8eSopenharmony_ci     *
634761847f8eSopenharmony_ci     * @type { number }
634861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
634961847f8eSopenharmony_ci     * @systemapi
635061847f8eSopenharmony_ci     * @since 13
635161847f8eSopenharmony_ci     */
635261847f8eSopenharmony_ci    width: number;
635361847f8eSopenharmony_ci    /**
635461847f8eSopenharmony_ci     * Height of photo asset
635561847f8eSopenharmony_ci     *
635661847f8eSopenharmony_ci     * @type { number }
635761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
635861847f8eSopenharmony_ci     * @systemapi
635961847f8eSopenharmony_ci     * @since 13
636061847f8eSopenharmony_ci     */
636161847f8eSopenharmony_ci    height: number;
636261847f8eSopenharmony_ci    /**
636361847f8eSopenharmony_ci     * DateTaken of photo asset
636461847f8eSopenharmony_ci     *
636561847f8eSopenharmony_ci     * @type { number }
636661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
636761847f8eSopenharmony_ci     * @systemapi
636861847f8eSopenharmony_ci     * @since 13
636961847f8eSopenharmony_ci     */
637061847f8eSopenharmony_ci    dateTaken: number;
637161847f8eSopenharmony_ci    /**
637261847f8eSopenharmony_ci     * Orientation of photo asset
637361847f8eSopenharmony_ci     *
637461847f8eSopenharmony_ci     * @type { number }
637561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
637661847f8eSopenharmony_ci     * @systemapi
637761847f8eSopenharmony_ci     * @since 13
637861847f8eSopenharmony_ci     */
637961847f8eSopenharmony_ci    orientation: number;
638061847f8eSopenharmony_ci    /**
638161847f8eSopenharmony_ci     * Favorite state of photo asset
638261847f8eSopenharmony_ci     *
638361847f8eSopenharmony_ci     * @type { boolean }
638461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
638561847f8eSopenharmony_ci     * @systemapi
638661847f8eSopenharmony_ci     * @since 13
638761847f8eSopenharmony_ci     */
638861847f8eSopenharmony_ci    isFavorite: boolean;
638961847f8eSopenharmony_ci    /**
639061847f8eSopenharmony_ci     * Title of photo asset
639161847f8eSopenharmony_ci     *
639261847f8eSopenharmony_ci     * @type { string }
639361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
639461847f8eSopenharmony_ci     * @systemapi
639561847f8eSopenharmony_ci     * @since 13
639661847f8eSopenharmony_ci     */
639761847f8eSopenharmony_ci    title: string;
639861847f8eSopenharmony_ci    /**
639961847f8eSopenharmony_ci     * Position of photo asset
640061847f8eSopenharmony_ci     *
640161847f8eSopenharmony_ci     * @type { PositionType }
640261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
640361847f8eSopenharmony_ci     * @systemapi
640461847f8eSopenharmony_ci     * @since 13
640561847f8eSopenharmony_ci     */
640661847f8eSopenharmony_ci    position: PositionType;
640761847f8eSopenharmony_ci    /**
640861847f8eSopenharmony_ci     * Trashed date of photo asset
640961847f8eSopenharmony_ci     *
641061847f8eSopenharmony_ci     * @type { number }
641161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
641261847f8eSopenharmony_ci     * @systemapi
641361847f8eSopenharmony_ci     * @since 13
641461847f8eSopenharmony_ci     */
641561847f8eSopenharmony_ci    dateTrashed: number;
641661847f8eSopenharmony_ci    /**
641761847f8eSopenharmony_ci     * Hidden state of photo asset
641861847f8eSopenharmony_ci     *
641961847f8eSopenharmony_ci     * @type { boolean }
642061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
642161847f8eSopenharmony_ci     * @systemapi
642261847f8eSopenharmony_ci     * @since 13
642361847f8eSopenharmony_ci     */
642461847f8eSopenharmony_ci    hidden: boolean;
642561847f8eSopenharmony_ci    /**
642661847f8eSopenharmony_ci     * User comment info of photo asset
642761847f8eSopenharmony_ci     *
642861847f8eSopenharmony_ci     * @type { string }
642961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
643061847f8eSopenharmony_ci     * @systemapi
643161847f8eSopenharmony_ci     * @since 13
643261847f8eSopenharmony_ci     */
643361847f8eSopenharmony_ci    userComment: string;
643461847f8eSopenharmony_ci    /**
643561847f8eSopenharmony_ci     * Camera shot key of photo asset
643661847f8eSopenharmony_ci     *
643761847f8eSopenharmony_ci     * @type { string }
643861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
643961847f8eSopenharmony_ci     * @systemapi
644061847f8eSopenharmony_ci     * @since 13
644161847f8eSopenharmony_ci     */
644261847f8eSopenharmony_ci    cameraShotKey: string;
644361847f8eSopenharmony_ci    /**
644461847f8eSopenharmony_ci     * The year of the file created
644561847f8eSopenharmony_ci     *
644661847f8eSopenharmony_ci     * @type { string }
644761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
644861847f8eSopenharmony_ci     * @systemapi
644961847f8eSopenharmony_ci     * @since 13
645061847f8eSopenharmony_ci     */
645161847f8eSopenharmony_ci    dateYear: string;
645261847f8eSopenharmony_ci    /**
645361847f8eSopenharmony_ci     * The month of the file created
645461847f8eSopenharmony_ci     *
645561847f8eSopenharmony_ci     * @type { string }
645661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
645761847f8eSopenharmony_ci     * @systemapi
645861847f8eSopenharmony_ci     * @since 13
645961847f8eSopenharmony_ci     */
646061847f8eSopenharmony_ci    dateMonth: string;
646161847f8eSopenharmony_ci    /**
646261847f8eSopenharmony_ci     * The day of the file created
646361847f8eSopenharmony_ci     *
646461847f8eSopenharmony_ci     * @type { string }
646561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
646661847f8eSopenharmony_ci     * @systemapi
646761847f8eSopenharmony_ci     * @since 13
646861847f8eSopenharmony_ci     */
646961847f8eSopenharmony_ci    dateDay: string;
647061847f8eSopenharmony_ci    /**
647161847f8eSopenharmony_ci     * Pending state of the asset, true means asset is pending
647261847f8eSopenharmony_ci     *
647361847f8eSopenharmony_ci     * @type { boolean }
647461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
647561847f8eSopenharmony_ci     * @systemapi
647661847f8eSopenharmony_ci     * @since 13
647761847f8eSopenharmony_ci     */
647861847f8eSopenharmony_ci    pending: boolean;
647961847f8eSopenharmony_ci    /**
648061847f8eSopenharmony_ci     * Added date of photo asset in milliseconds
648161847f8eSopenharmony_ci     *
648261847f8eSopenharmony_ci     * @type { number }
648361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
648461847f8eSopenharmony_ci     * @systemapi
648561847f8eSopenharmony_ci     * @since 13
648661847f8eSopenharmony_ci     */
648761847f8eSopenharmony_ci    dateAddedMs: number;
648861847f8eSopenharmony_ci    /**
648961847f8eSopenharmony_ci     * Modified time of the asset in milliseconds
649061847f8eSopenharmony_ci     *
649161847f8eSopenharmony_ci     * @type { number }
649261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
649361847f8eSopenharmony_ci     * @systemapi
649461847f8eSopenharmony_ci     * @since 13
649561847f8eSopenharmony_ci     */
649661847f8eSopenharmony_ci    dateModifiedMs: number;
649761847f8eSopenharmony_ci    /**
649861847f8eSopenharmony_ci     * Trashed time of the asset in milliseconds
649961847f8eSopenharmony_ci     *
650061847f8eSopenharmony_ci     * @type { number }
650161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
650261847f8eSopenharmony_ci     * @systemapi
650361847f8eSopenharmony_ci     * @since 13
650461847f8eSopenharmony_ci     */
650561847f8eSopenharmony_ci    dateTrashedMs: number;
650661847f8eSopenharmony_ci    /**
650761847f8eSopenharmony_ci     * Subtype of photo asset
650861847f8eSopenharmony_ci     *
650961847f8eSopenharmony_ci     * @type { PhotoSubtype }
651061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
651161847f8eSopenharmony_ci     * @systemapi
651261847f8eSopenharmony_ci     * @since 13
651361847f8eSopenharmony_ci     */
651461847f8eSopenharmony_ci    subtype: PhotoSubtype;
651561847f8eSopenharmony_ci    /**
651661847f8eSopenharmony_ci     * Effect mode of moving photo
651761847f8eSopenharmony_ci     * 
651861847f8eSopenharmony_ci     * @type { MovingPhotoEffectMode }
651961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
652061847f8eSopenharmony_ci     * @systemapi
652161847f8eSopenharmony_ci     * @since 13
652261847f8eSopenharmony_ci     */
652361847f8eSopenharmony_ci    movingPhotoEffectMode: MovingPhotoEffectMode;
652461847f8eSopenharmony_ci    /**
652561847f8eSopenharmony_ci     * Dynamic range type of the asset
652661847f8eSopenharmony_ci     *
652761847f8eSopenharmony_ci     * @type { DynamicRangeType }
652861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
652961847f8eSopenharmony_ci     * @systemapi
653061847f8eSopenharmony_ci     * @since 13
653161847f8eSopenharmony_ci     */
653261847f8eSopenharmony_ci    dynamicRangeType: DynamicRangeType;
653361847f8eSopenharmony_ci    /**
653461847f8eSopenharmony_ci     * Ready state of thumbnail
653561847f8eSopenharmony_ci     *
653661847f8eSopenharmony_ci     * @type { boolean }
653761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
653861847f8eSopenharmony_ci     * @systemapi
653961847f8eSopenharmony_ci     * @since 13
654061847f8eSopenharmony_ci     */
654161847f8eSopenharmony_ci    thumbnailReady: boolean;
654261847f8eSopenharmony_ci    /**
654361847f8eSopenharmony_ci     * Width and height information of lcd picture
654461847f8eSopenharmony_ci     *
654561847f8eSopenharmony_ci     * @type { string }
654661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
654761847f8eSopenharmony_ci     * @systemapi
654861847f8eSopenharmony_ci     * @since 13
654961847f8eSopenharmony_ci     */
655061847f8eSopenharmony_ci    lcdSize: string;
655161847f8eSopenharmony_ci    /**
655261847f8eSopenharmony_ci     * Width and height information of thumbnail picture
655361847f8eSopenharmony_ci     *
655461847f8eSopenharmony_ci     * @type { string }
655561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
655661847f8eSopenharmony_ci     * @systemapi
655761847f8eSopenharmony_ci     * @since 13
655861847f8eSopenharmony_ci     */
655961847f8eSopenharmony_ci    thmSize: string;
656061847f8eSopenharmony_ci  }
656161847f8eSopenharmony_ci
656261847f8eSopenharmony_ci  /**
656361847f8eSopenharmony_ci   * Defines the moving photo.
656461847f8eSopenharmony_ci   *
656561847f8eSopenharmony_ci   * @interface MovingPhoto
656661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
656761847f8eSopenharmony_ci   * @atomicservice
656861847f8eSopenharmony_ci   * @since 12
656961847f8eSopenharmony_ci   */
657061847f8eSopenharmony_ci  interface MovingPhoto {
657161847f8eSopenharmony_ci    /**
657261847f8eSopenharmony_ci     * Request the image and video content of the moving photo and write to destination uri.
657361847f8eSopenharmony_ci     *
657461847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
657561847f8eSopenharmony_ci     * @param { string } imageFileUri - Destination uri of the image content to be written
657661847f8eSopenharmony_ci     * @param { string } videoFileUri - Destination uri of the video content to be written
657761847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
657861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
657961847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
658061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
658161847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
658261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
658361847f8eSopenharmony_ci     * @atomicservice
658461847f8eSopenharmony_ci     * @since 12
658561847f8eSopenharmony_ci     */
658661847f8eSopenharmony_ci    requestContent(imageFileUri: string, videoFileUri: string): Promise<void>;
658761847f8eSopenharmony_ci
658861847f8eSopenharmony_ci    /**
658961847f8eSopenharmony_ci     * Request content of the moving photo for the given resource type and write to destination uri.
659061847f8eSopenharmony_ci     *
659161847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
659261847f8eSopenharmony_ci     * @param { ResourceType } resourceType - The resource type of the content to request
659361847f8eSopenharmony_ci     * @param { string } fileUri - Destination uri of the content to be written
659461847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
659561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
659661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
659761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
659861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
659961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
660061847f8eSopenharmony_ci     * @atomicservice
660161847f8eSopenharmony_ci     * @since 12
660261847f8eSopenharmony_ci     */
660361847f8eSopenharmony_ci    requestContent(resourceType: ResourceType, fileUri: string): Promise<void>;
660461847f8eSopenharmony_ci
660561847f8eSopenharmony_ci    /**
660661847f8eSopenharmony_ci     * Request content of the moving photo for the given resource type and return the array buffer.
660761847f8eSopenharmony_ci     *
660861847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
660961847f8eSopenharmony_ci     * @param { ResourceType } resourceType - The resource type of the content to request
661061847f8eSopenharmony_ci     * @returns { Promise<ArrayBuffer> } Returns array buffer of the content
661161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
661261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
661361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
661461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
661561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
661661847f8eSopenharmony_ci     * @atomicservice
661761847f8eSopenharmony_ci     * @since 12
661861847f8eSopenharmony_ci     */
661961847f8eSopenharmony_ci    requestContent(resourceType: ResourceType): Promise<ArrayBuffer>;
662061847f8eSopenharmony_ci
662161847f8eSopenharmony_ci    /**
662261847f8eSopenharmony_ci     * Get uri of the moving photo.
662361847f8eSopenharmony_ci     *
662461847f8eSopenharmony_ci     * @returns { string } Returns uri of the moving photo
662561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
662661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
662761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - System inner fail
662861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
662961847f8eSopenharmony_ci     * @atomicservice
663061847f8eSopenharmony_ci     * @since 12
663161847f8eSopenharmony_ci     */
663261847f8eSopenharmony_ci    getUri(): string;
663361847f8eSopenharmony_ci  }
663461847f8eSopenharmony_ci
663561847f8eSopenharmony_ci  /**
663661847f8eSopenharmony_ci   * Highlight album info type
663761847f8eSopenharmony_ci   *
663861847f8eSopenharmony_ci   * @enum { number } HighlightAlbumInfoType
663961847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
664061847f8eSopenharmony_ci   * @systemapi
664161847f8eSopenharmony_ci   * @since 12
664261847f8eSopenharmony_ci   */
664361847f8eSopenharmony_ci  enum HighlightAlbumInfoType {
664461847f8eSopenharmony_ci    /**
664561847f8eSopenharmony_ci     * Highlight cover info
664661847f8eSopenharmony_ci     *
664761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
664861847f8eSopenharmony_ci     * @systemapi
664961847f8eSopenharmony_ci     * @since 12
665061847f8eSopenharmony_ci     */
665161847f8eSopenharmony_ci    COVER_INFO = 0,
665261847f8eSopenharmony_ci    /**
665361847f8eSopenharmony_ci     * Highlight play info
665461847f8eSopenharmony_ci     *
665561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
665661847f8eSopenharmony_ci     * @systemapi
665761847f8eSopenharmony_ci     * @since 12
665861847f8eSopenharmony_ci     */
665961847f8eSopenharmony_ci    PLAY_INFO
666061847f8eSopenharmony_ci  }
666161847f8eSopenharmony_ci
666261847f8eSopenharmony_ci  /**
666361847f8eSopenharmony_ci   * Highlight user action type
666461847f8eSopenharmony_ci   *
666561847f8eSopenharmony_ci   * @enum { number } HighlightUserActionType
666661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
666761847f8eSopenharmony_ci   * @systemapi
666861847f8eSopenharmony_ci   * @since 12
666961847f8eSopenharmony_ci   */
667061847f8eSopenharmony_ci  enum HighlightUserActionType {
667161847f8eSopenharmony_ci    /**
667261847f8eSopenharmony_ci     * Highlight album inserted picture count
667361847f8eSopenharmony_ci     *
667461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
667561847f8eSopenharmony_ci     * @systemapi
667661847f8eSopenharmony_ci     * @since 12
667761847f8eSopenharmony_ci     */
667861847f8eSopenharmony_ci    INSERTED_PIC_COUNT = 0,
667961847f8eSopenharmony_ci    /**
668061847f8eSopenharmony_ci     * Highlight album removed picture count
668161847f8eSopenharmony_ci     *
668261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
668361847f8eSopenharmony_ci     * @systemapi
668461847f8eSopenharmony_ci     * @since 12
668561847f8eSopenharmony_ci     */
668661847f8eSopenharmony_ci    REMOVED_PIC_COUNT,
668761847f8eSopenharmony_ci    /**
668861847f8eSopenharmony_ci     * Highlight album shared screenshot count
668961847f8eSopenharmony_ci     *
669061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
669161847f8eSopenharmony_ci     * @systemapi
669261847f8eSopenharmony_ci     * @since 12
669361847f8eSopenharmony_ci     */
669461847f8eSopenharmony_ci    SHARED_SCREENSHOT_COUNT,
669561847f8eSopenharmony_ci    /**
669661847f8eSopenharmony_ci     * Highlight album shared cover count
669761847f8eSopenharmony_ci     *
669861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
669961847f8eSopenharmony_ci     * @systemapi
670061847f8eSopenharmony_ci     * @since 12
670161847f8eSopenharmony_ci     */
670261847f8eSopenharmony_ci    SHARED_COVER_COUNT,
670361847f8eSopenharmony_ci    /**
670461847f8eSopenharmony_ci     * Highlight album renamed count
670561847f8eSopenharmony_ci     *
670661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
670761847f8eSopenharmony_ci     * @systemapi
670861847f8eSopenharmony_ci     * @since 12
670961847f8eSopenharmony_ci     */
671061847f8eSopenharmony_ci    RENAMED_COUNT,
671161847f8eSopenharmony_ci    /**
671261847f8eSopenharmony_ci     * Highlight album changed cover count
671361847f8eSopenharmony_ci     *
671461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
671561847f8eSopenharmony_ci     * @systemapi
671661847f8eSopenharmony_ci     * @since 12
671761847f8eSopenharmony_ci     */
671861847f8eSopenharmony_ci    CHANGED_COVER_COUNT,
671961847f8eSopenharmony_ci    /**
672061847f8eSopenharmony_ci     * Highlight album render viewed times
672161847f8eSopenharmony_ci     *
672261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
672361847f8eSopenharmony_ci     * @systemapi
672461847f8eSopenharmony_ci     * @since 12
672561847f8eSopenharmony_ci     */
672661847f8eSopenharmony_ci    RENDER_VIEWED_TIMES = 100,
672761847f8eSopenharmony_ci    /**
672861847f8eSopenharmony_ci     * Highlight album render viewed duration
672961847f8eSopenharmony_ci     *
673061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
673161847f8eSopenharmony_ci     * @systemapi
673261847f8eSopenharmony_ci     * @since 12
673361847f8eSopenharmony_ci     */
673461847f8eSopenharmony_ci    RENDER_VIEWED_DURATION,
673561847f8eSopenharmony_ci    /**
673661847f8eSopenharmony_ci     * Highlight album art layout viewed times
673761847f8eSopenharmony_ci     *
673861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
673961847f8eSopenharmony_ci     * @systemapi
674061847f8eSopenharmony_ci     * @since 12
674161847f8eSopenharmony_ci     */
674261847f8eSopenharmony_ci    ART_LAYOUT_VIEWED_TIMES,
674361847f8eSopenharmony_ci    /**
674461847f8eSopenharmony_ci     * Highlight album art layout viewed duration
674561847f8eSopenharmony_ci     *
674661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
674761847f8eSopenharmony_ci     * @systemapi
674861847f8eSopenharmony_ci     * @since 12
674961847f8eSopenharmony_ci     */
675061847f8eSopenharmony_ci    ART_LAYOUT_VIEWED_DURATION
675161847f8eSopenharmony_ci  }
675261847f8eSopenharmony_ci
675361847f8eSopenharmony_ci  /**
675461847f8eSopenharmony_ci   * The type of thumbnail
675561847f8eSopenharmony_ci   *
675661847f8eSopenharmony_ci   * @enum { number } ThumbnailType
675761847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
675861847f8eSopenharmony_ci   * @systemapi
675961847f8eSopenharmony_ci   * @since 13
676061847f8eSopenharmony_ci   */
676161847f8eSopenharmony_ci  enum ThumbnailType {
676261847f8eSopenharmony_ci    /**
676361847f8eSopenharmony_ci     * LCD thumbnail
676461847f8eSopenharmony_ci     *
676561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
676661847f8eSopenharmony_ci     * @systemapi
676761847f8eSopenharmony_ci     * @since 13
676861847f8eSopenharmony_ci     */
676961847f8eSopenharmony_ci    LCD = 1,
677061847f8eSopenharmony_ci    /**
677161847f8eSopenharmony_ci     * THM thumbnail
677261847f8eSopenharmony_ci     *
677361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
677461847f8eSopenharmony_ci     * @systemapi
677561847f8eSopenharmony_ci     * @since 13
677661847f8eSopenharmony_ci     */
677761847f8eSopenharmony_ci    THM = 2
677861847f8eSopenharmony_ci  }
677961847f8eSopenharmony_ci
678061847f8eSopenharmony_ci  /**
678161847f8eSopenharmony_ci   * Defines the class of highlight album.
678261847f8eSopenharmony_ci   *
678361847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
678461847f8eSopenharmony_ci   * @systemapi 
678561847f8eSopenharmony_ci   * @since 12
678661847f8eSopenharmony_ci   */
678761847f8eSopenharmony_ci  class HighlightAlbum {
678861847f8eSopenharmony_ci    /**
678961847f8eSopenharmony_ci     * The constructor to create a highlight instance.
679061847f8eSopenharmony_ci     *
679161847f8eSopenharmony_ci     * @param { Album } album - Analysis album
679261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
679361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
679461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
679561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
679661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
679761847f8eSopenharmony_ci     * @systemapi 
679861847f8eSopenharmony_ci     * @since 12
679961847f8eSopenharmony_ci     */
680061847f8eSopenharmony_ci    constructor(album: Album);
680161847f8eSopenharmony_ci
680261847f8eSopenharmony_ci    /**
680361847f8eSopenharmony_ci     * Get highlight album info.
680461847f8eSopenharmony_ci     *
680561847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
680661847f8eSopenharmony_ci     * @param { HighlightAlbumInfoType } type - Highlight album info type
680761847f8eSopenharmony_ci     * @returns { Promise<string> } Returns highlight album info into a json string
680861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
680961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
681061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
681161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
681261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
681361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
681461847f8eSopenharmony_ci     * @systemapi
681561847f8eSopenharmony_ci     * @since 12
681661847f8eSopenharmony_ci     */
681761847f8eSopenharmony_ci    getHighlightAlbumInfo(type: HighlightAlbumInfoType): Promise<string>;
681861847f8eSopenharmony_ci
681961847f8eSopenharmony_ci    /**
682061847f8eSopenharmony_ci     * Get highlight resource array buffer.
682161847f8eSopenharmony_ci     *
682261847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
682361847f8eSopenharmony_ci     * @param { string } resourceUri - highlight resource uri
682461847f8eSopenharmony_ci     * @returns { Promise<ArrayBuffer> } Returns array buffer of the content
682561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
682661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
682761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
682861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
682961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
683061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
683161847f8eSopenharmony_ci     * @systemapi
683261847f8eSopenharmony_ci     * @since 12
683361847f8eSopenharmony_ci     */
683461847f8eSopenharmony_ci    getHighlightResource(resourceUri: string): Promise<ArrayBuffer>;
683561847f8eSopenharmony_ci
683661847f8eSopenharmony_ci    /**
683761847f8eSopenharmony_ci     * Set highlight user action data
683861847f8eSopenharmony_ci     *
683961847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
684061847f8eSopenharmony_ci     * @param { HighlightUserActionType } type - Highlight user action type
684161847f8eSopenharmony_ci     * @param { number } actionData - User action highlight album data
684261847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
684361847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
684461847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
684561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
684661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
684761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
684861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
684961847f8eSopenharmony_ci     * @systemapi 
685061847f8eSopenharmony_ci     * @since 12
685161847f8eSopenharmony_ci     */
685261847f8eSopenharmony_ci    setHighlightUserActionData(type: HighlightUserActionType, actionData: number): Promise<void>;
685361847f8eSopenharmony_ci  }
685461847f8eSopenharmony_ci
685561847f8eSopenharmony_ci  /**
685661847f8eSopenharmony_ci   * Cloud enhancement task stage.
685761847f8eSopenharmony_ci   * 
685861847f8eSopenharmony_ci   * @enum { number } CloudEnhancementTaskStage
685961847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
686061847f8eSopenharmony_ci   * @systemapi
686161847f8eSopenharmony_ci   * @since 13
686261847f8eSopenharmony_ci   */
686361847f8eSopenharmony_ci  enum CloudEnhancementTaskStage {
686461847f8eSopenharmony_ci    /**
686561847f8eSopenharmony_ci     * Cloud enhancement task exception stage.
686661847f8eSopenharmony_ci     * 
686761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
686861847f8eSopenharmony_ci     * @systemapi
686961847f8eSopenharmony_ci     * @since 13
687061847f8eSopenharmony_ci     */
687161847f8eSopenharmony_ci    TASK_STAGE_EXCEPTION = -1,
687261847f8eSopenharmony_ci    /**
687361847f8eSopenharmony_ci     * Cloud enhancement task preparing stage.
687461847f8eSopenharmony_ci     * 
687561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
687661847f8eSopenharmony_ci     * @systemapi
687761847f8eSopenharmony_ci     * @since 13
687861847f8eSopenharmony_ci     */
687961847f8eSopenharmony_ci    TASK_STAGE_PREPARING,
688061847f8eSopenharmony_ci    /**
688161847f8eSopenharmony_ci     * Cloud enhancement task uploading stage.
688261847f8eSopenharmony_ci     * 
688361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
688461847f8eSopenharmony_ci     * @systemapi
688561847f8eSopenharmony_ci     * @since 13
688661847f8eSopenharmony_ci     */
688761847f8eSopenharmony_ci    TASK_STAGE_UPLOADING,
688861847f8eSopenharmony_ci    /**
688961847f8eSopenharmony_ci     * Cloud enhancement task executing stage.
689061847f8eSopenharmony_ci     * 
689161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
689261847f8eSopenharmony_ci     * @systemapi
689361847f8eSopenharmony_ci     * @since 13
689461847f8eSopenharmony_ci     */
689561847f8eSopenharmony_ci    TASK_STAGE_EXECUTING,
689661847f8eSopenharmony_ci    /**
689761847f8eSopenharmony_ci     * Cloud enhancement task downloading stage.
689861847f8eSopenharmony_ci     * 
689961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
690061847f8eSopenharmony_ci     * @systemapi
690161847f8eSopenharmony_ci     * @since 13
690261847f8eSopenharmony_ci     */
690361847f8eSopenharmony_ci    TASK_STAGE_DOWNLOADING,
690461847f8eSopenharmony_ci    /**
690561847f8eSopenharmony_ci     * Cloud enhancement task failed stage.
690661847f8eSopenharmony_ci     * 
690761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
690861847f8eSopenharmony_ci     * @systemapi
690961847f8eSopenharmony_ci     * @since 13
691061847f8eSopenharmony_ci     */
691161847f8eSopenharmony_ci    TASK_STAGE_FAILED,
691261847f8eSopenharmony_ci    /**
691361847f8eSopenharmony_ci     * Cloud enhancement task completed stage.
691461847f8eSopenharmony_ci     * 
691561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
691661847f8eSopenharmony_ci     * @systemapi
691761847f8eSopenharmony_ci     * @since 13
691861847f8eSopenharmony_ci     */
691961847f8eSopenharmony_ci    TASK_STAGE_COMPLETED
692061847f8eSopenharmony_ci  }
692161847f8eSopenharmony_ci
692261847f8eSopenharmony_ci  /**
692361847f8eSopenharmony_ci   * Task state of cloud enhancement.
692461847f8eSopenharmony_ci   * 
692561847f8eSopenharmony_ci   * @interface CloudEnhancementTaskState
692661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
692761847f8eSopenharmony_ci   * @systemapi
692861847f8eSopenharmony_ci   * @since 13
692961847f8eSopenharmony_ci   */
693061847f8eSopenharmony_ci  interface CloudEnhancementTaskState {
693161847f8eSopenharmony_ci    /**
693261847f8eSopenharmony_ci     * Indicates the cloud enhancement task stage.
693361847f8eSopenharmony_ci     * 
693461847f8eSopenharmony_ci     * @type { CloudEnhancementTaskStage }
693561847f8eSopenharmony_ci     * @readonly
693661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
693761847f8eSopenharmony_ci     * @systemapi
693861847f8eSopenharmony_ci     * @since 13
693961847f8eSopenharmony_ci     */
694061847f8eSopenharmony_ci    readonly taskStage: CloudEnhancementTaskStage;
694161847f8eSopenharmony_ci    /**
694261847f8eSopenharmony_ci     * Indicates the transferred file size.
694361847f8eSopenharmony_ci     * 
694461847f8eSopenharmony_ci     * @type { ?number }
694561847f8eSopenharmony_ci     * @readonly
694661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
694761847f8eSopenharmony_ci     * @systemapi
694861847f8eSopenharmony_ci     * @since 13
694961847f8eSopenharmony_ci     */
695061847f8eSopenharmony_ci    readonly transferredFileSize?: number;
695161847f8eSopenharmony_ci    /**
695261847f8eSopenharmony_ci     * Indicates the total file size.
695361847f8eSopenharmony_ci     * 
695461847f8eSopenharmony_ci     * @type { ?number }
695561847f8eSopenharmony_ci     * @readonly
695661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
695761847f8eSopenharmony_ci     * @systemapi
695861847f8eSopenharmony_ci     * @since 13
695961847f8eSopenharmony_ci     */
696061847f8eSopenharmony_ci    readonly totalFileSize?: number;
696161847f8eSopenharmony_ci    /**
696261847f8eSopenharmony_ci     * Indicates the expected duration of cloud enhancement queue time.
696361847f8eSopenharmony_ci     * 
696461847f8eSopenharmony_ci     * @type { ?number }
696561847f8eSopenharmony_ci     * @readonly
696661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
696761847f8eSopenharmony_ci     * @systemapi
696861847f8eSopenharmony_ci     * @since 13
696961847f8eSopenharmony_ci     */
697061847f8eSopenharmony_ci    readonly expectedDuration?: number;
697161847f8eSopenharmony_ci    /**
697261847f8eSopenharmony_ci     * Status code when failed in cloud enhancement.
697361847f8eSopenharmony_ci     * 
697461847f8eSopenharmony_ci     * @type { ?number }
697561847f8eSopenharmony_ci     * @readonly
697661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
697761847f8eSopenharmony_ci     * @systemapi
697861847f8eSopenharmony_ci     * @since 13
697961847f8eSopenharmony_ci     */
698061847f8eSopenharmony_ci    readonly statusCode?: number;
698161847f8eSopenharmony_ci  }
698261847f8eSopenharmony_ci
698361847f8eSopenharmony_ci  /**
698461847f8eSopenharmony_ci   * Defines the class of cloud enhancement.
698561847f8eSopenharmony_ci   * 
698661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
698761847f8eSopenharmony_ci   * @systemapi
698861847f8eSopenharmony_ci   * @since 13
698961847f8eSopenharmony_ci   */
699061847f8eSopenharmony_ci  class CloudEnhancement {
699161847f8eSopenharmony_ci    /**
699261847f8eSopenharmony_ci     * Get cloud enhancement instance.
699361847f8eSopenharmony_ci     * 
699461847f8eSopenharmony_ci     * @param { Context } context - Hap context information
699561847f8eSopenharmony_ci     * @returns { CloudEnhancement } Returns cloud enhancement instance
699661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
699761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
699861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
699961847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
700061847f8eSopenharmony_ci     * @static
700161847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
700261847f8eSopenharmony_ci     * @systemapi
700361847f8eSopenharmony_ci     * @since 13
700461847f8eSopenharmony_ci     */
700561847f8eSopenharmony_ci    static getCloudEnhancementInstance(context: Context): CloudEnhancement;
700661847f8eSopenharmony_ci
700761847f8eSopenharmony_ci    /**
700861847f8eSopenharmony_ci     * Submit cloud enhancement tasks.
700961847f8eSopenharmony_ci     * 
701061847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
701161847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } photoAssets - The photo assets requested
701261847f8eSopenharmony_ci     * @param { boolean } hasCloudWatermark - true: Persistent cloud watermark; false: Not persistent cloud watermark.
701361847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
701461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
701561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
701661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
701761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
701861847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
701961847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
702061847f8eSopenharmony_ci     * @systemapi
702161847f8eSopenharmony_ci     * @since 13
702261847f8eSopenharmony_ci     */
702361847f8eSopenharmony_ci    submitCloudEnhancementTasks(photoAssets: Array<PhotoAsset>, hasCloudWatermark: boolean): Promise<void>;
702461847f8eSopenharmony_ci
702561847f8eSopenharmony_ci    /**
702661847f8eSopenharmony_ci     * Prioritize cloud enhancement task.
702761847f8eSopenharmony_ci     * 
702861847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
702961847f8eSopenharmony_ci     * @param { PhotoAsset } photoAsset - The photo asset requested
703061847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
703161847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
703261847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
703361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
703461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
703561847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
703661847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
703761847f8eSopenharmony_ci     * @systemapi
703861847f8eSopenharmony_ci     * @since 13
703961847f8eSopenharmony_ci     */
704061847f8eSopenharmony_ci    prioritizeCloudEnhancementTask(photoAsset: PhotoAsset): Promise<void>;
704161847f8eSopenharmony_ci
704261847f8eSopenharmony_ci    /**
704361847f8eSopenharmony_ci     * Cancel cloud enhancement tasks.
704461847f8eSopenharmony_ci     * 
704561847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
704661847f8eSopenharmony_ci     * @param { Array<PhotoAsset> } photoAssets - The photo assets requested
704761847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
704861847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
704961847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
705061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
705161847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
705261847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
705361847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
705461847f8eSopenharmony_ci     * @systemapi
705561847f8eSopenharmony_ci     * @since 13
705661847f8eSopenharmony_ci     */
705761847f8eSopenharmony_ci    cancelCloudEnhancementTasks(photoAssets: Array<PhotoAsset>): Promise<void>;
705861847f8eSopenharmony_ci
705961847f8eSopenharmony_ci    /**
706061847f8eSopenharmony_ci     * Cancel all cloud enhancement tasks.
706161847f8eSopenharmony_ci     * 
706261847f8eSopenharmony_ci     * @permission ohos.permission.WRITE_IMAGEVIDEO
706361847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
706461847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
706561847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
706661847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
706761847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
706861847f8eSopenharmony_ci     * @systemapi
706961847f8eSopenharmony_ci     * @since 13
707061847f8eSopenharmony_ci     */
707161847f8eSopenharmony_ci    cancelAllCloudEnhancementTasks(): Promise<void>;
707261847f8eSopenharmony_ci
707361847f8eSopenharmony_ci    /**
707461847f8eSopenharmony_ci     * Query cloud enhancement task state.
707561847f8eSopenharmony_ci     * 
707661847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
707761847f8eSopenharmony_ci     * @param { PhotoAsset } photoAsset - The photo asset requested
707861847f8eSopenharmony_ci     * @returns { Promise<CloudEnhancementTaskState> } Returns cloud enhancement task state
707961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
708061847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
708161847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
708261847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
708361847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
708461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
708561847f8eSopenharmony_ci     * @systemapi
708661847f8eSopenharmony_ci     * @since 13
708761847f8eSopenharmony_ci     */
708861847f8eSopenharmony_ci    queryCloudEnhancementTaskState(photoAsset: PhotoAsset): Promise<CloudEnhancementTaskState>;
708961847f8eSopenharmony_ci
709061847f8eSopenharmony_ci    /**
709161847f8eSopenharmony_ci     * Sync cloud enhancement task status.
709261847f8eSopenharmony_ci     * 
709361847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
709461847f8eSopenharmony_ci     * @returns { Promise<void> } Returns void
709561847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
709661847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
709761847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
709861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
709961847f8eSopenharmony_ci     * @systemapi
710061847f8eSopenharmony_ci     * @since 13
710161847f8eSopenharmony_ci     */
710261847f8eSopenharmony_ci    syncCloudEnhancementTaskStatus(): Promise<void>;
710361847f8eSopenharmony_ci
710461847f8eSopenharmony_ci    /**
710561847f8eSopenharmony_ci     * Get cloud enhancement pair.
710661847f8eSopenharmony_ci     * 
710761847f8eSopenharmony_ci     * @permission ohos.permission.READ_IMAGEVIDEO
710861847f8eSopenharmony_ci     * @param { PhotoAsset } asset - The asset requested
710961847f8eSopenharmony_ci     * @returns { Promise<PhotoAsset> } Returns cloud-enhanced asset
711061847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission denied
711161847f8eSopenharmony_ci     * @throws { BusinessError } 202 - Called by non-system application
711261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified;
711361847f8eSopenharmony_ci     * <br>2. Incorrect parameter types; 3. Parameter verification failed.
711461847f8eSopenharmony_ci     * @throws { BusinessError } 14000011 - Internal system error
711561847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
711661847f8eSopenharmony_ci     * @systemapi
711761847f8eSopenharmony_ci     * @since 13
711861847f8eSopenharmony_ci     */
711961847f8eSopenharmony_ci    getCloudEnhancementPair(asset: PhotoAsset): Promise<PhotoAsset>;
712061847f8eSopenharmony_ci  }
712161847f8eSopenharmony_ci
712261847f8eSopenharmony_ci  /**
712361847f8eSopenharmony_ci   * Cloud enhancement state.
712461847f8eSopenharmony_ci   * 
712561847f8eSopenharmony_ci   * @enum { number } CloudEnhancementState
712661847f8eSopenharmony_ci   * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
712761847f8eSopenharmony_ci   * @systemapi
712861847f8eSopenharmony_ci   * @since 13
712961847f8eSopenharmony_ci   */
713061847f8eSopenharmony_ci  enum CloudEnhancementState {
713161847f8eSopenharmony_ci    /**
713261847f8eSopenharmony_ci     * Cloud enhancement unavailable state.
713361847f8eSopenharmony_ci     * 
713461847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
713561847f8eSopenharmony_ci     * @systemapi
713661847f8eSopenharmony_ci     * @since 13
713761847f8eSopenharmony_ci     */
713861847f8eSopenharmony_ci    UNAVAILABLE = 0,
713961847f8eSopenharmony_ci    /**
714061847f8eSopenharmony_ci     * Cloud enhancement available state.
714161847f8eSopenharmony_ci     * 
714261847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
714361847f8eSopenharmony_ci     * @systemapi
714461847f8eSopenharmony_ci     * @since 13
714561847f8eSopenharmony_ci     */
714661847f8eSopenharmony_ci    AVAILABLE,
714761847f8eSopenharmony_ci    /**
714861847f8eSopenharmony_ci     * Cloud enhancement executing state.
714961847f8eSopenharmony_ci     * 
715061847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
715161847f8eSopenharmony_ci     * @systemapi
715261847f8eSopenharmony_ci     * @since 13
715361847f8eSopenharmony_ci     */
715461847f8eSopenharmony_ci    EXECUTING,
715561847f8eSopenharmony_ci    /**
715661847f8eSopenharmony_ci     * Cloud enhancement completed state.
715761847f8eSopenharmony_ci     * 
715861847f8eSopenharmony_ci     * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core
715961847f8eSopenharmony_ci     * @systemapi
716061847f8eSopenharmony_ci     * @since 13
716161847f8eSopenharmony_ci     */
716261847f8eSopenharmony_ci    COMPLETED
716361847f8eSopenharmony_ci  }
716461847f8eSopenharmony_ci}
716561847f8eSopenharmony_ci
716661847f8eSopenharmony_ciexport default photoAccessHelper;
7167