import React from 'react'; interface UPIData { type: "upi"; raw: string; upiId: string; merchantName?: string; amount?: string; /** Merchant Category Code from UPI QR (4-digit ISO 18245), if present */ mcc?: string; } interface QRScannerProps { /** Called when a valid UPI QR is successfully scanned. */ onScan: (data: UPIData) => void; /** Called on scanner errors (camera permission, library load, etc). */ onError?: (error: Error) => void; /** Called when the user clicks the close button (if shown). */ onClose?: () => void; /** Width of the scanner viewport in pixels. */ width?: number; /** Height of the scanner viewport in pixels. */ height?: number; /** FPS for the camera feed. */ fps?: number; /** Whether to show a close button. */ showCloseButton?: boolean; /** CSS class for the container. */ className?: string; /** Inline styles for the container. */ style?: React.CSSProperties; /** Debounce interval in ms to prevent duplicate scans. */ debounceMs?: number; } /** * React component that renders a camera-based QR scanner. * * Only UPI QR codes are emitted via `onScan`; non-UPI codes are ignored. * * @example * ```tsx * import { QRScanner } from "@vouch/sdk/react"; * * console.log(upi.upiId)} * onError={(e) => toast.error(e.message)} * /> * ``` */ declare const QRScanner: React.FC; export { QRScanner, type QRScannerProps };