import { PluginListenerHandle } from "@capacitor/core"; import { DCEFrame } from "dynamsoft-camera-enhancer"; export interface CameraPreviewPlugin { initialize(): Promise; getResolution(): Promise<{ resolution: string; }>; setResolution(options: { resolution: number; }): Promise; getAllCameras(): Promise<{ cameras: string[]; }>; getSelectedCamera(): Promise<{ selectedCamera: string; }>; selectCamera(options: { cameraID: string; }): Promise; setScanRegion(options: { region: ScanRegion; }): Promise; setZoom(options: { factor: number; }): Promise; setFocus(options: { x: number; y: number; }): Promise; /** * Web Only */ setDefaultUIElementURL(url: string): Promise; startCamera(): Promise; stopCamera(): Promise; pauseCamera(): Promise; resumeCamera(): Promise; /** * take a snapshot as base64. */ takeSnapshot(options: { quality?: number; }): Promise<{ base64: string; }>; /** * take a snapshot as DCEFrame. Web Only */ takeSnapshot2(): Promise<{ frame: DCEFrame; }>; takePhoto(): Promise<{ base64: string; }>; toggleTorch(options: { on: boolean; }): Promise; requestCameraPermission(): Promise; isOpen(): Promise<{ isOpen: boolean; }>; addListener(eventName: 'onPlayed', listenerFunc: onPlayedListener): Promise & PluginListenerHandle; removeAllListeners(): Promise; } export declare type onPlayedListener = (result: { resolution: string; }) => void; /** * measuredByPercentage: 0 in pixel, 1 in percent */ export interface ScanRegion { left: number; top: number; right: number; bottom: number; measuredByPercentage: number; } export declare enum EnumResolution { RESOLUTION_AUTO = 0, RESOLUTION_480P = 1, RESOLUTION_720P = 2, RESOLUTION_1080P = 3, RESOLUTION_2K = 4, RESOLUTION_4K = 5 }