import type { BarcodeFormat, DetectedBarcode } from "barcode-detector/ponyfill"; export interface UseZxingOptions { paused?: boolean; formats?: BarcodeFormat[]; wasmUrl?: string; timeBetweenDecodingAttempts?: number; /** Extra rotation angles (degrees) to try when a frame fails to decode. Helps skewed 1D codes like EAN. */ trySkew?: boolean | number[]; onDecodeResult?: (result: DetectedBarcode) => void; onDecodeError?: (error: unknown) => void; onError?: (error: unknown) => void; } export interface UseZxingOptionsWithConstraints extends UseZxingOptions { constraints?: MediaStreamConstraints; } export interface UseZxingOptionsWithDeviceId extends UseZxingOptions { deviceId: string; } export declare const useZxing: (options?: UseZxingOptionsWithConstraints | UseZxingOptionsWithDeviceId) => { ref: import("react").RefObject; torch: { isOn: boolean; isAvailable: boolean | null; on: () => Promise; off: () => Promise; }; };