import React, { Component } from 'react';
import { ImageStyle, ImageURISource, StyleProp } from 'react-native';
import { TextInputMaskOptionProp, TextInputMaskProps } from 'react-native-masked-text';
import { Omit } from '@brandingbrand/fsfoundation';
import { CreditCardType } from '../types/Store';
export interface TextInputMaskCustomOptionProp extends TextInputMaskOptionProp {
    mask: string;
}
export interface CreditCardNumberProps extends Omit<TextInputMaskProps, 'type'> {
    cardImageStyle?: StyleProp<ImageStyle>;
    cardImageWidth: number;
    creditCardTypeImages: {
        type: CreditCardType;
        image: ImageURISource;
    }[];
    defaultCardImage: ImageURISource;
}
export interface CreditCardNumberState {
    cardType: CreditCardType;
    cardImage: ImageURISource;
    options: TextInputMaskCustomOptionProp;
}
export declare class CreditCardNumber extends Component<CreditCardNumberProps, CreditCardNumberState> {
    static getDerivedStateFromProps(nextProps: CreditCardNumberProps, prevState?: CreditCardNumberState): Partial<CreditCardNumberState> | null;
    render(): React.ReactNode;
}
