/* Type definitions for react-native-qrcode-scanner 1.1.0
 * Definitions by: Jan Hesters <https://github.com/janhesters/>
 * If you modify this file, put your GitHub info here as well (for easy contacting purposes)
 */
import { Component } from "react";
import { ViewStyle, StyleProp } from "react-native";


//Mask for CPF and CNPJ.

export interface RNMaskCpfCnpj {


        containerStyle?: StyleProp<ViewStyle>;

        inputStyle?: StyleProp<ViewStyle>;
        placeholder?: string;
        placeholderTextColor?: string;
        cpf?: boolean;
        cnpj?: boolean;
        keyboardTypeSubmit?: 'next' | 'done' | 'send' | 'none';
        /* A aparência do botão de submit */
        autoFocus(e: Event): void;
        onFocus(e: Event): void;
        submit(e: Event): void;
        setData(e: Event): void;
        submit(e: Event): void;
}



export interface RNMaskCpfCnpjState {
  readonly formatted: boolean;
  readonly masker: any;
}

export class MaskCpfCnpj extends React.Component<RNMaskCpfCnpj, any> {}


//Mask for CEP


export interface RNMaskCep {
  containerStyle?: StyleProp<ViewStyle>;

  inputStyle?: StyleProp<ViewStyle>;
  placeholder?: string;
  placeholderTextColor?: string;
  cpf?: boolean;
  cnpj?: boolean;
  keyboardTypeSubmit?: 'next' | 'done' | 'send' | 'none';
  /* A aparência do botão de submit */
  autoFocus(e: Event): void;
  onFocus(e: Event): void;
  submit(e: Event): void;
  setData(e: Event): void;
  submit(e: Event): void;
}



export interface RNMaskCepState {
readonly formatted: boolean;
readonly masker: any;
}

export class MaskCep extends Component<RNMaskCep, RNMaskCepState> {
_renderCep(): JSX.Element | null;
}


//Mask for RG

export interface RNMaskRg {
  containerStyle?: StyleProp<ViewStyle>;

  inputStyle?: StyleProp<ViewStyle>;
  placeholder?: string;
  placeholderTextColor?: string;
  cpf?: boolean;
  cnpj?: boolean;
  keyboardTypeSubmit?: 'next' | 'done' | 'send' | 'none';
  /* A aparência do botão de submit */
  autoFocus(e: Event): void;
  onFocus(e: Event): void;
  submit(e: Event): void;
  setData(e: Event): void;
  submit(e: Event): void;
}



export interface RNMaskRgState {
readonly formatted: boolean;
readonly masker: any;
}

export class MaskRg extends Component<RNMaskRg, RNMaskRgState> {
_renderRg(): JSX.Element | null;
}