1692 lines
		
	
	
		
			45 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			1692 lines
		
	
	
		
			45 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * Copyright (C) 2022 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 {BusinessError, ErrorCallback, AsyncCallback} from './basic';
							 | 
						||
| 
								 | 
							
								import { Context } from './app/context';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @name camera
							 | 
						||
| 
								 | 
							
								 * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								 * @since 9
							 | 
						||
| 
								 | 
							
								 * @systemapi
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								declare namespace camera {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Creates a CameraManager instance.
							 | 
						||
| 
								 | 
							
								   * @param context Current application context.
							 | 
						||
| 
								 | 
							
								   * @returns CameraManager instance.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								   * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  function getCameraManager(context: Context): CameraManager;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for camera status.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum CameraStatus {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Appear status.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_STATUS_APPEAR = 0,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Disappear status.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_STATUS_DISAPPEAR = 1,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Available status.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_STATUS_AVAILABLE = 2,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Unavailable status.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_STATUS_UNAVAILABLE = 3
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Profile for camera streams.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface Profile {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Camera format.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly format: CameraFormat;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Picture size.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly size: Size;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Frame rate range.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface FrameRateRange {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Min frame rate.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly min: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Max frame rate.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly max: number;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Video profile.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface VideoProfile extends Profile {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Frame rate in unit fps (frames per second).
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly frameRateRange: FrameRateRange;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Camera output capability.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface CameraOutputCapability  {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Preview profiles.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly previewProfiles: Array<Profile>;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Photo profiles.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly photoProfiles: Array<Profile>;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Video profiles.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly videoProfiles: Array<VideoProfile>;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * All the supported metadata Object Types.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly supportedMetadataObjectTypes: Array<MetadataObjectType>;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for camera error code.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum CameraErrorCode {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    INVALID_ARGUMENT = 7400101,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Operation not allow.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    OPERATION_NOT_ALLOWED = 7400102,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Session not config.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    SESSION_NOT_CONFIG = 7400103,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Session not running.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    SESSION_NOT_RUNNING = 7400104,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Session config locked.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    SESSION_CONFIG_LOCKED = 7400105,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Device setting locked.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    DEVICE_SETTING_LOCKED = 7400106,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Can not use camera cause of conflict.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CONFILICT_CAMERA = 7400107,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Camera disabled cause of security reason.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    DEVICE_DISABLED = 7400108,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    SERVICE_FATAL_ERROR = 7400201
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Camera manager object.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface CameraManager  {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets supported camera descriptions.
							 | 
						||
| 
								 | 
							
								     * @returns An array of supported cameras.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getSupportedCameras(): Array<CameraDevice>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets supported output capability for specific camera.
							 | 
						||
| 
								 | 
							
								     * @param camera Camera device.
							 | 
						||
| 
								 | 
							
								     * @returns The camera output capability.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Determine whether camera is muted.
							 | 
						||
| 
								 | 
							
								     * @returns Is camera muted.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    isCameraMuted(): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Determine whether camera mute is supported.
							 | 
						||
| 
								 | 
							
								     * @returns Is camera mute supported.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @systemapi
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    isCameraMuteSupported(): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Mute camera.
							 | 
						||
| 
								 | 
							
								     * @param mute Mute camera if TRUE, otherwise unmute camera.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @systemapi
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    muteCamera(mute: boolean): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates a CameraInput instance by camera.
							 | 
						||
| 
								 | 
							
								     * @param camera Camera device used to create the instance.
							 | 
						||
| 
								 | 
							
								     * @returns The CameraInput instance.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     * @permission ohos.permission.CAMERA
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    createCameraInput(camera: CameraDevice): CameraInput;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates a CameraInput instance by camera position and type.
							 | 
						||
| 
								 | 
							
								     * @param position Target camera position.
							 | 
						||
| 
								 | 
							
								     * @param type Target camera type.
							 | 
						||
| 
								 | 
							
								     * @returns The CameraInput instance.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     * @permission ohos.permission.CAMERA
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    createCameraInput(position: CameraPosition, type: CameraType): CameraInput;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates a PreviewOutput instance.
							 | 
						||
| 
								 | 
							
								     * @param profile Preview output profile.
							 | 
						||
| 
								 | 
							
								     * @param surfaceId Surface object id used in camera photo output.
							 | 
						||
| 
								 | 
							
								     * @returns The PreviewOutput instance.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates a PhotoOutput instance.
							 | 
						||
| 
								 | 
							
								     * @param profile Photo output profile.
							 | 
						||
| 
								 | 
							
								     * @param surfaceId Surface object id used in camera photo output.
							 | 
						||
| 
								 | 
							
								     * @returns The PhotoOutput instance.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates a VideoOutput instance.
							 | 
						||
| 
								 | 
							
								     * @param profile Video profile.
							 | 
						||
| 
								 | 
							
								     * @param surfaceId Surface object id used in camera video output.
							 | 
						||
| 
								 | 
							
								     * @returns The VideoOutput instance.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    createVideoOutput(profile: VideoProfile, surfaceId: string): VideoOutput;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Creates a MetadataOutput instance.
							 | 
						||
| 
								 | 
							
								     * @param metadataObjectTypes Array of MetadataObjectType.
							 | 
						||
| 
								 | 
							
								     * @returns The MetadataOutput instance.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): MetadataOutput;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets a CaptureSession instance.
							 | 
						||
| 
								 | 
							
								     * @returns The CaptureSession instance.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    createCaptureSession(): CaptureSession;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes camera status change event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the camera status change.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'cameraStatus', callback: AsyncCallback<CameraStatusInfo>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes camera mute change event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the camera mute change.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @systemapi
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'cameraMute', callback: AsyncCallback<boolean>): void;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Camera status info.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface CameraStatusInfo {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Camera instance.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    camera: CameraDevice;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Current camera status.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    status: CameraStatus;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for camera position.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum CameraPosition {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Unspecified position.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_POSITION_UNSPECIFIED = 0,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Back position.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_POSITION_BACK = 1,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Front position.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_POSITION_FRONT = 2
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for camera type.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum CameraType {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Default camera type
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_TYPE_DEFAULT = 0,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Wide camera
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_TYPE_WIDE_ANGLE = 1,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Ultra wide camera
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_TYPE_ULTRA_WIDE = 2,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Telephoto camera
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_TYPE_TELEPHOTO = 3,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * True depth camera
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_TYPE_TRUE_DEPTH = 4
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for camera connection type.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum ConnectionType {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Built-in camera.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_CONNECTION_BUILT_IN = 0,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Camera connected using USB
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_CONNECTION_USB_PLUGIN = 1,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Remote camera
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_CONNECTION_REMOTE = 2
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Camera device object.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface CameraDevice {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Camera id attribute.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly cameraId: string;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Camera position attribute.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly cameraPosition: CameraPosition;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Camera type attribute.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly cameraType: CameraType;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Camera connection type attribute.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    readonly connectionType: ConnectionType;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Size parameter.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface Size {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Height.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    height: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Width.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    width: number;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Point parameter.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface Point {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * x co-ordinate
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    x: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * y co-ordinate
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    y: number;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Camera input object.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface CameraInput {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Open camera.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400107 - Can not use camera cause of conflict.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400108 - Camera disabled cause of security reason.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    open(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Open camera.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400107 - Can not use camera cause of conflict.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400108 - Camera disabled cause of security reason.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    open(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Close camera.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    close(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Close camera.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    close(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes error event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param camera Camera device.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the camera input errors.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'error', camera: CameraDevice, callback: ErrorCallback<BusinessError>): void;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for camera format type.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								   enum CameraFormat {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * RGBA 8888 Format.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_FORMAT_RGBA_8888 = 3,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * YUV 420 Format.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_FORMAT_YUV_420_SP = 1003,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * JPEG Format.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    CAMERA_FORMAT_JPEG = 2000
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for flash mode.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum FlashMode {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Close mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FLASH_MODE_CLOSE = 0,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Open mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FLASH_MODE_OPEN = 1,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Auto mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FLASH_MODE_AUTO = 2,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Always open mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FLASH_MODE_ALWAYS_OPEN = 3
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for exposure mode.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum ExposureMode {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Lock exposure mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    EXPOSURE_MODE_LOCKED = 0,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Auto exposure mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								     EXPOSURE_MODE_AUTO = 1,
							 | 
						||
| 
								 | 
							
								     /**
							 | 
						||
| 
								 | 
							
								     * Continuous automatic exposure.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    EXPOSURE_MODE_CONTINUOUS_AUTO = 2
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for focus mode.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum FocusMode {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Manual mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FOCUS_MODE_MANUAL = 0,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Continuous auto mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FOCUS_MODE_CONTINUOUS_AUTO = 1,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Auto mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FOCUS_MODE_AUTO = 2,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Locked mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FOCUS_MODE_LOCKED = 3
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for focus state.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum FocusState {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Scan state.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FOCUS_STATE_SCAN = 0,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Focused state.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FOCUS_STATE_FOCUSED = 1,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Unfocused state.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    FOCUS_STATE_UNFOCUSED = 2
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enum for video stabilization mode.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								   enum VideoStabilizationMode {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Turn off video stablization.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    OFF = 0,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * LOW mode provides basic stabilization effect.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    LOW = 1,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * MIDDLE mode means algorithms can achieve better effects than LOW mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    MIDDLE = 2,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * HIGH mode means algorithms can achieve better effects than MIDDLE mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    HIGH = 3,
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Camera HDF can select mode automatically.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    AUTO = 4
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Capture session object.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface CaptureSession {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Begin capture session config.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400105 - Session config locked.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    beginConfig(): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Commit capture session config.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400102 - Operation not allow.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    commitConfig(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Commit capture session config.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400102 - Operation not allow.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    commitConfig(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Adds a camera input.
							 | 
						||
| 
								 | 
							
								     * @param cameraInput Target camera input to add.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400102 - Operation not allow.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    addInput(cameraInput: CameraInput): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Removes a camera input.
							 | 
						||
| 
								 | 
							
								     * @param cameraInput Target camera input to remove.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400102 - Operation not allow.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    removeInput(cameraInput: CameraInput): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Adds a camera output.
							 | 
						||
| 
								 | 
							
								     * @param cameraOutput Target camera output to add.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400102 - Operation not allow.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    addOutput(cameraOutput: CameraOutput): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Removes a camera output.
							 | 
						||
| 
								 | 
							
								     * @param previewOutput Target camera output to remove.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400102 - Operation not allow.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    removeOutput(cameraOutput: CameraOutput): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Starts capture session.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    start(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Starts capture session.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    start(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Stops capture session.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    stop(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Stops capture session.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    stop(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Release capture session instance.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    release(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Release capture session instance.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    release(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Check if device has flash light.
							 | 
						||
| 
								 | 
							
								     * @returns The flash light support status.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    hasFlash(): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Checks whether a specified flash mode is supported.
							 | 
						||
| 
								 | 
							
								     * @param flashMode Flash mode
							 | 
						||
| 
								 | 
							
								     * @returns Is the flash mode supported.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    isFlashModeSupported(flashMode: FlashMode): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets current flash mode.
							 | 
						||
| 
								 | 
							
								     * @returns The current flash mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getFlashMode(): FlashMode;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Sets flash mode.
							 | 
						||
| 
								 | 
							
								     * @param flashMode Target flash mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    setFlashMode(flashMode: FlashMode): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Checks whether a specified exposure mode is supported.
							 | 
						||
| 
								 | 
							
								     * @param aeMode Exposure mode
							 | 
						||
| 
								 | 
							
								     * @returns Is the exposure mode supported.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    isExposureModeSupported(aeMode: ExposureMode): boolean;
							 | 
						||
| 
								 | 
							
								 
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets current exposure mode.
							 | 
						||
| 
								 | 
							
								     * @returns The current exposure mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getExposureMode(): ExposureMode;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								     /**
							 | 
						||
| 
								 | 
							
								      * Sets Exposure mode.
							 | 
						||
| 
								 | 
							
								      * @param aeMode Exposure mode
							 | 
						||
| 
								 | 
							
								      * @since 9
							 | 
						||
| 
								 | 
							
								      * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								      * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								      */
							 | 
						||
| 
								 | 
							
								    setExposureMode(aeMode: ExposureMode): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets current metering point.
							 | 
						||
| 
								 | 
							
								     * @returns The current metering point.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getMeteringPoint(): Point;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Set the center point of the metering area.
							 | 
						||
| 
								 | 
							
								     * @param point metering point
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    setMeteringPoint(point: Point): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Query the exposure compensation range.
							 | 
						||
| 
								 | 
							
								     * @returns The array of compenstation range.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getExposureBiasRange(): Array<number>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Set exposure compensation.
							 | 
						||
| 
								 | 
							
								     * @param exposureBias Exposure compensation
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    setExposureBias(exposureBias: number): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Query the exposure value.
							 | 
						||
| 
								 | 
							
								     * @returns The exposure value.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getExposureValue(): number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Checks whether a specified focus mode is supported.
							 | 
						||
| 
								 | 
							
								     * @param afMode Focus mode.
							 | 
						||
| 
								 | 
							
								     * @returns Is the focus mode supported.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    isFocusModeSupported(afMode: FocusMode): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets current focus mode.
							 | 
						||
| 
								 | 
							
								     * @returns The current focus mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getFocusMode(): FocusMode;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Sets focus mode.
							 | 
						||
| 
								 | 
							
								     * @param afMode Target focus mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    setFocusMode(afMode: FocusMode): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Sets focus point.
							 | 
						||
| 
								 | 
							
								     * @param afMode Target focus point.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    setFocusPoint(point: Point): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets current focus point.
							 | 
						||
| 
								 | 
							
								     * @returns The current focus point.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getFocusPoint(): Point;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets current focal length.
							 | 
						||
| 
								 | 
							
								     * @returns The current focal point.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getFocalLength(): number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets all supported zoom ratio range.
							 | 
						||
| 
								 | 
							
								     * @returns The zoom ratio range.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getZoomRatioRange(): Array<number>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Gets zoom ratio.
							 | 
						||
| 
								 | 
							
								     * @returns The zoom ratio value.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getZoomRatio(): number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Sets zoom ratio.
							 | 
						||
| 
								 | 
							
								     * @param zoomRatio Target zoom ratio.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    setZoomRatio(zoomRatio: number): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Check whether the specified video stabilization mode is supported.
							 | 
						||
| 
								 | 
							
								     * @param vsMode Video Stabilization mode.
							 | 
						||
| 
								 | 
							
								     * @returns Is flash mode supported.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Query the video stabilization mode currently in use.
							 | 
						||
| 
								 | 
							
								     * @returns The current video stabilization mode.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    getActiveVideoStabilizationMode(): VideoStabilizationMode;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Set video stabilization mode.
							 | 
						||
| 
								 | 
							
								     * @param mode video stabilization mode to set.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    setVideoStabilizationMode(mode: VideoStabilizationMode): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes focus status change event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the focus state change.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'focusStateChange', callback: AsyncCallback<FocusState>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes error event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the capture session errors.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'error', callback: ErrorCallback<BusinessError>): void;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Camera output object.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface CameraOutput {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Release output instance.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    release(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Release output instance.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    release(): Promise<void>;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Preview output object.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface PreviewOutput extends CameraOutput {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Start output instance.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    start(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Start output instance.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    start(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Stop output instance.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    stop(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Stop output instance.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    stop(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes frame start event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'frameStart', callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes frame end event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'frameEnd', callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes error event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the preview output errors.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'error', callback: ErrorCallback<BusinessError>): void;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enumerates the image rotation angles.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum ImageRotation {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The capture image rotates 0 degrees.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    ROTATION_0 = 0,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The capture image rotates 90 degrees.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    ROTATION_90 = 90,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The capture image rotates 180 degrees.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    ROTATION_180 = 180,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The capture image rotates 270 degrees.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    ROTATION_270 = 270
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  interface Location {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Latitude.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    latitude: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Longitude.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    longitude: number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Altitude.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    altitude: number;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Enumerates the image quality levels.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum QualityLevel {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * High image quality.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    QUALITY_LEVEL_HIGH = 0,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Medium image quality.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    QUALITY_LEVEL_MEDIUM = 1,
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Low image quality.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    QUALITY_LEVEL_LOW = 2
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Photo capture options to set.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface PhotoCaptureSetting {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Photo image quality.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    quality?: QualityLevel;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Photo rotation.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    rotation?: ImageRotation;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Photo location.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    location?: Location;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Set the mirror photo function switch, default to false.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    mirror?: boolean;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Photo output object.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface PhotoOutput extends CameraOutput {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Start capture output.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400104 - Session not running.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    capture(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Start capture output.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400104 - Session not running.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								     capture(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Start capture output.
							 | 
						||
| 
								 | 
							
								     * @param setting Photo capture settings.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400104 - Session not running.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    capture(setting: PhotoCaptureSetting, callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Start capture output.
							 | 
						||
| 
								 | 
							
								     * @param setting Photo capture settings.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400104 - Session not running.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    capture(setting?: PhotoCaptureSetting): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Check whether to support mirror photo.
							 | 
						||
| 
								 | 
							
								     * @returns Is the mirror supported.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    isMirrorSupported(): boolean;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes capture start event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the capture ID.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'captureStart', callback: AsyncCallback<number>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes frame shutter event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the frame shutter information.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'frameShutter', callback: AsyncCallback<FrameShutterInfo>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes capture end event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the capture end information.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'captureEnd', callback: AsyncCallback<CaptureEndInfo>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes error event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the photo output errors.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'error', callback: ErrorCallback<BusinessError>): void;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Frame shutter callback info.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface FrameShutterInfo {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Capture id.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    captureId: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Timestamp for frame.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    timestamp: number;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Capture end info.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface CaptureEndInfo {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Capture id.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    captureId: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Frame count.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    frameCount: number;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Video output object.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface VideoOutput extends CameraOutput {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Start video output.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    start(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Start video output.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    start(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Stop video output.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    stop(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Stop video output.
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    stop(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes frame start event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'frameStart', callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes frame end event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'frameEnd', callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes error event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the video output errors.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'error', callback: ErrorCallback<BusinessError>): void;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Metadata object type.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  enum MetadataObjectType {
							 | 
						||
| 
								 | 
							
								    FACE_DETECTION = 0
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Rectangle definition.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface Rect {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * X coordinator of top left point.
							 | 
						||
| 
								 | 
							
								     * @param Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    topLeftX: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Y coordinator of top left point.
							 | 
						||
| 
								 | 
							
								     * @param Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    topLeftY: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Width of this rectangle.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    width: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Height of this rectangle.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    height: number;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Metadata object basis.
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface MetadataObject {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Metadata object type.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								     readonly type: MetadataObjectType;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Metadata object timestamp in milliseconds.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								     readonly timestamp: number;
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * The axis-aligned bounding box of detected metadata object.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								     readonly boundingBox: Rect;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Metadata Output object
							 | 
						||
| 
								 | 
							
								   * @since 9
							 | 
						||
| 
								 | 
							
								   * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  interface MetadataOutput extends CameraOutput {
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Start output metadata
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    start(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Start output metadata
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400103 - Session not config.
							 | 
						||
| 
								 | 
							
								     * @throws { BusinessError } 7400201 - Camera service fatal error.
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    start(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Stop output metadata
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    stop(callback: AsyncCallback<void>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Stop output metadata
							 | 
						||
| 
								 | 
							
								     * @returns Promise used to return the result.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    stop(): Promise<void>;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes to metadata objects available event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the available metadata objects.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'metadataObjectsAvailable', callback: AsyncCallback<Array<MetadataObject>>): void;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    /**
							 | 
						||
| 
								 | 
							
								     * Subscribes error event callback.
							 | 
						||
| 
								 | 
							
								     * @param type Event type.
							 | 
						||
| 
								 | 
							
								     * @param callback Callback used to get the video output errors.
							 | 
						||
| 
								 | 
							
								     * @since 9
							 | 
						||
| 
								 | 
							
								     * @syscap SystemCapability.Multimedia.Camera.Core
							 | 
						||
| 
								 | 
							
								     */
							 | 
						||
| 
								 | 
							
								    on(type: 'error', callback: ErrorCallback<BusinessError>): void;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								export default camera;
							 |