import { CardBrand, CardCommon, CreditCardViewBase, PaymentMethodCommon, Source, StripePaymentIntentCommon, StripePaymentIntentStatus, Token } from './stripe.common'; export * from "./stripe.common"; export declare class Stripe { private _stripe; private _apiKey; private _stripeAccountId; constructor(apiKey: string, stripeAccountId?: string); setStripeAccount(accountId: string): void; private readonly stripe; createToken(card: CardCommon, cb: (error: Error, token: Token) => void): void; createSource(card: CardCommon, cb: (error: Error, source: Source) => void): void; createPaymentMethod(card: CardCommon, cb: (error: Error, pm: PaymentMethod) => void): void; retrievePaymentIntent(clientSecret: string, cb: (error: Error, pm: StripePaymentIntent) => void): void; confirmSetupIntent(paymentMethodId: string, clientSecret: string, cb: (error: Error, pm: StripeSetupIntent) => void): void; authenticateSetupIntent(clientSecret: string, returnUrl: string, cb: (error: Error, pm: StripeSetupIntent) => void): void; confirmPaymentIntent(piParams: StripePaymentIntentParams, cb: (error: Error, pm: StripePaymentIntent) => void): void; authenticatePaymentIntent(clientSecret: string, returnUrl: string, cb: (error: Error, pm: StripePaymentIntent) => void): void; } export declare class Card implements CardCommon { private _cardBuilder; private _brand; private _last4; constructor(cardNumber: string, cardExpMonth: number, cardExpYear: number, cardCVC: string); static fromNative(card: com.stripe.android.model.Card): Card; static fromNativePaymentMethod(pm: com.stripe.android.model.PaymentMethod): Card; readonly native: com.stripe.android.model.Card; validateNumber(): boolean; validateCVC(): boolean; validateCard(): boolean; validateExpMonth(): boolean; validateExpiryDate(): boolean; readonly number: string; readonly cvc: string; readonly expMonth: number; readonly expYear: number; name: string; addressLine1: string; addressLine2: string; addressCity: string; addressZip: string; addressState: string; addressCountry: string; currency: string; readonly last4: string; readonly brand: CardBrand; readonly fingerprint: string; readonly funding: string; readonly country: string; static cardImage(brand: CardBrand): any; } export declare class CreditCardView extends CreditCardViewBase { private _widget; readonly android: com.stripe.android.view.CardInputWidget; createNativeView(): com.stripe.android.view.CardInputWidget; readonly card: Card; } export declare class PaymentMethod implements PaymentMethodCommon { native: com.stripe.android.model.PaymentMethod; static fromNative(native: com.stripe.android.model.PaymentMethod): PaymentMethod; readonly id: string; readonly created: Date; readonly type: "card"; readonly billingDetails: object; readonly card: CardCommon; readonly customerId: string; readonly metadata: object; } declare class StripeIntent { native: com.stripe.android.model.PaymentIntent | com.stripe.android.model.SetupIntent; readonly id: string; readonly clientSecret: string; readonly description: string; readonly status: StripePaymentIntentStatus; readonly requiresAction: boolean; readonly isSuccess: boolean; readonly requiresConfirmation: boolean; readonly requiresCapture: boolean; } export declare class StripePaymentIntent extends StripeIntent implements StripePaymentIntentCommon { native: com.stripe.android.model.PaymentIntent; static fromNative(native: com.stripe.android.model.PaymentIntent): StripePaymentIntent; static fromApi(json: any): StripePaymentIntent; readonly amount: number; readonly created: Date; readonly currency: string; readonly captureMethod: "manual" | "automatic"; } export declare class StripePaymentIntentParams { clientSecret: any; paymentMethodId: string; sourceId: string; returnURL: string; readonly native: com.stripe.android.model.ConfirmPaymentIntentParams; } export declare class StripeSetupIntentParams { native: com.stripe.android.model.ConfirmSetupIntentParams; constructor(paymentMethodId: string, clientSecret: string); } export declare class StripeSetupIntent extends StripeIntent { native: com.stripe.android.model.SetupIntent; static fromNative(native: com.stripe.android.model.SetupIntent): StripeSetupIntent; readonly paymentMethodId: string; }