import type { IDetectedBarcode } from "@yudiel/react-qr-scanner"; export type QrCameraScannerStatus = "idle" | "requesting_permission" | "scanning" | "permission_denied" | "unsupported" | "scan_error" | "submitting"; export type QrCameraScannerEventType = "scanner_init" | "stream_started" | "first_frame" | "decode_success" | "decode_error" | "start_failed" | "auto_retry" | "stopped"; export interface QrCameraScannerEvent { type: QrCameraScannerEventType; payload?: Record; } export type QrCameraScannerMessages = { invalidCode: string; decodeError: string; autoRetrying: string; secureContextRequired: string; unsupportedBrowser: string; screenInitFailed: string; permissionDenied: string; noCameraFound: string; cameraBusy: string; startFailed: string; }; type UseQrCameraScannerParams = { enabled: boolean; isSubmitting?: boolean; onDetected: (value: string) => void; parsePayload: (rawValue: string) => string | null; messages: QrCameraScannerMessages; onScannerEvent?: (event: QrCameraScannerEvent) => void; }; export declare const useQrCameraScanner: ({ enabled, isSubmitting, onDetected, parsePayload, messages, onScannerEvent, }: UseQrCameraScannerParams) => { data: { status: QrCameraScannerStatus; errorMessage: string | null; isScanning: boolean; isSubmitting: boolean; needsManualFallback: boolean; isPaused: boolean; restartKey: number; }; fns: { retry: () => void; handleScan: (detectedCodes: IDetectedBarcode[]) => void; handleError: (error: unknown) => void; }; }; export {};