import type { CameraOutput } from 'react-native-vision-camera'; import type { BarcodeScannerOutputOptions } from './specs/BarcodeScannerFactory.nitro'; /** * Use a Barcode Scanner {@linkcode CameraOutput}. * * The Barcode Scanner {@linkcode CameraOutput} can be * attached to a {@linkcode CameraSession} or {@linkcode Camera} * component. * * @example * Attach to a `` component: * ```tsx * const device = ... * const scannerOutput = useBarcodeScannerOutput({ * barcodeFormats: ['all'], * onBarcodeScanned(barcodes) { * console.log(`Scanned ${barcodes.length} barcodes!`) * }, * onError(error) { * console.error(`Failed to scan barcodes!`, error) * } * }) * * return ( * * ) * ``` * @example * Attach to a `CameraSession`: * ```ts * const device = ... * const scannerOutput = useBarcodeScannerOutput({ * barcodeFormats: ['all'], * onBarcodeScanned(barcodes) { * console.log(`Scanned ${barcodes.length} barcodes!`) * }, * onError(error) { * console.error(`Failed to scan barcodes!`, error) * } * }) * const camera = useCamera({ * isActive: true, * device: device, * outputs: [scannerOutput] * }) * ``` */ export declare function useBarcodeScannerOutput({ barcodeFormats, outputResolution, onBarcodeScanned, onError, }: BarcodeScannerOutputOptions): CameraOutput;