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;
 |