import { PluginListenerHandle } from "@capacitor/core"; 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; /** * Web Only */ setElement(ele: HTMLElement): Promise; startCamera(): Promise; stopCamera(): Promise; /** * take a snapshot as base64. */ takeSnapshot(options: { quality?: number; }): Promise<{ base64: string; }>; /** * save a frame internally. Android and iOS only. */ saveFrame(): Promise<{ success: boolean; }>; /** * take a snapshot on to a canvas. Web Only */ takeSnapshot2(options: { canvas: HTMLCanvasElement; maxLength?: number; }): Promise<{ scaleRatio?: number; }>; takePhoto(options: { pathToSave?: string; includeBase64?: boolean; }): Promise<{ path?: string; base64?: string; blob?: Blob; }>; toggleTorch(options: { on: boolean; }): Promise; /** * get the orientation of the device. */ getOrientation(): Promise<{ "orientation": "PORTRAIT" | "LANDSCAPE"; }>; startRecording(): Promise; stopRecording(options: { includeBase64?: boolean; }): Promise<{ path?: string; base64?: string; blob?: Blob; }>; setLayout(options: { top: string; left: string; width: string; height: string; }): Promise; requestCameraPermission(): Promise; requestMicroPhonePermission(): Promise; isOpen(): Promise<{ isOpen: boolean; }>; addListener(eventName: 'onPlayed', listenerFunc: onPlayedListener): Promise; addListener(eventName: 'onOrientationChanged', listenerFunc: onOrientationChangedListener): Promise; removeAllListeners(): Promise; } export declare type onPlayedListener = (result: { resolution: string; }) => void; export declare type onOrientationChangedListener = () => 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 }