import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core'; import { QrScannerMetadata, QrScannerState } from './types'; import * as i0 from "@angular/core"; /** * val-qr-scanner * * Organism: scanner de códigos QR por cámara (`@zxing/browser` + * `@zxing/library`). Emite el texto decodificado por `(scanned)`. * * Maneja: permiso de cámara denegado (`denied`), ausencia de cámara * (`no-camera`), selector cuando hay varias cámaras, y botón start/stop. Hace * cleanup del stream en `ngOnDestroy`. i18n auto-registrado (namespace * `QrScanner`). * * Object-first (`@Input() props`) + un único `@Output() scanned`. * * @example * ```html * * ``` */ export declare class QrScannerComponent implements AfterViewInit, OnDestroy { props: QrScannerMetadata; /** Emite el texto decodificado del QR. */ scanned: EventEmitter; videoRef: ElementRef; private i18n; readonly state: import("@angular/core").WritableSignal; readonly devices: import("@angular/core").WritableSignal; readonly activeDeviceId: import("@angular/core").WritableSignal; private reader; private controls; private lastValue; private lastAt; private viewReady; constructor(); ngAfterViewInit(): void; ngOnDestroy(): void; t(key: string): string; stateMessage(): string; deviceLabel(d: MediaDeviceInfo): string; start(deviceId?: string): Promise; stop(): void; onSelectDevice(deviceId: string): Promise; private handleResult; private handleStartError; /** Detiene el decode + libera el stream de la cámara. */ private teardown; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }