import { EventEmitter } from "events"; export interface QRScannerListener { onScan: (result: string) => void; onError: (error: Error) => void; } export interface QRScannerService { checkPermissions(): Promise; requestPermissions(): Promise; isSupported(): Promise; startScan(): Promise; stopScan(): Promise; addListener(listener: QRScannerListener): void; cleanup(): Promise; onStream(callback: (stream: MediaStream | null) => void): void; }