1import PropTypes from 'prop-types';
2import React from 'react';
3import { ViewProps } from 'react-native';
4declare type BarCodeEvent = {
5    type: string;
6    data: string;
7    [key: string]: any;
8};
9export declare type BarCodeEventCallbackArguments = {
10    nativeEvent: BarCodeEvent;
11};
12export declare type BarCodeScannedCallback = (params: BarCodeEvent) => void;
13export interface BarCodeScannerProps extends ViewProps {
14    type?: 'front' | 'back' | number;
15    barCodeTypes?: string[];
16    onBarCodeScanned: BarCodeScannedCallback;
17}
18export declare class BarCodeScanner extends React.Component<BarCodeScannerProps> {
19    lastEvents: {
20        [key: string]: any;
21    };
22    lastEventsTimes: {
23        [key: string]: any;
24    };
25    static Constants: {
26        BarCodeType: any;
27        Type: any;
28    };
29    static ConversionTables: {
30        type: any;
31    };
32    static propTypes: {
33        onBarCodeScanned: PropTypes.Requireable<(...args: any[]) => any>;
34        barCodeTypes: PropTypes.Requireable<any[]>;
35        type: PropTypes.Requireable<React.ReactText>;
36        hitSlop?: PropTypes.Validator<import("react-native").Insets | undefined> | undefined;
37        onLayout?: PropTypes.Validator<((event: import("react-native").LayoutChangeEvent) => void) | undefined> | undefined;
38        pointerEvents?: PropTypes.Validator<"box-none" | "none" | "box-only" | "auto" | undefined> | undefined;
39        removeClippedSubviews?: PropTypes.Validator<boolean | undefined> | undefined;
40        style?: PropTypes.Validator<import("react-native").StyleProp<import("react-native").ViewStyle>> | undefined;
41        testID?: PropTypes.Validator<string | undefined> | undefined;
42        nativeID?: PropTypes.Validator<string | undefined> | undefined;
43        collapsable?: PropTypes.Validator<boolean | undefined> | undefined;
44        needsOffscreenAlphaCompositing?: PropTypes.Validator<boolean | undefined> | undefined;
45        renderToHardwareTextureAndroid?: PropTypes.Validator<boolean | undefined> | undefined;
46        accessibilityViewIsModal?: PropTypes.Validator<boolean | undefined> | undefined;
47        accessibilityActions?: PropTypes.Validator<string[] | undefined> | undefined;
48        onAccessibilityAction?: PropTypes.Validator<(() => void) | undefined> | undefined;
49        shouldRasterizeIOS?: PropTypes.Validator<boolean | undefined> | undefined;
50        onStartShouldSetResponder?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
51        onMoveShouldSetResponder?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
52        onResponderEnd?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
53        onResponderGrant?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
54        onResponderReject?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
55        onResponderMove?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
56        onResponderRelease?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
57        onResponderStart?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
58        onResponderTerminationRequest?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
59        onResponderTerminate?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
60        onStartShouldSetResponderCapture?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
61        onMoveShouldSetResponderCapture?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
62        onTouchStart?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
63        onTouchMove?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
64        onTouchEnd?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
65        onTouchCancel?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
66        onTouchEndCapture?: PropTypes.Validator<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
67        accessible?: PropTypes.Validator<boolean | undefined> | undefined;
68        accessibilityLabel?: PropTypes.Validator<string | undefined> | undefined;
69        accessibilityRole?: PropTypes.Validator<"none" | "button" | "link" | "search" | "image" | "keyboardkey" | "text" | "adjustable" | "header" | "summary" | "imagebutton" | undefined> | undefined;
70        accessibilityStates?: PropTypes.Validator<import("react-native").AccessibilityState[] | undefined> | undefined;
71        accessibilityHint?: PropTypes.Validator<string | undefined> | undefined;
72        accessibilityComponentType?: PropTypes.Validator<"none" | "button" | "radiobutton_checked" | "radiobutton_unchecked" | undefined> | undefined;
73        accessibilityLiveRegion?: PropTypes.Validator<"none" | "polite" | "assertive" | undefined> | undefined;
74        importantForAccessibility?: PropTypes.Validator<"auto" | "yes" | "no" | "no-hide-descendants" | undefined> | undefined;
75        accessibilityElementsHidden?: PropTypes.Validator<boolean | undefined> | undefined;
76        accessibilityTraits?: PropTypes.Validator<"none" | "button" | "link" | "search" | "image" | "text" | "adjustable" | "header" | "summary" | "selected" | "disabled" | "plays" | "key" | "frequentUpdates" | "startsMedia" | "allowsDirectInteraction" | "pageTurn" | import("react-native").AccessibilityTrait[] | undefined> | undefined;
77        onAccessibilityTap?: PropTypes.Validator<(() => void) | undefined> | undefined;
78        onMagicTap?: PropTypes.Validator<(() => void) | undefined> | undefined;
79        accessibilityIgnoresInvertColors?: PropTypes.Validator<boolean | undefined> | undefined;
80    };
81    static defaultProps: {
82        type: any;
83        barCodeTypes: {}[];
84    };
85    static scanFromURLAsync(url: string, barCodeTypes?: string[]): Promise<{
86        type: string;
87        data: string;
88    }>;
89    render(): JSX.Element;
90    onObjectDetected: (callback?: BarCodeScannedCallback | undefined) => ({ nativeEvent, }: BarCodeEventCallbackArguments) => void;
91    convertNativeProps(props: BarCodeScannerProps): any;
92    convertProp(value: any, key: string): any;
93}
94export declare const Constants: {
95    BarCodeType: any;
96    Type: any;
97};
98export {};
99