import { Component } from 'react';
import { ImageStyle, ImageURISource, StyleProp, ViewStyle } from 'react-native';
import { FormLabelPosition } from './Form';
import { CreditCardType } from '../types/Store';
export interface CreditCardFormData {
    number: string;
    name: string;
    extra: {
        expirationDate: string;
        cvv: string;
    };
}
export interface CreditCardFormProps {
    fieldsOptions?: any;
    fieldsStyleConfig?: any;
    hideName?: boolean;
    cscIcon?: ImageURISource;
    cscIconStyle?: StyleProp<ImageStyle>;
    defaultCardImage?: ImageURISource;
    labelPosition?: FormLabelPosition;
    style?: StyleProp<ViewStyle>;
    supportedCards?: {
        type: CreditCardType;
        image: ImageURISource;
    }[];
    supportedCardsLabel?: JSX.Element;
    supportedCardsStyle?: StyleProp<ViewStyle>;
    supportedIconStyle?: StyleProp<ImageStyle>;
    value?: CreditCardFormData;
    onChange?: (value: CreditCardFormData) => void;
}
export declare class CreditCardForm extends Component<CreditCardFormProps> {
    static defaultProps: Partial<CreditCardFormProps>;
    formRef: any;
    fieldOptions: (labelPosition?: FormLabelPosition | undefined) => any;
    getValue: () => any;
    _saveFormRef: (ref: any) => void;
    render(): JSX.Element;
    validate: () => boolean;
    private validateCreditCard;
}
