/// <reference types="stripe-v3" />
import { ReactNode } from 'react';
import type { InferComponentProps } from './types.js';
export declare const getStripeDefaults: (theme: any) => {
    stripe: {
        fonts: {
            family: string;
            src: string;
            weight: number;
            style: string;
        }[];
    };
    elements: {
        classes: {
            base: string;
            empty: string;
            focus: string;
            complete: string;
            invalid: string;
        };
        hideIcon: boolean;
        style: {
            base: {
                color: any;
                fontFamily: string;
                fontSize: string;
                lineHeight: string;
            };
            invalid: {
                color: any;
            };
        };
    };
};
export declare const CCInputWrapper: import("styled-components").StyledComponent<"input", import("styled-components").DefaultTheme, {
    isInvalid?: boolean | undefined;
} & {
    as: string;
}, "as">;
type CCInputProps = InferComponentProps<typeof CCInputWrapper> & {
    label?: ReactNode;
    hasSpaceForErrors?: boolean;
    errors?: string[];
    lede?: ReactNode;
    createPaymentMethodRef?: (fn: (billingInfo: stripe.CreatePaymentMethodOptions | undefined) => Promise<stripe.PaymentMethodResponse>) => void;
    createTokenRef?: (fn: (billingInfo: stripe.BankAccountTokenOptions | stripe.TokenOptions | undefined) => Promise<stripe.TokenResponse>) => void;
    onChange?: (event: stripe.elements.ElementChangeResponse | undefined) => void;
};
export declare const CCInput: ({ className, label, hasSpaceForErrors, required, errors, lede, onChange, createPaymentMethodRef, createTokenRef, ...props }: CCInputProps) => JSX.Element;
export {};
