1833 lines
		
	
	
		
			66 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			1833 lines
		
	
	
		
			66 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /* | ||
|  |  * Copyright (C) 2023 Huawei Device Co., Ltd. | ||
|  |  * Licensed under the Apache License, Version 2.0 (the "License"); | ||
|  |  * you may not use this file except in compliance with the License. | ||
|  |  * You may obtain a copy of the License at | ||
|  |  * | ||
|  |  *     http://www.apache.org/licenses/LICENSE-2.0
 | ||
|  |  * | ||
|  |  * Unless required by applicable law or agreed to in writing, software | ||
|  |  * distributed under the License is distributed on an "AS IS" BASIS, | ||
|  |  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
|  |  * See the License for the specific language governing permissions and | ||
|  |  * limitations under the License. | ||
|  |  */ | ||
|  | 
 | ||
|  | import type { AsyncCallback, Callback } from './@ohos.base'; | ||
|  | import type Context from './application/Context'; | ||
|  | import type image from './@ohos.multimedia.image'; | ||
|  | import type dataSharePredicates from './@ohos.data.dataSharePredicates'; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Helper functions to access image and video assets | ||
|  |  * | ||
|  |  * @namespace photoAccessHelper | ||
|  |  * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |  * @since 10 | ||
|  |  */ | ||
|  | declare namespace photoAccessHelper { | ||
|  |   /** | ||
|  |    * Returns an instance of PhotoAccessHelper | ||
|  |    * | ||
|  |    * @param { Context } context - Hap context information | ||
|  |    * @returns { PhotoAccessHelper } Instance of PhotoAccessHelper | ||
|  |    * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @StageModelOnly | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   function getPhotoAccessHelper(context: Context): PhotoAccessHelper; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Enumeration of different types of photos | ||
|  |    * | ||
|  |    * @enum { number } PhotoType | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   enum PhotoType { | ||
|  |     /** | ||
|  |      * Image asset | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     IMAGE = 1, | ||
|  |     /** | ||
|  |      * Video asset | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     VIDEO | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Enumeration of different categories of photos | ||
|  |    * | ||
|  |    * @enum { number } PhotoSubtype | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @systemapi | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   enum PhotoSubtype { | ||
|  |     /** | ||
|  |      * Default Photo Type | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     DEFAULT, | ||
|  |     /** | ||
|  |      * Screenshot Photo Type | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     SCREENSHOT | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Photo asset position | ||
|  |    * | ||
|  |    * @enum { number } Photo asset position, such as local device or cloud | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @systemapi | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   enum PositionType { | ||
|  |     /** | ||
|  |      * Asset exists only in local device | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     LOCAL = 1 << 0, | ||
|  |     /** | ||
|  |      * Asset exists only in cloud | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     CLOUD = 1 << 1 | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Indicates the type of photo asset member. | ||
|  |    * | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   type MemberType = number | string | boolean; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Defines the photo asset | ||
|  |    * | ||
|  |    * @interface PhotoAsset | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   interface PhotoAsset { | ||
|  |     /** | ||
|  |      * uri of the asset. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     readonly uri: string; | ||
|  |     /** | ||
|  |      * Photo type, image or video | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     readonly photoType: PhotoType; | ||
|  |     /** | ||
|  |      * Display name (with a file name extension) of the asset. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     readonly displayName: string; | ||
|  |     /** | ||
|  |      * Returns the value of the specified member. | ||
|  |      * | ||
|  |      * @param { string } member - Photo asset member. for example : get(PhotoKeys.SIZE) | ||
|  |      * @returns { MemberType } | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000014 - Member is not a valid PhotoKey | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     get(member: string): MemberType; | ||
|  |     /** | ||
|  |      * Set a new value to the specified member | ||
|  |      * | ||
|  |      * @param { string } member - Photo asset member | ||
|  |      * @param { string } value - The new value of the member. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000014 - Member is not a valid PhotoKey | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      * @example : set(PhotoKeys.TITLE, "newTitle"), call commitModify after set | ||
|  |      */ | ||
|  |     set(member: string, value: string): void; | ||
|  |     /** | ||
|  |      * Modify metadata of the asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void. | ||
|  |      * @throws { BusinessError } 401 - if values to commit is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000001 - Invalid display name | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     commitModify(callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Modify metadata of the asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @returns { Promise<void> } Returns void | ||
|  |      * @throws { BusinessError } 401 - if values to commit is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000001 - Invalid display name | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     commitModify(): Promise<void>; | ||
|  |     /** | ||
|  |      * Open the asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO or ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } mode - Mode for open, for example: rw, r, w. | ||
|  |      * @param { AsyncCallback<number> } callback - Callback return the fd of the asset. | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     open(mode: string, callback: AsyncCallback<number>): void; | ||
|  |     /** | ||
|  |      * Open the asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO or ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } mode - Mode for open, for example: rw, r, w. | ||
|  |      * @returns { Promise<number> } Returns the fd | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     open(mode: string): Promise<number>; | ||
|  |     /** | ||
|  |      * Open the asset in read only mode | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { AsyncCallback<number> } callback - Returns the read only fd | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getReadOnlyFd(callback: AsyncCallback<number>): void; | ||
|  |     /** | ||
|  |      * Open the asset in read only mode | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @returns { Promise<number> } Returns the read only fd | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getReadOnlyFd(): Promise<number>; | ||
|  |     /** | ||
|  |      * Close the asset | ||
|  |      * | ||
|  |      * @param { number } fd - The opened fd of the asset. | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     close(fd: number, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Close the asset | ||
|  |      * | ||
|  |      * @param { number } fd - The opened fd of the asset. | ||
|  |      * @returns { Promise<void> } Returns void | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     close(fd: number): Promise<void>; | ||
|  |     /** | ||
|  |      * Get thumbnail of the asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { AsyncCallback<image.PixelMap> } callback - Returns the thumbnail's pixelMap. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getThumbnail(callback: AsyncCallback<image.PixelMap>): void; | ||
|  |     /** | ||
|  |      * Get thumbnail of the asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { image.Size } size - Thumbnail's size | ||
|  |      * @param { AsyncCallback<image.PixelMap> } callback - Returns the thumbnail's pixelMap. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getThumbnail(size: image.Size, callback: AsyncCallback<image.PixelMap>): void; | ||
|  |     /** | ||
|  |      * Get thumbnail of the asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { image.Size } size - Thumbnail's size | ||
|  |      * @returns { Promise<image.PixelMap> } Returns the thumbnail's pixelMap. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getThumbnail(size?: image.Size): Promise<image.PixelMap>; | ||
|  |     /** | ||
|  |      * Set favorite state for the asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { boolean } favoriteState - true: Put the asset into favorite album; false: Remove the asset from favorite album. | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     setFavorite(favoriteState: boolean, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Set favorite state for the asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { boolean } favoriteState - true: Put the asset into favorite album; false: Remove the asset from favorite album. | ||
|  |      * @returns { Promise<void> } Returns void | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     setFavorite(favoriteState: boolean): Promise<void>; | ||
|  |     /** | ||
|  |      * Set asset hidden state. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { boolean } hiddenState - true: Put the asset into hidden album; false: Recover the asset from hidden album. | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void. | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     setHidden(hiddenState: boolean, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Set asset hidden state. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { boolean } hiddenState - true: Put the asset into hidden album; false: Recover the asset from hidden album. | ||
|  |      * @returns { Promise<void> } Returns the promise | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     setHidden(hiddenState: boolean): Promise<void>; | ||
|  |     /** | ||
|  |      * Set user comment info to the asset. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } userComment - user comment info | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void. | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     setUserComment(userComment: string, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Set user comment info to the asset. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } userComment - user comment info | ||
|  |      * @returns { Promise<void> } Returns void | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     setUserComment(userComment: string): Promise<void>; | ||
|  |     /** | ||
|  |      * Get exif info of the asset. | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { AsyncCallback<string> } callback - Returns exif info into a json string | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getExif(callback: AsyncCallback<string>): void; | ||
|  |     /** | ||
|  |      * Get exif info of the asset. | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @returns { Promise<string> } Returns exif info into a json string | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getExif(): Promise<string>; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Enumeration of photo asset members | ||
|  |    * | ||
|  |    * @enum { string } PhotoKeys | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   enum PhotoKeys { | ||
|  |     /** | ||
|  |      * Asset uri, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     URI = 'uri', | ||
|  |     /** | ||
|  |      * Photo type of the asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     PHOTO_TYPE = 'media_type', | ||
|  |     /** | ||
|  |      * Asset name, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     DISPLAY_NAME = 'display_name', | ||
|  |     /** | ||
|  |      * Size of the asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     SIZE = 'size', | ||
|  |     /** | ||
|  |      * Creation date of the asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     DATE_ADDED = 'date_added', | ||
|  |     /** | ||
|  |      * Modified date of the asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     DATE_MODIFIED = 'date_modified', | ||
|  |     /** | ||
|  |      * Duration of video files, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     DURATION = 'duration', | ||
|  |     /** | ||
|  |      * Width of the image asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     WIDTH = 'width', | ||
|  |     /** | ||
|  |      * Height of the image asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     HEIGHT = 'height', | ||
|  |     /** | ||
|  |      * Date taken of the asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     DATE_TAKEN = 'date_taken', | ||
|  |     /** | ||
|  |      * Orientation of the image asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     ORIENTATION = 'orientation', | ||
|  |     /** | ||
|  |      * Favorite state of the asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     FAVORITE = 'is_favorite', | ||
|  |     /** | ||
|  |      * Title of the asset | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     TITLE = 'title', | ||
|  |     /** | ||
|  |      * Asset position, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     POSITION = 'position', | ||
|  |     /** | ||
|  |      * Trashed date of the asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     DATE_TRASHED = 'date_trashed', | ||
|  |     /** | ||
|  |      * Hidden state of the asset, read only | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     HIDDEN = 'hidden', | ||
|  |     /** | ||
|  |      * User comment info | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     USER_COMMENT = 'user_comment', | ||
|  |     /** | ||
|  |      * Camera shot key | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     CAMERA_SHOT_KEY = 'camera_shot_key' | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Enumeration of photo album members. | ||
|  |    * | ||
|  |    * @enum { string } AlbumKeys | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   enum AlbumKeys { | ||
|  |     /** | ||
|  |      * Album uri | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     URI = 'uri', | ||
|  |     /** | ||
|  |      * Album name | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     ALBUM_NAME = 'album_name' | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Options to fetch assets or albums | ||
|  |    * | ||
|  |    * @interface FetchOptions | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   interface FetchOptions { | ||
|  |     /** | ||
|  |      * Indicates the members to query. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     fetchColumns: Array<string>; | ||
|  |     /** | ||
|  |      * Predicates to query | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     predicates: dataSharePredicates.DataSharePredicates; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Options to create a photo asset for system apps | ||
|  |    * | ||
|  |    * @interface PhotoCreateOptions | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @systemapi | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   interface PhotoCreateOptions { | ||
|  |     /** | ||
|  |      * Specify subtype of the asset to create | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     subtype?: PhotoSubtype; | ||
|  |     /** | ||
|  |      * Camera shot key | ||
|  |      * | ||
|  |      * @type { ?string } | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     cameraShotKey?: string; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Options to create a photo asset | ||
|  |    * | ||
|  |    * @interface CreateOptions | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   interface CreateOptions { | ||
|  |     /** | ||
|  |      * Title of the asset | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     title?: string; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * The fetch result of assets or albums | ||
|  |    * | ||
|  |    * @interface FetchResult | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   interface FetchResult<T> { | ||
|  |     /** | ||
|  |      * Obtains the total number of objects in the fetch result. | ||
|  |      * | ||
|  |      * @returns { number } Total number of objects. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getCount(): number; | ||
|  |     /** | ||
|  |      * Checks whether the result set points to the last row. | ||
|  |      * You need to check whether the object is the last one before calling getNextObject. | ||
|  |      * | ||
|  |      * @returns { boolean } Whether the object is the last one in the fetch result. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     isAfterLast(): boolean; | ||
|  |     /** | ||
|  |      * Obtains the first object in the fetch result. | ||
|  |      * | ||
|  |      * @param { AsyncCallback<T> } callback - Returns the first object in the fetch result. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getFirstObject(callback: AsyncCallback<T>): void; | ||
|  |     /** | ||
|  |      * Obtains the first object in the fetch result. | ||
|  |      * | ||
|  |      * @returns { Promise<T> } Returns the first object in the fetch result. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getFirstObject(): Promise<T>; | ||
|  |     /** | ||
|  |      * Obtains the next object in the fetch result. | ||
|  |      * Before calling this method, you must use isAfterLast() to check whether the current position is the last row | ||
|  |      * in the fetch result. This method only works when the current position is not the last row. | ||
|  |      * | ||
|  |      * @param { AsyncCallback<T> } callback - Returns the next object | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getNextObject(callback: AsyncCallback<T>): void; | ||
|  |     /** | ||
|  |      * Obtains the next object in the fetch result. | ||
|  |      * Before calling this method, you must use isAfterLast() to check whether the current position is the last row | ||
|  |      * in the fetch result. This method only works when the current position is not the last row. | ||
|  |      * | ||
|  |      * @returns { Promise<T> } Returns the next object | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getNextObject(): Promise<T>; | ||
|  |     /** | ||
|  |      * Obtains the last object in the fetch result | ||
|  |      * | ||
|  |      * @param { AsyncCallback<T> } callback - Returns the last object | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getLastObject(callback: AsyncCallback<T>): void; | ||
|  |     /** | ||
|  |      * Obtains the last object in the fetch result | ||
|  |      * | ||
|  |      * @returns { Promise<T> } Returns the last object | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getLastObject(): Promise<T>; | ||
|  |     /** | ||
|  |      * Obtains the object with the specified index in the fetch result. | ||
|  |      * | ||
|  |      * @param { number } index - Index of the object to obtain. | ||
|  |      * @param { AsyncCallback<T> } callback - Returns the object | ||
|  |      * @throws { BusinessError } 401 - if type index is not number | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getObjectByPosition(index: number, callback: AsyncCallback<T>): void; | ||
|  |     /** | ||
|  |      * Obtains the object with the specified index in the fetch result. | ||
|  |      * | ||
|  |      * @param { number } index - Index of the asset to obtain. | ||
|  |      * @returns { Promise<T> } Returns the object | ||
|  |      * @throws { BusinessError } 401 - if type index is not number | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getObjectByPosition(index: number): Promise<T>; | ||
|  |     /** | ||
|  |      * Obtains all objects in the fetch result. | ||
|  |      * | ||
|  |      * @param { AsyncCallback<Array<T>> } callback - Returns all the objects | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getAllObjects(callback: AsyncCallback<Array<T>>): void; | ||
|  |     /** | ||
|  |      * Obtains all objects in the fetch result. | ||
|  |      * | ||
|  |      * @returns { Promise<Array<T>> } Returns all the objects | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getAllObjects(): Promise<Array<T>>; | ||
|  |     /** | ||
|  |      * Releases the fetch result. | ||
|  |      * | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     close(): void; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Album type. | ||
|  |    * | ||
|  |    * @enum { number } AlbumType | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   enum AlbumType { | ||
|  |     /** | ||
|  |      * Album created by user. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     USER = 0, | ||
|  |     /** | ||
|  |      * Album created by system, which metadata cannot be modified. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     SYSTEM = 1024 | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Album subtype | ||
|  |    * | ||
|  |    * @enum { number } AlbumSubtype | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   enum AlbumSubtype { | ||
|  |     /** | ||
|  |      * Generic user-created albums. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     USER_GENERIC = 1, | ||
|  |     /** | ||
|  |      * Favorite album, which assets are marked as favorite. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     FAVORITE = 1025, | ||
|  |     /** | ||
|  |      * Video album, which contains all video assets. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     VIDEO, | ||
|  |     /** | ||
|  |      * Hidden album, which assets are marked as hidden. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     HIDDEN, | ||
|  |     /** | ||
|  |      * Trash album, which assets are deleted. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     TRASH, | ||
|  |     /** | ||
|  |      * Screenshot album | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     SCREENSHOT, | ||
|  |     /** | ||
|  |      * Camera album | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     CAMERA, | ||
|  |     /** | ||
|  |      * Any album | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     ANY = 2147483647 | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Defines the abstract interface of albums. | ||
|  |    * | ||
|  |    * @interface AbsAlbum | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   interface AbsAlbum { | ||
|  |     /** | ||
|  |      * Album type | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     readonly albumType: AlbumType; | ||
|  |     /** | ||
|  |      * Album subtype | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     readonly albumSubtype: AlbumSubtype; | ||
|  |     /** | ||
|  |      * Album name. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     albumName: string; | ||
|  |     /** | ||
|  |      * Album uri. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     readonly albumUri: string; | ||
|  |     /** | ||
|  |      * Number of assets in the album | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     readonly count: number; | ||
|  |     /** | ||
|  |      * Cover uri for the album | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     readonly coverUri: string; | ||
|  |     /** | ||
|  |      * Fetch assets in an album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { FetchOptions } options - Fetch options. | ||
|  |      * @param { AsyncCallback<FetchResult<PhotoAsset>> } callback - Returns the fetch result | ||
|  |      * @throws { BusinessError } 401 - if type options is not FetchOptions | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<PhotoAsset>>): void; | ||
|  |     /** | ||
|  |      * Fetch assets in an album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { FetchOptions } options - Fetch options. | ||
|  |      * @returns { Promise<FetchResult<PhotoAsset>> } Returns the fetch result | ||
|  |      * @throws { BusinessError } 401 - if type options is not FetchOptions | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getAssets(options: FetchOptions): Promise<FetchResult<PhotoAsset>>; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Defines the album. | ||
|  |    * | ||
|  |    * @interface Album | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   interface Album extends AbsAlbum { | ||
|  |     /** | ||
|  |      * Modify metadata for the album | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 401 - if value to modify is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     commitModify(callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Modify metadata for the album | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @returns { Promise<void> } Returns void | ||
|  |      * @throws { BusinessError } 401 - if value to modify is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     commitModify(): Promise<void>; | ||
|  |     /** | ||
|  |      * Add assets to the album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<PhotoAsset> } assets - Assets to add | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 401 - if PhotoAssets is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     addAssets(assets: Array<PhotoAsset>, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Add assets to the album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<PhotoAsset> } assets - Assets to add | ||
|  |      * @returns { Promise<void> } Returns void | ||
|  |      * @throws { BusinessError } 401 - if PhotoAssets is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     addAssets(assets: Array<PhotoAsset>): Promise<void>; | ||
|  |     /** | ||
|  |      * Remove assets from the album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<PhotoAsset> } assets - Assets to remove | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 401 - if PhotoAssets is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     removeAssets(assets: Array<PhotoAsset>, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Remove assets from the album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<PhotoAsset> } assets - Assets to remove | ||
|  |      * @returns { Promise<void> } Returns the promise | ||
|  |      * @throws { BusinessError } 401 - if PhotoAssets is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     removeAssets(assets: Array<PhotoAsset>): Promise<void>; | ||
|  |     /** | ||
|  |      * Recover assets from the trash album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<PhotoAsset> } assets - Assets to recover | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if PhotoAssets is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     recoverAssets(assets: Array<PhotoAsset>, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Recover assets from the trash album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<PhotoAsset> } assets - Assets to recover | ||
|  |      * @returns { Promise<void> } Returns the promise | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if PhotoAssets is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     recoverAssets(assets: Array<PhotoAsset>): Promise<void>; | ||
|  |     /** | ||
|  |      * Delete assets permanently from the trash album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<PhotoAsset> } assets - Assets to delete | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if PhotoAssets is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     deleteAssets(assets: Array<PhotoAsset>, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Delete assets permanently from the trash album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<PhotoAsset> } assets - Assets to delete | ||
|  |      * @returns { Promise<void> } Returns the promise | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if PhotoAssets is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     deleteAssets(assets: Array<PhotoAsset>): Promise<void>; | ||
|  |     /** | ||
|  |      * Set cover uri for this album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } uri - The asset uri to set | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     setCoverUri(uri: string, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Set cover uri for this album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } uri - The asset uri to set | ||
|  |      * @returns { Promise<void> } Returns void | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     setCoverUri(uri: string): Promise<void>; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Helper functions to access photos and albums. | ||
|  |    * | ||
|  |    * @interface PhotoAccessHelper | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   interface PhotoAccessHelper { | ||
|  |     /** | ||
|  |      * Fetch photo assets | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { FetchOptions } options - Fetch options. | ||
|  |      * @param { AsyncCallback<FetchResult<PhotoAsset>> } callback - Returns the fetch result. | ||
|  |      * @throws { BusinessError } 401 - if type options is not FetchOptions | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getAssets(options: FetchOptions, callback: AsyncCallback<FetchResult<PhotoAsset>>): void; | ||
|  |     /** | ||
|  |      * Fetch photo assets | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { FetchOptions } options - Retrieval options. | ||
|  |      * @returns { Promise<FetchResult<PhotoAsset>> } Returns the fetch result. | ||
|  |      * @throws { BusinessError } 401 - if type options is not FetchOptions | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getAssets(options: FetchOptions): Promise<FetchResult<PhotoAsset>>; | ||
|  |     /** | ||
|  |      * Create a photo asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } displayName - Asset name | ||
|  |      * @param { AsyncCallback<PhotoAsset> } callback - Returns the newly created asset | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if type displayName is not string | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000001 - Invalid display name | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createAsset(displayName: string, callback: AsyncCallback<PhotoAsset>): void; | ||
|  |     /** | ||
|  |      * Create a photo asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } displayName - Asset name | ||
|  |      * @returns { Promise<PhotoAsset> } Returns the newly created asset | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if type displayName or albumUri is not string | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000001 - Invalid display name | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createAsset(displayName: string): Promise<PhotoAsset>; | ||
|  |     /** | ||
|  |      * Create a photo asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } displayName - Asset name | ||
|  |      * @param { PhotoCreateOptions } options - Create operation | ||
|  |      * @returns { Promise<PhotoAsset> } Returns the newly created asset | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if type displayName is not string | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000001 - Invalid display name | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createAsset(displayName: string, options: PhotoCreateOptions): Promise<PhotoAsset>; | ||
|  |     /** | ||
|  |      * Create a photo asset | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } displayName - Asset name | ||
|  |      * @param { PhotoCreateOptions } options - Photo create operation | ||
|  |      * @param { AsyncCallback<PhotoAsset> } callback - Returns the newly created asset | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if type displayName is not string | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000001 - Invalid display name | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createAsset(displayName: string, options: PhotoCreateOptions, callback: AsyncCallback<PhotoAsset>): void; | ||
|  |     /** | ||
|  |      * Create a photo asset: | ||
|  |      *   1. (Suggested)Integrate security component without WRITE_IMAGEVIDEO permission; | ||
|  |      *   2. Get WRITE_IMAGEVIDEO permission by ACL; | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { PhotoType } photoType - Photo asset type | ||
|  |      * @param { string } extension - Asset extension | ||
|  |      * @param { CreateOptions } options - Asset create option | ||
|  |      * @param { AsyncCallback<string> } callback - Returns the uri of the newly created asset | ||
|  |      * @throws { BusinessError } 401 - if type createOption is wrong | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createAsset(photoType: PhotoType, extension: string, options: CreateOptions, callback: AsyncCallback<string>): void; | ||
|  |     /** | ||
|  |      * Create a photo asset: | ||
|  |      *   1. (Suggested)Integrate security component without WRITE_IMAGEVIDEO permission; | ||
|  |      *   2. Get WRITE_IMAGEVIDEO permission by ACL; | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { PhotoType } photoType - Photo asset type | ||
|  |      * @param { string } extension - Asset extension | ||
|  |      * @param { AsyncCallback<string> } callback - Returns the uri of the newly created asset | ||
|  |      * @throws { BusinessError } 401 - if type createOption is wrong | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createAsset(photoType: PhotoType, extension: string, callback: AsyncCallback<string>): void; | ||
|  |     /** | ||
|  |      * Create a photo asset: | ||
|  |      *   1. (Suggested)Integrate security component without WRITE_IMAGEVIDEO permission; | ||
|  |      *   2. Get WRITE_IMAGEVIDEO permission by ACL; | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { PhotoType } photoType - Photo asset type | ||
|  |      * @param { string } extension - Asset extension | ||
|  |      * @param { CreateOptions } [options] - Optional asset create option | ||
|  |      * @returns { Promise<string> } Returns the uri of the newly created asset | ||
|  |      * @throws { BusinessError } 401 - if type createOption is wrong | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createAsset(photoType: PhotoType, extension: string, options?: CreateOptions): Promise<string>; | ||
|  |     /** | ||
|  |      * Create a generic user album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } name - Album name to be created. | ||
|  |      * @param { AsyncCallback<Album> } callback - Returns the instance of newly created Album | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900015 - File exists | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createAlbum(name: string, callback: AsyncCallback<Album>): void; | ||
|  |     /** | ||
|  |      * Create a generic user album. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { string } name - Album name to be created. | ||
|  |      * @returns { Promise<Album> } Returns the instance of newly created Album | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900015 - File exists | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createAlbum(name: string): Promise<Album>; | ||
|  |     /** | ||
|  |      * Delete generic user-created albums. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<Album> } albums - Specify which albums to delete | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     deleteAlbums(albums: Array<Album>, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Delete generic user-created albums. | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<Album> } albums - Specify which albums to delete | ||
|  |      * @returns { Promise<void> } Returns the promise | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     deleteAlbums(albums: Array<Album>): Promise<void>; | ||
|  | 
 | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Fetch albums. | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { AlbumType } type - Album type. | ||
|  |      * @param { AlbumSubtype } subtype - Album subtype. | ||
|  |      * @param { FetchOptions } [options] - options to fetch albums | ||
|  |      * @returns { Promise<FetchResult<Album>> } - Returns the fetch result | ||
|  |      * @throws { BusinessError } 401 - if type options is not FetchOption | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getAlbums(type: AlbumType, subtype: AlbumSubtype, options?: FetchOptions): Promise<FetchResult<Album>>; | ||
|  |     /** | ||
|  |      * Delete assets | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<string> } uriList - Uris of assets to delete | ||
|  |      * @param { AsyncCallback<void> } callback - No value returned | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000002 - Invalid uri | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     deleteAssets(uriList: Array<string>, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Delete assets | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<string> } uriList - Uris of assets to delete | ||
|  |      * @returns { Promise<void> } - Returns void | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000002 - Invalid uri | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     deleteAssets(uriList: Array<string>): Promise<void>; | ||
|  |     /** | ||
|  |      * Register change notify for the specified uri. | ||
|  |      * | ||
|  |      * @param { string } uri - PhotoAsset's uri, album's uri or DefaultChangeUri | ||
|  |      * @param { boolean } forChildUris - Monitor the child uris. | ||
|  |      * @param { Callback<ChangeData> } callback - Returns the changed data | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     registerChange(uri: string, forChildUris: boolean, callback: Callback<ChangeData>): void; | ||
|  |     /** | ||
|  |      * Unregister change notify for the specified uri. | ||
|  |      * | ||
|  |      * @param { string } uri - PhotoAsset's uri, album's uri or DefaultChangeUri | ||
|  |      * @param { Callback<ChangeData> } [callback] - The callback function to unregister. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     unRegisterChange(uri: string, callback?: Callback<ChangeData>): void; | ||
|  |     /** | ||
|  |      * Create a pop-up box to delete photos | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<string> } uriList - List of the asset uris to be deleted | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createDeleteRequest(uriList: Array<string>, callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Create a pop-up box to delete photos | ||
|  |      * | ||
|  |      * @permission ohos.permission.WRITE_IMAGEVIDEO | ||
|  |      * @param { Array<string> } uriList - List of the asset uris to be deleted | ||
|  |      * @returns { Promise<void> } - Returns void | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     createDeleteRequest(uriList: Array<string>): Promise<void>; | ||
|  |     /** | ||
|  |      * Get the index of the asset in the album | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { string } photoUri - The photo asset uri. | ||
|  |      * @param { string } albumUri - The album uri. | ||
|  |      * @param { FetchOptions } options - fetch options | ||
|  |      * @param { AsyncCallback<number> } callback - Returns the index of the asset in the album | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getPhotoIndex(photoUri: string, albumUri: string, options: FetchOptions, callback: AsyncCallback<number>): void; | ||
|  |     /** | ||
|  |      * Get the index of the asset in the album | ||
|  |      * | ||
|  |      * @permission ohos.permission.READ_IMAGEVIDEO | ||
|  |      * @param { string } photoUri - The photo asset uri. | ||
|  |      * @param { string } albumUri - The album uri. | ||
|  |      * @param { FetchOptions } options - fetch options | ||
|  |      * @returns { Promise<number> } - Returns the index of the asset in the album | ||
|  |      * @throws { BusinessError } 202 - Called by non-system application. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900012 - Permission denied | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @systemapi | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     getPhotoIndex(photoUri: string, albumUri: string, options: FetchOptions): Promise<number>; | ||
|  |     /** | ||
|  |      * Release PhotoAccessHelper instance | ||
|  |      * | ||
|  |      * @param { AsyncCallback<void> } callback - Returns void | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     release(callback: AsyncCallback<void>): void; | ||
|  |     /** | ||
|  |      * Release PhotoAccessHelper instance | ||
|  |      * | ||
|  |      * @returns { Promise<void> } Returns void | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900020 - Invalid argument | ||
|  |      * @throws { BusinessError } 14000011 - System inner fail | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     release(): Promise<void>; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Enumeration types of data change. | ||
|  |    * | ||
|  |    * @enum { number } NotifyType | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   enum NotifyType { | ||
|  |     /** | ||
|  |      * Data(assets or albums) have been newly created | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     NOTIFY_ADD, | ||
|  |     /** | ||
|  |      * Data(assets or albums) have been modified | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     NOTIFY_UPDATE, | ||
|  |     /** | ||
|  |      * Data(assets or albums) have been removed | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     NOTIFY_REMOVE, | ||
|  |     /** | ||
|  |      * Assets have been added to an album. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     NOTIFY_ALBUM_ADD_ASSET, | ||
|  |     /** | ||
|  |      * Assets have been removed from an album. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     NOTIFY_ALBUM_REMOVE_ASSET | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Enumeration uris for registerChange. | ||
|  |    * | ||
|  |    * @enum { string } DefaultChangeUri | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   enum DefaultChangeUri { | ||
|  |     /** | ||
|  |      * Uri for default PhotoAsset, use with forDescendant{true}, will receive all PhotoAsset's change notifications | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     DEFAULT_PHOTO_URI = 'file://media/Photo', | ||
|  |     /** | ||
|  |      * Uri for default Album, use with forDescendant{true}, will receive all Album's change notifications | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     DEFAULT_ALBUM_URI = 'file://media/PhotoAlbum' | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Defines the change data | ||
|  |    * | ||
|  |    * @interface ChangeData | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   interface ChangeData { | ||
|  |     /** | ||
|  |      * The NotifyType of ChangeData | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     type: NotifyType; | ||
|  |     /** | ||
|  |      * The changed uris | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     uris: Array<string>; | ||
|  |     /** | ||
|  |      * Change details of the asset uris to an album. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     extraUris: Array<string>; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * PhotoViewMIMETypes represents the type of media resource that photo picker selects. | ||
|  |    * | ||
|  |    * @enum { string } PhotoViewMIMETypes | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   export enum PhotoViewMIMETypes { | ||
|  |     /** | ||
|  |      * IMAGE_TYPE indicates that the selected media resources are images. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     IMAGE_TYPE = 'image/*', | ||
|  |     /** | ||
|  |      * VIDEO_TYPE indicates that the selected media resources are videos. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     VIDEO_TYPE = 'video/*', | ||
|  |     /** | ||
|  |      * IMAGE_VIDEO_TYPE indicates that the selected media resources are images and videos. | ||
|  |      * | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     IMAGE_VIDEO_TYPE = '*/*' | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * PhotoSelectOptions Object | ||
|  |    * | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   class PhotoSelectOptions { | ||
|  |     /** | ||
|  |      * The Type of the file in the picker window. | ||
|  |      * | ||
|  |      * @type { ?PhotoViewMIMETypes } | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     MIMEType?: PhotoViewMIMETypes; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Maximum number of images for a single selection. | ||
|  |      * | ||
|  |      * @type { ?number } | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     maxSelectNumber?: number; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * PhotoSelectResult Object | ||
|  |    * | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   class PhotoSelectResult { | ||
|  |     /** | ||
|  |      * The uris for the selected files. | ||
|  |      * | ||
|  |      * @type { Array<string> } | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     photoUris: Array<string>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Original option. | ||
|  |      * | ||
|  |      * @type { boolean } | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     isOriginalPhoto: boolean; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * PhotoViewPicker Object | ||
|  |    * | ||
|  |    * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |    * @since 10 | ||
|  |    */ | ||
|  |   class PhotoViewPicker { | ||
|  |     /** | ||
|  |      * Pull up the photo picker based on the selection mode. | ||
|  |      * | ||
|  |      * @param { PhotoSelectOptions } option - represents the options provided in select mode. | ||
|  |      * @returns { Promise<PhotoSelectResult> } Returns the uris for the selected files. | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900042 - Unknown error | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     select(option?: PhotoSelectOptions): Promise<PhotoSelectResult>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Pull up the photo picker based on the selection mode. | ||
|  |      * | ||
|  |      * @param { PhotoSelectOptions } option - represents the options provided in select mode. | ||
|  |      * @param { AsyncCallback<PhotoSelectResult> } callback - callback | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900042 - Unknown error | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     select(option: PhotoSelectOptions, callback: AsyncCallback<PhotoSelectResult>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Pull up the photo picker based on the selection mode. | ||
|  |      * | ||
|  |      * @param { AsyncCallback<PhotoSelectResult> } callback - callback | ||
|  |      * @throws { BusinessError } 401 - if parameter is invalid | ||
|  |      * @throws { BusinessError } 13900042 - Unknown error | ||
|  |      * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core | ||
|  |      * @since 10 | ||
|  |      */ | ||
|  |     select(callback: AsyncCallback<PhotoSelectResult>): void; | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | export default photoAccessHelper; |