import { WebPlugin } from '@capacitor/core'; import type { CameraDevice, CameraOpacityOptions, CameraPreviewFlashMode, CameraPreviewOptions, CameraPreviewPictureOptions, CameraPreviewPlugin, CameraSampleOptions, CameraPermissionStatus, DeviceOrientation, GridMode, ExposureMode, FlashMode, LensInfo, PermissionRequestOptions, SafeAreaInsets } from './definitions'; export declare class CameraPreviewWeb extends WebPlugin implements CameraPreviewPlugin { /** * track which camera is used based on start options * used in capture */ private isBackCamera; private currentDeviceId; private videoElement; private isStarted; private orientationListenerBound; private mediaRecorder; private recordedChunks; constructor(); checkPermissions(options?: { disableAudio?: boolean; }): Promise; requestPermissions(options?: PermissionRequestOptions): Promise; private mapWebPermission; private getCurrentOrientation; private ensureOrientationListener; getOrientation(): Promise<{ orientation: DeviceOrientation; }>; getSafeAreaInsets(): Promise; getZoomButtonValues(): Promise<{ values: number[]; }>; getSupportedPictureSizes(): Promise; start(options: CameraPreviewOptions): Promise<{ width: number; height: number; x: number; y: number; }>; private stopStream; stop(_options?: { force?: boolean; }): Promise; capture(options: CameraPreviewPictureOptions): Promise; captureSample(_options: CameraSampleOptions): Promise; stopRecordVideo(): Promise; startRecordVideo(options: CameraPreviewOptions): Promise; getSupportedFlashModes(): Promise<{ result: CameraPreviewFlashMode[]; }>; getHorizontalFov(): Promise<{ result: any; }>; setFlashMode(_options: { flashMode: CameraPreviewFlashMode | string; }): Promise; flip(): Promise; setOpacity(_options: CameraOpacityOptions): Promise; isRunning(): Promise<{ isRunning: boolean; }>; getAvailableDevices(): Promise<{ devices: CameraDevice[]; }>; getZoom(): Promise<{ min: number; max: number; current: number; lens: LensInfo; }>; setZoom(options: { level: number; ramp?: boolean; autoFocus?: boolean; }): Promise; getFlashMode(): Promise<{ flashMode: FlashMode; }>; getDeviceId(): Promise<{ deviceId: string; }>; setDeviceId(options: { deviceId: string; }): Promise; getAspectRatio(): Promise<{ aspectRatio: '4:3' | '16:9'; }>; setAspectRatio(options: { aspectRatio: '4:3' | '16:9'; x?: number; y?: number; }): Promise<{ width: number; height: number; x: number; y: number; }>; private createGridOverlay; setGridMode(options: { gridMode: GridMode; }): Promise; getGridMode(): Promise<{ gridMode: GridMode; }>; getPreviewSize(): Promise<{ x: number; y: number; width: number; height: number; }>; setPreviewSize(options: { x: number; y: number; width: number; height: number; }): Promise<{ width: number; height: number; x: number; y: number; }>; setFocus(options: { x: number; y: number; }): Promise; getExposureModes(): Promise<{ modes: ExposureMode[]; }>; getExposureMode(): Promise<{ mode: ExposureMode; }>; setExposureMode(_options: { mode: ExposureMode; }): Promise; getExposureCompensationRange(): Promise<{ min: number; max: number; step: number; }>; getExposureCompensation(): Promise<{ value: number; }>; setExposureCompensation(_options: { value: number; }): Promise; deleteFile(_options: { path: string; }): Promise<{ success: boolean; }>; getPluginVersion(): Promise<{ version: string; }>; }