Files
2026-02-10 01:14:19 +00:00

635 lines
32 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { FunctionComponent, PropsWithChildren } from "react";
import * as stripeJs from "@stripe/stripe-js";
import { StripeError } from "@stripe/stripe-js";
interface CheckoutProviderProps {
/**
* A [Stripe object](https://stripe.com/docs/js/initializing) or a `Promise` resolving to a `Stripe` object.
* The easiest way to initialize a `Stripe` object is with the the [Stripe.js wrapper module](https://github.com/stripe/stripe-js/blob/master/README.md#readme).
* Once this prop has been set, it can not be changed.
*
* You can also pass in `null` or a `Promise` resolving to `null` if you are performing an initial server-side render or when generating a static site.
*/
stripe: PromiseLike<stripeJs.Stripe | null> | stripeJs.Stripe | null;
options: stripeJs.StripeCheckoutOptions;
}
declare const CheckoutProvider: FunctionComponent<PropsWithChildren<CheckoutProviderProps>>;
type StripeCheckoutActions = Omit<stripeJs.StripeCheckout, "on" | "loadActions"> & Omit<stripeJs.LoadActionsSuccess, "getSession">;
type StripeCheckoutValue = StripeCheckoutActions & stripeJs.StripeCheckoutSession;
type StripeUseCheckoutResult = {
type: "loading";
} | {
type: "success";
checkout: StripeCheckoutValue;
} | {
type: "error";
error: {
message: string;
};
};
declare const useCheckout: () => StripeUseCheckoutResult;
interface ElementProps {
/**
* Passes through to the [Elements container](https://stripe.com/docs/js/element/the_element_container).
*/
id?: string;
/**
* Passes through to the [Elements container](https://stripe.com/docs/js/element/the_element_container).
*/
className?: string;
/**
* Triggered when the Element loses focus.
*/
onBlur?: (event: {
elementType: stripeJs.StripeElementType;
}) => any;
/**
* Triggered when the Element receives focus.
*/
onFocus?: (event: {
elementType: stripeJs.StripeElementType;
}) => any;
}
interface AuBankAccountElementProps extends ElementProps {
/**
* An object containing [Element configuration options](https://stripe.com/docs/js/elements_object/create_element?type=auBankAccount).
*/
options?: stripeJs.StripeAuBankAccountElementOptions;
/**
* Triggered when data exposed by this Element is changed (e.g., when there is an error).
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_change?type=auBankAccountElement).
*/
onChange?: (event: stripeJs.StripeAuBankAccountElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripeAuBankAccountElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
}
type AuBankAccountElementComponent = FunctionComponent<AuBankAccountElementProps>;
interface CardElementProps extends ElementProps {
/**
* An object containing [Element configuration options](https://stripe.com/docs/js/elements_object/create_element?type=card).
*/
options?: stripeJs.StripeCardElementOptions;
/**
* Triggered when data exposed by this Element is changed (e.g., when there is an error).
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_change?type=cardElement).
*/
onChange?: (event: stripeJs.StripeCardElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripeCardElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
/**
* Triggered when there is a change to the available networks the provided card can run on.
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_networkschange?type=cardElement).
*/
onNetworksChange?: (event: {
elementType: "card";
}) => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "card";
error: StripeError;
}) => any;
}
type CardElementComponent = FunctionComponent<CardElementProps>;
interface CardNumberElementProps extends ElementProps {
/**
* An object containing [Element configuration options](https://stripe.com/docs/js/elements_object/create_element?type=cardNumber).
*/
options?: stripeJs.StripeCardNumberElementOptions;
/**
* Triggered when data exposed by this Element is changed (e.g., when there is an error).
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_change?type=cardNumberElement).
*/
onChange?: (event: stripeJs.StripeCardNumberElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripeCardNumberElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
/**
* Triggered when there is a change to the available networks the provided card can run on.
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_networkschange?type=cardNumberElement).
*/
onNetworksChange?: (event: {
elementType: "cardNumber";
}) => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "cardNumber";
error: StripeError;
}) => any;
}
type CardNumberElementComponent = FunctionComponent<CardNumberElementProps>;
interface CardExpiryElementProps extends ElementProps {
/**
* An object containing [Element configuration options](https://stripe.com/docs/js/elements_object/create_element?type=cardExpiry).
*/
options?: stripeJs.StripeCardExpiryElementOptions;
/**
* Triggered when data exposed by this Element is changed (e.g., when there is an error).
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_change?type=cardExpiryElement).
*/
onChange?: (event: stripeJs.StripeCardExpiryElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripeCardExpiryElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
}
type CardExpiryElementComponent = FunctionComponent<CardExpiryElementProps>;
interface CardCvcElementProps extends ElementProps {
/**
* An object containing [Element configuration options](https://stripe.com/docs/js/elements_object/create_element?type=cardCvc).
*/
options?: stripeJs.StripeCardCvcElementOptions;
/**
* Triggered when data exposed by this Element is changed (e.g., when there is an error).
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_change?type=cardCvcElement).
*/
onChange?: (event: stripeJs.StripeCardCvcElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripeCardCvcElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
}
type CardCvcElementComponent = FunctionComponent<CardCvcElementProps>;
interface IbanElementProps extends ElementProps {
/**
* An object containing [Element configuration options](https://stripe.com/docs/js/elements_object/create_element?type=iban).
*/
options?: stripeJs.StripeIbanElementOptions;
/**
* Triggered when data exposed by this Element is changed (e.g., when there is an error).
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_change?type=ibanElement).
*/
onChange?: (event: stripeJs.StripeIbanElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripeIbanElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
}
type IbanElementComponent = FunctionComponent<IbanElementProps>;
interface LinkAuthenticationElementProps extends ElementProps {
/**
* An object containing Element configuration options.
*/
options?: stripeJs.StripeLinkAuthenticationElementOptions;
/**
* Triggered when data exposed by this Element is changed (e.g., when there is an error).
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_change?type=auBankAccountElement).
*/
onChange?: (event: stripeJs.StripeLinkAuthenticationElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripeLinkAuthenticationElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "linkAuthentication";
error: StripeError;
}) => any;
/**
* Triggered when the [loader](https://stripe.com/docs/js/elements_object/create#stripe_elements-options-loader) UI is mounted to the DOM and ready to be displayed.
*/
onLoaderStart?: (event: {
elementType: "linkAuthentication";
}) => any;
}
type LinkAuthenticationElementComponent = FunctionComponent<LinkAuthenticationElementProps>;
interface PaymentFormElementProps extends ElementProps {
/**
* An object containing Element configuration options.
*
* Requires beta access:
* Contact [Stripe support](https://support.stripe.com/) for more information.
*/
options?: stripeJs.StripeCheckoutPaymentFormElementOptions;
/**
* Triggered when data exposed by this Element is changed.
*/
onChange?: (event: stripeJs.StripePaymentFormElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripePaymentFormElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "paymentForm";
error: StripeError;
}) => any;
/**
* Triggered when a buyer authorizes a payment within a supported payment method.
*/
onConfirm?: (event: stripeJs.StripePaymentFormElementConfirmEvent) => any;
/**
* Triggered when a payment interface is dismissed (e.g., a buyer closes the payment interface).
*/
onCancel?: (event: {
elementType: "paymentForm";
}) => any;
}
type PaymentFormElementComponent = FunctionComponent<PaymentFormElementProps>;
interface PaymentElementProps extends ElementProps {
/**
* An object containing Element configuration options.
*/
options?: stripeJs.StripePaymentElementOptions;
/**
* Triggered when data exposed by this Element is changed.
*/
onChange?: (event: stripeJs.StripePaymentElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripePaymentElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "payment";
error: StripeError;
}) => any;
/**
* Triggered when the [loader](https://stripe.com/docs/js/elements_object/create#stripe_elements-options-loader) UI is mounted to the DOM and ready to be displayed.
*/
onLoaderStart?: (event: {
elementType: "payment";
}) => any;
/**
* Requires beta access:
* Contact [Stripe support](https://support.stripe.com/) for more information.
*
* Triggered when the user removes a saved payment method from the Payment Element.
*/
onSavedPaymentMethodRemove?: (event: {
elementType: "payment";
success: boolean;
error?: string;
payment_method: stripeJs.StripePaymentElementChangeEvent["value"]["payment_method"];
}) => any;
/**
* Requires beta access:
* Contact [Stripe support](https://support.stripe.com/) for more information.
*
* Triggered when the user updates a saved payment method from the Payment Element.
*/
onSavedPaymentMethodUpdate?: (event: {
elementType: "payment";
success: boolean;
error?: string;
payment_method: stripeJs.StripePaymentElementChangeEvent["value"]["payment_method"];
}) => any;
}
type PaymentElementComponent = FunctionComponent<PaymentElementProps>;
interface ExpressCheckoutElementProps extends ElementProps {
/**
* An object containing Element configuration options.
*/
options?: stripeJs.StripeExpressCheckoutElementOptions;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* The list of payment methods that could possibly show in the element, or undefined if no payment methods can show.
*/
onReady?: (event: stripeJs.StripeExpressCheckoutElementReadyEvent) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "expressCheckout";
error: StripeError;
}) => any;
/**
* Triggered when a button on the Element is clicked.
*/
onClick?: (event: stripeJs.StripeExpressCheckoutElementClickEvent) => any;
/**
* Triggered when a buyer authorizes a payment within a supported payment method.
*/
onConfirm: (event: stripeJs.StripeExpressCheckoutElementConfirmEvent) => any;
/**
* Triggered when a payment interface is dismissed (e.g., a buyer closes the payment interface)
*/
onCancel?: (event: {
elementType: "expressCheckout";
}) => any;
/**
* Triggered when a buyer selects a different shipping address.
*/
onShippingAddressChange?: (event: stripeJs.StripeExpressCheckoutElementShippingAddressChangeEvent) => any;
/**
* Triggered when a buyer selects a different shipping rate.
*/
onShippingRateChange?: (event: stripeJs.StripeExpressCheckoutElementShippingRateChangeEvent) => any;
}
type ExpressCheckoutElementComponent = FunctionComponent<ExpressCheckoutElementProps>;
interface PaymentRequestButtonElementProps extends ElementProps {
/**
* An object containing [Element configuration options](https://stripe.com/docs/js/elements_object/create_element?type=paymentRequestButton).
*/
options?: stripeJs.StripePaymentRequestButtonElementOptions;
/**
* Triggered when the Element is clicked.
*/
onClick?: (event: stripeJs.StripePaymentRequestButtonElementClickEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripePaymentRequestButtonElement) => any;
}
type PaymentRequestButtonElementComponent = FunctionComponent<PaymentRequestButtonElementProps>;
interface AddressElementProps extends ElementProps {
/**
* An object containing [Element configuration options](https://stripe.com/docs/js/elements_object/create_address_element#address_element_create-options).
*/
options: stripeJs.StripeAddressElementOptions;
/**
* Triggered when data exposed by this Element is changed (e.g., when there is an error).
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_change?type=addressElement).
*/
onChange?: (event: stripeJs.StripeAddressElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripeAddressElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "address";
error: StripeError;
}) => any;
/**
* Triggered when the [loader](https://stripe.com/docs/js/elements_object/create#stripe_elements-options-loader) UI is mounted to the DOM and ready to be displayed.
*/
onLoaderStart?: (event: {
elementType: "address";
}) => any;
}
type AddressElementComponent = FunctionComponent<AddressElementProps>;
interface ShippingAddressElementProps extends ElementProps {
/**
* An object containing [Element configuration options](https://stripe.com/docs/js/deprecated/create_shipping_address_element#shipping_address_element_create-options).
*/
options?: stripeJs.StripeShippingAddressElementOptions;
/**
* Triggered when data exposed by this Element is changed (e.g., when there is an error).
* For more information, refer to the [Stripe.js reference](https://stripe.com/docs/js/element/events/on_change?type=shippingAddressElement).
*/
onChange?: (event: stripeJs.StripeShippingAddressElementChangeEvent) => any;
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripeShippingAddressElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "shippingAddress";
error: StripeError;
}) => any;
/**
* Triggered when the [loader](https://stripe.com/docs/js/elements_object/create#stripe_elements-options-loader) UI is mounted to the DOM and ready to be displayed.
*/
onLoaderStart?: (event: {
elementType: "shippingAddress";
}) => any;
}
type ShippingAddressElementComponent = FunctionComponent<ShippingAddressElementProps>;
interface PaymentMethodMessagingElementProps {
/**
* Passes through to the [Elements container](https://stripe.com/docs/js/element/the_element_container).
*/
id?: string;
/**
* Passes through to the [Elements container](https://stripe.com/docs/js/element/the_element_container).
*/
className?: string;
/**
* An object containing [Element configuration options](https://stripe.com/docs/js/elements_object/create_element?type=afterpayClearpayMessage).
*/
options?: stripeJs.StripePaymentMethodMessagingElementOptions;
/**
* Triggered when the Element has been fully loaded, after initial method calls have been fired.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripePaymentMethodMessagingElement) => any;
}
type PaymentMethodMessagingElementComponent = FunctionComponent<PaymentMethodMessagingElementProps>;
declare module "@stripe/stripe-js" {
interface StripeElements {
/**
* Requires beta access:
* Contact [Stripe support](https://support.stripe.com/) for more information.
*
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_element?type=auBankAccount) for the `AuBankAccountElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `AuBankAccountElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: AuBankAccountElementComponent): stripeJs.StripeAuBankAccountElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_element?type=card) for the `CardElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `CardElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: CardElementComponent): stripeJs.StripeCardElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_element?type=cardNumber) for the `CardNumberElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `CardNumberElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: CardNumberElementComponent): stripeJs.StripeCardNumberElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_element?type=cardCvc) for the `CardCvcElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `CardCvcElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: CardCvcElementComponent): stripeJs.StripeCardCvcElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_element?type=cardExpiry) for the `CardExpiryElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `CardExpiryElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: CardExpiryElementComponent): stripeJs.StripeCardExpiryElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_element?type=iban) for the `IbanElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `IbanElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: IbanElementComponent): stripeJs.StripeIbanElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_link_authentication_element) for the `LinkAuthenticationElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `LinkAuthenticationElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: LinkAuthenticationElementComponent): stripeJs.StripeLinkAuthenticationElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_payment_element) for the `PaymentElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `PaymentElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: PaymentElementComponent): stripeJs.StripeElement | null;
/**
* Requires beta access:
* Contact [Stripe support](https://support.stripe.com/) for more information.
*
* Returns the underlying [element instance] for the `PaymentFormElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `PaymentFormElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: PaymentFormElementComponent): stripeJs.StripePaymentFormElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_express_checkout_element) for the `ExpressCheckoutElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `ExpressCheckoutElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: ExpressCheckoutElementComponent): stripeJs.StripeElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_element?type=paymentRequestButton) for the `PaymentRequestButtonElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `PaymentRequestButtonElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: PaymentRequestButtonElementComponent): stripeJs.StripePaymentRequestButtonElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_address_element) for the `AddressElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `AddressElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: AddressElementComponent): stripeJs.StripeAddressElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/deprecated/create_shipping_address_element) for the `ShippingAddressElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `ShippingAddressElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: ShippingAddressElementComponent): stripeJs.StripeShippingAddressElement | null;
/**
* Returns the underlying [element instance](https://stripe.com/docs/js/elements_object/create_element?type=paymentMethodMessaging) for the `PaymentMethodMessagingElement` component in the current [Elements](https://stripe.com/docs/stripe-js/react#elements-provider) provider tree.
* Returns `null` if no `PaymentMethodMessagingElement` is rendered in the current `Elements` provider tree.
*/
getElement(component: PaymentMethodMessagingElementComponent): stripeJs.StripePaymentMethodMessagingElement | null;
}
}
type RootPaymentElementProps = PaymentElementProps;
type RootPaymentFormElementProps = PaymentFormElementProps;
type RootExpressCheckoutElementProps = ExpressCheckoutElementProps;
type RootAddressElementProps = AddressElementProps;
interface CurrencySelectorElementProps extends ElementProps {
/**
* Triggered when the Element is fully rendered and can accept imperative `element.focus()` calls.
* Called with a reference to the underlying [Element instance](https://stripe.com/docs/js/element).
*/
onReady?: (element: stripeJs.StripeCurrencySelectorElement) => any;
/**
* Triggered when the escape key is pressed within the Element.
*/
onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "currencySelector";
error: StripeError;
}) => any;
/**
* Triggered when the [loader](https://stripe.com/docs/js/elements_object/create#stripe_elements-options-loader) UI is mounted to the DOM and ready to be displayed.
*/
onLoaderStart?: (event: {
elementType: "currencySelector";
}) => any;
}
type CurrencySelectorElementComponent = FunctionComponent<CurrencySelectorElementProps>;
type BillingAddressElementProps = Omit<RootAddressElementProps, "options"> & {
options?: stripeJs.StripeCheckoutAddressElementOptions;
};
type BillingAddressElementComponent = FunctionComponent<BillingAddressElementProps>;
type ShippingAddressElementProps$0 = Omit<RootAddressElementProps, "options"> & {
options?: stripeJs.StripeCheckoutAddressElementOptions;
};
type ShippingAddressElementComponent$0 = FunctionComponent<ShippingAddressElementProps$0>;
type PaymentElementProps$0 = Omit<RootPaymentElementProps, "options"> & {
options?: stripeJs.StripeCheckoutPaymentElementOptions;
};
type PaymentElementComponent$0 = FunctionComponent<PaymentElementProps$0>;
type PaymentFormElementProps$0 = RootPaymentFormElementProps;
type PaymentFormElementComponent$0 = FunctionComponent<PaymentFormElementProps$0>;
type ExpressCheckoutElementProps$0 = Omit<RootExpressCheckoutElementProps, "options" | "onClick" | "onCancel" | "onShippingAddressChange" | "onShippingRateChange"> & {
options?: stripeJs.StripeCheckoutExpressCheckoutElementOptions;
};
type ExpressCheckoutElementComponent$0 = FunctionComponent<ExpressCheckoutElementProps$0>;
interface TaxIdElementProps$0 extends ElementProps {
options: stripeJs.StripeTaxIdElementOptions;
onChange?: (event: stripeJs.StripeTaxIdElementChangeEvent) => any;
onReady?: (element: stripeJs.StripeTaxIdElement) => any;
onEscape?: () => any;
onLoadError?: (event: {
elementType: "taxId";
error: StripeError;
}) => any;
onLoaderStart?: (event: {
elementType: "taxId";
}) => any;
}
type TaxIdElementComponent$0 = FunctionComponent<TaxIdElementProps$0>;
declare const CurrencySelectorElement: CurrencySelectorElementComponent;
declare const PaymentElement: PaymentElementComponent$0;
declare const PaymentFormElement: PaymentFormElementComponent$0;
declare const ExpressCheckoutElement: ExpressCheckoutElementComponent$0;
declare const TaxIdElement: TaxIdElementComponent$0;
declare const BillingAddressElement: BillingAddressElementComponent;
declare const ShippingAddressElement: ShippingAddressElementComponent$0;
export { useCheckout, CheckoutProvider, StripeUseCheckoutResult, StripeCheckoutValue, CurrencySelectorElementProps, CurrencySelectorElementComponent, BillingAddressElementProps, BillingAddressElementComponent, ShippingAddressElementProps$0 as ShippingAddressElementProps, ShippingAddressElementComponent$0 as ShippingAddressElementComponent, PaymentElementProps$0 as PaymentElementProps, PaymentElementComponent$0 as PaymentElementComponent, PaymentFormElementProps$0 as PaymentFormElementProps, PaymentFormElementComponent$0 as PaymentFormElementComponent, ExpressCheckoutElementProps$0 as ExpressCheckoutElementProps, ExpressCheckoutElementComponent$0 as ExpressCheckoutElementComponent, TaxIdElementProps$0 as TaxIdElementProps, TaxIdElementComponent$0 as TaxIdElementComponent, CurrencySelectorElement, PaymentElement, PaymentFormElement, ExpressCheckoutElement, TaxIdElement, BillingAddressElement, ShippingAddressElement };