import { Frame } from 'react-native-vision-camera'; import type { AndroidBarcode } from './android'; import type { Key, Point, Size } from './common'; import type { iOSBarcode, iOSBoundingBox } from './ios'; export type VisionCameraConstants = { MODULE_NAME: string; BARCODE_TYPES: { [key: string]: number }; BARCODE_FORMATS: { [key: string]: number }; }; export type BoundingBox = iOSBoundingBox; export type CornerPoints = Point[]; export type BarcodeType = | 'aztec' | 'codabar' | 'code-128' | 'code-39' | 'code-93' | 'data-matrix' | 'ean-13' | 'ean-8' | 'gs1-databar' | 'itf' | 'msi-plessey' | 'pdf-417' | 'qr' | 'upc-a' | 'upc-e' | 'unknown'; export type Barcode = { value: string | null; type: BarcodeType; boundingBox: BoundingBox; cornerPoints: CornerPoints; native: iOSBarcode | AndroidBarcode; }; export type Highlight = Barcode & { key: Key; // Adjusted corners values to scale cornerPoints: CornerPoints; // Adjusted bounding box value to scale boundingBox: BoundingBox; }; // Should be a worklet function export type PointMapperFn = ( point: Point, layout: Size, frame: Frame['orientation'], ) => Point;