import { ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core'; import { AsyncSubject, BehaviorSubject } from 'rxjs'; import { ScannerQRCodeConfig, ScannerQRCodeDevice, ScannerQRCodeResult, ScannerQRCodeSelectedFiles, ScannerQRCodeSymbolType } from './ngx-scanner-qrcode.options'; import * as i0 from "@angular/core"; export declare class NgxScannerQrcodeComponent implements OnInit, OnDestroy { private renderer; private elementRef; /** * Element * playsinline required to tell iOS safari we don't want fullscreen */ video: ElementRef; canvas: ElementRef; resultsPanel: ElementRef; /** * EventEmitter */ event: EventEmitter; /** * Input */ config: ScannerQRCodeConfig; src: string | undefined; fps: number | undefined; vibrate: number | undefined; decode: string | undefined; isBeep: boolean | undefined; isMasked: boolean | undefined; unScan: boolean | undefined; loadWasmUrl: string | undefined; symbolType: ScannerQRCodeSymbolType[] | undefined; constraints: MediaStreamConstraints | any; canvasStyles: CanvasRenderingContext2D[] | any[]; /** * Export */ isStart: boolean; isPause: boolean; isLoading: boolean; isTorch: boolean; data: BehaviorSubject; devices: BehaviorSubject; deviceIndexActive: number; /** * Private */ private rAF_ID; private dataForResize; private ready; private STATUS; constructor(renderer: Renderer2, elementRef: ElementRef); ngOnInit(): void; /** * loadCameraDevices */ loadCameraDevices(): void; /** * start * @param playDeviceCustom * @returns */ start(playDeviceCustom?: Function): AsyncSubject; /** * stop * @returns */ stop(): AsyncSubject; /** * play * @returns */ play(): AsyncSubject; /** * pause * @returns */ pause(): AsyncSubject; /** * playDevice * @param deviceId * @param as * @returns */ playDevice(deviceId: string, as?: AsyncSubject): AsyncSubject; /** * loadImage * @param src * @returns */ loadImage(src: string): AsyncSubject; /** * torcher * @returns */ torcher(): AsyncSubject; /** * applyConstraints * @param constraints * @param deviceIndex * @returns */ applyConstraints(constraints: MediaTrackConstraintSet | MediaTrackConstraints | any, deviceIndex?: number): AsyncSubject; /** * getConstraints * @param deviceIndex * @returns */ getConstraints(deviceIndex?: number): MediaTrackConstraintSet | MediaTrackConstraints; /** * download * @param fileName * @param percentage * @param quality * @returns */ download(fileName?: string, percentage?: number, quality?: number): AsyncSubject; /** * resize */ private resize; /** * overrideConfig */ private overrideConfig; /** * safariWebRTC * Fix issue on safari * https://webrtchacks.com/guide-to-safari-webrtc * @param as * @param playDeviceCustom */ private safariWebRTC; /** * playDeviceOptinal * @param as * @param playDeviceCustom */ private playDeviceOptinal; /** * drawImage * @param element * @param callback */ private drawImage; /** * eventEmit * @param response */ private eventEmit; /** * Single-thread * Loop Recording on Camera * Must be destroy request * Not using: requestAnimationFrame * @param delay */ private requestAnimationFrame; /** * isReady */ get isReady(): AsyncSubject; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }