#if 0
#elif defined(__arm64__) && __arm64__ || defined(__x86_64__) && __x86_64__
// Generated by Apple Swift version 5.7.1 (swiftlang-5.7.1.135.3 clang-1400.0.29.51)
#ifndef STRIPEPAYMENTSUI_SWIFT_H
#define STRIPEPAYMENTSUI_SWIFT_H
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wgcc-compat"

#if !defined(__has_include)
# define __has_include(x) 0
#endif
#if !defined(__has_attribute)
# define __has_attribute(x) 0
#endif
#if !defined(__has_feature)
# define __has_feature(x) 0
#endif
#if !defined(__has_warning)
# define __has_warning(x) 0
#endif

#if __has_include(<swift/objc-prologue.h>)
# include <swift/objc-prologue.h>
#endif

#pragma clang diagnostic ignored "-Wduplicate-method-match"
#pragma clang diagnostic ignored "-Wauto-import"
#if defined(__OBJC__)
#include <Foundation/Foundation.h>
#endif
#if defined(__cplusplus)
#include <cstdint>
#include <cstddef>
#include <cstdbool>
#else
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>
#endif

#if !defined(SWIFT_TYPEDEFS)
# define SWIFT_TYPEDEFS 1
# if __has_include(<uchar.h>)
#  include <uchar.h>
# elif !defined(__cplusplus)
typedef uint_least16_t char16_t;
typedef uint_least32_t char32_t;
# endif
typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
#endif

#if !defined(SWIFT_PASTE)
# define SWIFT_PASTE_HELPER(x, y) x##y
# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
#endif
#if !defined(SWIFT_METATYPE)
# define SWIFT_METATYPE(X) Class
#endif
#if !defined(SWIFT_CLASS_PROPERTY)
# if __has_feature(objc_class_property)
#  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
# else
#  define SWIFT_CLASS_PROPERTY(...)
# endif
#endif

#if __has_attribute(objc_runtime_name)
# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
#else
# define SWIFT_RUNTIME_NAME(X)
#endif
#if __has_attribute(swift_name)
# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
#else
# define SWIFT_COMPILE_NAME(X)
#endif
#if __has_attribute(objc_method_family)
# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
#else
# define SWIFT_METHOD_FAMILY(X)
#endif
#if __has_attribute(noescape)
# define SWIFT_NOESCAPE __attribute__((noescape))
#else
# define SWIFT_NOESCAPE
#endif
#if __has_attribute(ns_consumed)
# define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
#else
# define SWIFT_RELEASES_ARGUMENT
#endif
#if __has_attribute(warn_unused_result)
# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
# define SWIFT_WARN_UNUSED_RESULT
#endif
#if __has_attribute(noreturn)
# define SWIFT_NORETURN __attribute__((noreturn))
#else
# define SWIFT_NORETURN
#endif
#if !defined(SWIFT_CLASS_EXTRA)
# define SWIFT_CLASS_EXTRA
#endif
#if !defined(SWIFT_PROTOCOL_EXTRA)
# define SWIFT_PROTOCOL_EXTRA
#endif
#if !defined(SWIFT_ENUM_EXTRA)
# define SWIFT_ENUM_EXTRA
#endif
#if !defined(SWIFT_CLASS)
# if __has_attribute(objc_subclassing_restricted)
#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
#  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# else
#  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
#  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
# endif
#endif
#if !defined(SWIFT_RESILIENT_CLASS)
# if __has_attribute(objc_class_stub)
#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
# else
#  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
#  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
# endif
#endif

#if !defined(SWIFT_PROTOCOL)
# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
#endif

#if !defined(SWIFT_EXTENSION)
# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
#endif

#if !defined(OBJC_DESIGNATED_INITIALIZER)
# if __has_attribute(objc_designated_initializer)
#  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
# else
#  define OBJC_DESIGNATED_INITIALIZER
# endif
#endif
#if !defined(SWIFT_ENUM_ATTR)
# if defined(__has_attribute) && __has_attribute(enum_extensibility)
#  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
# else
#  define SWIFT_ENUM_ATTR(_extensibility)
# endif
#endif
#if !defined(SWIFT_ENUM)
# define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# if __has_feature(generalized_swift_name)
#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
# else
#  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
# endif
#endif
#if !defined(SWIFT_UNAVAILABLE)
# define SWIFT_UNAVAILABLE __attribute__((unavailable))
#endif
#if !defined(SWIFT_UNAVAILABLE_MSG)
# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
#endif
#if !defined(SWIFT_AVAILABILITY)
# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
#endif
#if !defined(SWIFT_WEAK_IMPORT)
# define SWIFT_WEAK_IMPORT __attribute__((weak_import))
#endif
#if !defined(SWIFT_DEPRECATED)
# define SWIFT_DEPRECATED __attribute__((deprecated))
#endif
#if !defined(SWIFT_DEPRECATED_MSG)
# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
#endif
#if __has_feature(attribute_diagnose_if_objc)
# define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
#else
# define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
#endif
#if defined(__OBJC__)
#if !defined(IBSegueAction)
# define IBSegueAction
#endif
#endif
#if !defined(SWIFT_EXTERN)
# if defined(__cplusplus)
#  define SWIFT_EXTERN extern "C"
# else
#  define SWIFT_EXTERN extern
# endif
#endif
#if !defined(SWIFT_CALL)
# define SWIFT_CALL __attribute__((swiftcall))
#endif
#if defined(__cplusplus)
#if !defined(SWIFT_NOEXCEPT)
# define SWIFT_NOEXCEPT noexcept
#endif
#else
#if !defined(SWIFT_NOEXCEPT)
# define SWIFT_NOEXCEPT 
#endif
#endif
#if defined(__cplusplus)
#if !defined(SWIFT_CXX_INT_DEFINED)
#define SWIFT_CXX_INT_DEFINED
namespace swift {
using Int = ptrdiff_t;
using UInt = size_t;
}
#endif
#endif
#if defined(__OBJC__)
#if __has_feature(modules)
#if __has_warning("-Watimport-in-framework-header")
#pragma clang diagnostic ignored "-Watimport-in-framework-header"
#endif
@import CoreFoundation;
@import Foundation;
@import ObjectiveC;
@import StripePayments;
@import UIKit;
#endif

#endif
#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
#pragma clang diagnostic ignored "-Wduplicate-method-arg"
#if __has_warning("-Wpragma-clang-attribute")
# pragma clang diagnostic ignored "-Wpragma-clang-attribute"
#endif
#pragma clang diagnostic ignored "-Wunknown-pragmas"
#pragma clang diagnostic ignored "-Wnullability"
#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"

#if __has_attribute(external_source_symbol)
# pragma push_macro("any")
# undef any
# pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="StripePaymentsUI",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
# pragma pop_macro("any")
#endif

#if defined(__OBJC__)
@class NSCoder;
@class UITraitCollection;

/// A view that displays a card brand icon/logo, or an icon to help the user locate the CVC
/// for a specific card brand.
/// For internal SDK use only
SWIFT_CLASS_NAMED("CardBrandView")
@interface STP_Internal_CardBrandView : UIView
@property (nonatomic, readonly) CGSize intrinsicContentSize;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
- (void)traitCollectionDidChange:(UITraitCollection * _Nullable)previousTraitCollection;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end






/// 🏗 Under construction
/// A view that displays promotional text and images for payment methods like Afterpay and Klarna. For example, “As low as 4 interest-free payments of $9.75”. When tapped, this view presents a full-screen SFSafariViewController to the customer with additional information about the payment methods being displayed.
/// You can embed this into your checkout or product screens to promote payment method options to your customer.
/// note:
/// You must initialize this class by calling <code>PaymentMethodMessagingView.create(configuration:completion:)</code>
SWIFT_CLASS_NAMED("PaymentMethodMessagingView")
@interface STP_Internal_PaymentMethodMessagingView : UIView
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
- (void)traitCollectionDidChange:(UITraitCollection * _Nullable)previousTraitCollection;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end






@class UIFont;
@class UIColor;

/// STPFormTextFieldContainer is a protocol that views can conform to to provide customization properties for the field form views that they contain.
SWIFT_PROTOCOL("_TtP16StripePaymentsUI25STPFormTextFieldContainer_")
@protocol STPFormTextFieldContainer <NSObject>
/// The font used in each child field. Default is <code>.body</code>.
@property (nonatomic, strong) UIFont * _Nonnull formFont;
/// The text color to be used when entering valid text. Default is <code>.label</code> on iOS 13.0 and later and <code>.darkText</code> on earlier versions.
@property (nonatomic, strong) UIColor * _Nonnull formTextColor;
/// The text color to be used when the user has entered invalid information,
/// such as an invalid card number.
/// Default is <code>.red</code>.
@property (nonatomic, strong) UIColor * _Nonnull formTextErrorColor;
/// The text placeholder color used in each child field.
/// This will also set the color of the card placeholder icon.
/// Default is <code>.placeholderText</code> on iOS 13.0 and <code>.lightGray</code> on earlier versions.
@property (nonatomic, strong) UIColor * _Nonnull formPlaceholderColor;
/// The cursor color for the field.
/// This is a proxy for the view’s tintColor property, exposed for clarity only
/// (in other words, calling setCursorColor is identical to calling setTintColor).
@property (nonatomic, strong) UIColor * _Nonnull formCursorColor;
/// The keyboard appearance for the field.
/// Default is <code>.default</code>.
@property (nonatomic) UIKeyboardAppearance formKeyboardAppearance;
@end

@class UITextField;
@class NSString;

/// STPMultiFormTextField is a lightweight UIView that wraps a collection of STPFormTextFields and can automatically move to the next form field when one is completed.
SWIFT_CLASS("_TtC16StripePaymentsUI21STPMultiFormTextField")
@interface STPMultiFormTextField : UIView <STPFormTextFieldContainer, UITextFieldDelegate>
/// :nodoc:
- (BOOL)textField:(UITextField * _Nonnull)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString * _Nonnull)string SWIFT_WARN_UNUSED_RESULT;
/// Calling this method will make the next incomplete STPFormTextField in <code>formTextFields</code> become the first responder.
/// If all of the form text fields are already complete, then the last field in <code>formTextFields</code> will become the first responder.
- (void)focusNextForm;
/// :nodoc:
@property (nonatomic, readonly) BOOL canResignFirstResponder;
/// :nodoc:
- (BOOL)resignFirstResponder SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
@property (nonatomic, readonly) BOOL isFirstResponder;
/// :nodoc:
@property (nonatomic, readonly) BOOL canBecomeFirstResponder;
/// :nodoc:
- (BOOL)becomeFirstResponder SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (void)textFieldDidEndEditing:(UITextField * _Nonnull)textField;
/// :nodoc:
- (void)textFieldDidBeginEditing:(UITextField * _Nonnull)textField;
/// :nodoc:
- (BOOL)textFieldShouldReturn:(UITextField * _Nonnull)textField SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, strong) UIFont * _Nonnull formFont;
@property (nonatomic, strong) UIColor * _Nonnull formTextColor;
@property (nonatomic, strong) UIColor * _Nonnull formTextErrorColor;
@property (nonatomic, strong) UIColor * _Nonnull formPlaceholderColor;
@property (nonatomic, strong) UIColor * _Nonnull formCursorColor;
@property (nonatomic) UIKeyboardAppearance formKeyboardAppearance;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end

@protocol STPAUBECSDebitFormViewDelegate;
@class STPPaymentMethodParams;
@class UITextView;
@class NSURL;

/// STPAUBECSDebitFormView is a subclass of UIControl that contains all of the necessary fields and legal text for collecting AU BECS Debit payments.
/// For additional customization options - seealso: STPFormTextFieldContainer
SWIFT_CLASS("_TtC16StripePaymentsUI22STPAUBECSDebitFormView")
@interface STPAUBECSDebitFormView : STPMultiFormTextField <UITextViewDelegate>
/// \param companyName The name of the company collecting AU BECS Debit payment details information. This will be used to provide the required service agreement text. - seealso: https://stripe.com/au-becs/legal
///
- (nonnull instancetype)initWithCompanyName:(NSString * _Nonnull)companyName OBJC_DESIGNATED_INITIALIZER;
/// Use initWithCompanyName instead.
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
/// Use initWithCompanyName instead.
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
/// The background color for the form text fields. Defaults to .systemBackground on iOS 13.0 and later, .white on earlier iOS versions.
@property (nonatomic, strong) UIColor * _Nonnull formBackgroundColor;
/// The delegate to inform about changes to this STPAUBECSDebitFormView instance.
@property (nonatomic, weak) id <STPAUBECSDebitFormViewDelegate> _Nullable becsDebitFormDelegate;
/// This property will return a non-nil value if and only if the form is in a complete state. The <code>STPPaymentMethodParams</code> instance
/// will have it’s <code>auBECSDebit</code> property populated with the values input in this form.
@property (nonatomic, readonly, strong) STPPaymentMethodParams * _Nullable paymentMethodParams;
/// :nodoc:
- (CGSize)systemLayoutSizeFittingSize:(CGSize)targetSize withHorizontalFittingPriority:(UILayoutPriority)horizontalFittingPriority verticalFittingPriority:(UILayoutPriority)verticalFittingPriority SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (BOOL)textView:(UITextView * _Nonnull)textView shouldInteractWithURL:(NSURL * _Nonnull)URL inRange:(NSRange)characterRange interaction:(UITextItemInteraction)interaction SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
@property (nonatomic, strong) UIFont * _Nonnull formFont;
/// :nodoc:
@property (nonatomic, strong) UIColor * _Nonnull formTextColor;
@end



/// STPAUBECSDebitFormViewDelegate provides methods for STPAUBECSDebitFormView to inform its delegate
/// of when the form has been completed.
SWIFT_PROTOCOL("_TtP16StripePaymentsUI30STPAUBECSDebitFormViewDelegate_")
@protocol STPAUBECSDebitFormViewDelegate <NSObject>
/// Called when the form transitions from complete to incomplete or vice-versa.
/// \param form The <code>STPAUBECSDebitFormView</code> instance whose completion state has changed
///
/// \param complete Whether the form is considered complete and can generate an <code>STPPaymentMethodParams</code> instance.
///
- (void)auBECSDebitForm:(STPAUBECSDebitFormView * _Nonnull)form didChangeToStateComplete:(BOOL)complete;
@end


/// A <code>UITextField</code> subclass that moves the placeholder text to the top leading side of the field
/// instead of hiding it upon text entry or editing.
SWIFT_CLASS("_TtC16StripePaymentsUI31STPFloatingPlaceholderTextField")
@interface STPFloatingPlaceholderTextField : UITextField
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
@end

@class NSAttributedString;
@class UIKeyCommand;

SWIFT_CLASS("_TtC16StripePaymentsUI17STPInputTextField")
@interface STPInputTextField : STPFloatingPlaceholderTextField
@property (nonatomic, copy) NSString * _Nullable text;
- (BOOL)becomeFirstResponder SWIFT_WARN_UNUSED_RESULT;
- (BOOL)resignFirstResponder SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled;
@property (nonatomic, strong) NSAttributedString * _Nullable accessibilityAttributedValue;
@property (nonatomic, strong) NSAttributedString * _Nullable accessibilityAttributedLabel;
- (void)deleteBackward;
@property (nonatomic, readonly, copy) NSArray<UIKeyCommand *> * _Nullable keyCommands;
@end


SWIFT_CLASS("_TtC16StripePaymentsUI24STPCardCVCInputTextField")
@interface STPCardCVCInputTextField : STPInputTextField
@end


/// <code>STPFormView</code> is a base class for the Stripe SDK’s form input UI. You should use one of the available subclasses
/// (<code>STPCardFormView</code>) rather than instantiating an <code>STPFormView</code> instance directly.
SWIFT_CLASS("_TtC16StripePaymentsUI11STPFormView")
@interface STPFormView : UIView
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
/// :nodoc:
@property (nonatomic, readonly) BOOL canResignFirstResponder;
/// :nodoc:
- (BOOL)resignFirstResponder SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
@property (nonatomic, readonly) BOOL isFirstResponder;
/// :nodoc:
@property (nonatomic, readonly) BOOL canBecomeFirstResponder;
/// :nodoc:
- (BOOL)becomeFirstResponder SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
@property (nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled;
- (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@end

@protocol STPCardFormViewDelegate;
enum STPCardFormViewStyle : NSInteger;

/// <code>STPCardFormView</code> provides a multiline interface for users to input their
/// credit card details as well as billing postal code and provides an interface to access
/// the created <code>STPPaymentMethodParams</code>.
/// <code>STPCardFormView</code> includes both the input fields as well as an error label that
/// is displayed when invalid input is detected.
SWIFT_CLASS("_TtC16StripePaymentsUI15STPCardFormView")
@interface STPCardFormView : STPFormView
/// The delegate to notify when the card form transitions to or from being complete.
/// seealso:
/// STPCardFormViewDelegate
@property (nonatomic, weak) id <STPCardFormViewDelegate> _Nullable delegate;
/// :nodoc:
@property (nonatomic, strong) UIColor * _Nullable backgroundColor;
/// The background color that is automatically applied to the input fields when  <code>isUserInteractionEnabled</code> is set to <code>false. @note </code>STPCardFormView` uses text colors, most of which are iOS system colors, that are designed to be as
/// accessible as possible, so any customization should avoid decreasing contrast between the text and background.
@property (nonatomic, strong) UIColor * _Nullable disabledBackgroundColor;
/// A configured <code>STPPaymentMethodParams</code> with the entered card number, expiration date, cvc, and
/// postal code (if applicable). If any field is invalid or incomplete then this property will return <code>nil</code>.
/// You can monitor when <code>STPCardFormView</code> has complete details by implementing
/// <code>STPFormViewDelegate</code> and setting the <code>STPCardFormView's</code> <code>delegate</code>
/// property.
@property (nonatomic, readonly, strong) STPPaymentMethodParams * _Nullable cardParams;
@property (nonatomic, getter=isUserInteractionEnabled) BOOL userInteractionEnabled;
/// Public initializer for <code>STPCardFormView</code>.
/// @param style The visual style to use for this instance. @see STPCardFormViewStyle
- (nonnull instancetype)initWithStyle:(enum STPCardFormViewStyle)style;
@end




@interface STPCardFormView (SWIFT_EXTENSION(StripePaymentsUI))
@end



/// <code>STPCardFormViewDelegate</code> defines the interface that should be adopted to receive
/// updates from <code>STPCardFormView</code> instances.
SWIFT_PROTOCOL("_TtP16StripePaymentsUI23STPCardFormViewDelegate_")
@protocol STPCardFormViewDelegate <NSObject>
/// Delegate method that is called when all of the form view’s required inputs
/// are complete or transition away from all being complete. These transitions
/// correspond to <code>cardForView.cardParams</code> returning a nil value or not.
- (void)cardFormView:(STPCardFormView * _Nonnull)form didChangeToStateComplete:(BOOL)complete;
@end

/// Options for configuring the display of an <code>STPCardFormView</code> instance.
typedef SWIFT_ENUM(NSInteger, STPCardFormViewStyle, open) {
/// Draws the form in a rounded rect with full separators between
/// each input field.
  STPCardFormViewStyleStandard = 0,
/// Draws the form without an outer border and underlines under
/// each input field.
  STPCardFormViewStyleBorderless = 1,
};


SWIFT_CLASS("_TtC16StripePaymentsUI27STPCardNumberInputTextField")
@interface STPCardNumberInputTextField : STPInputTextField
@end

@class UITextPosition;

SWIFT_CLASS("_TtC16StripePaymentsUI26STPGenericInputPickerField")
@interface STPGenericInputPickerField : STPInputTextField
@property (nonatomic, strong) NSAttributedString * _Nullable accessibilityAttributedValue;
@property (nonatomic, strong) NSAttributedString * _Nullable accessibilityAttributedLabel;
- (BOOL)resignFirstResponder SWIFT_WARN_UNUSED_RESULT;
- (CGRect)caretRectForPosition:(UITextPosition * _Nonnull)position SWIFT_WARN_UNUSED_RESULT;
@end


SWIFT_CLASS("_TtC16StripePaymentsUI26STPCountryPickerInputField")
@interface STPCountryPickerInputField : STPGenericInputPickerField
@end


@interface STPCountryPickerInputField (SWIFT_EXTENSION(StripePaymentsUI))
@end



@interface STPFloatingPlaceholderTextField (SWIFT_EXTENSION(StripePaymentsUI))
/// :nodoc:
@property (nonatomic, copy) NSString * _Nullable placeholder;
/// :nodoc:
@property (nonatomic, strong) NSAttributedString * _Nullable attributedPlaceholder;
/// :nodoc:
@property (nonatomic, strong) UIFont * _Nullable font;
/// :nodoc:
@property (nonatomic) NSTextAlignment textAlignment;
/// :nodoc:
@property (nonatomic) UITextFieldViewMode leftViewMode;
/// :nodoc:
@property (nonatomic) UITextFieldViewMode rightViewMode;
/// :nodoc:
- (void)layoutSubviews;
/// :nodoc:
- (BOOL)becomeFirstResponder SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (BOOL)resignFirstResponder SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (CGRect)textRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (CGRect)placeholderRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (CGRect)editingRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (CGRect)leftViewRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (CGRect)rightViewRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// :nodoc:
- (CGSize)sizeThatFits:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (CGSize)systemLayoutSizeFittingSize:(CGSize)targetSize withHorizontalFittingPriority:(UILayoutPriority)horizontalFittingPriority verticalFittingPriority:(UILayoutPriority)verticalFittingPriority SWIFT_WARN_UNUSED_RESULT;
@end


/// A UITextField that changes the text color, based on the validity of
/// its contents.
/// This does <em>not</em> (currently?) have any logic or hooks for determining whether
/// the contents are valid, that must be done by something else.
SWIFT_CLASS("_TtC16StripePaymentsUI21STPValidatedTextField")
@interface STPValidatedTextField : UITextField
/// color to use for <code>placeholderText</code>, displayed when <code>text</code> is empty
@property (nonatomic, strong) UIColor * _Nullable placeholderColor;
/// flag to indicate whether the contents are valid or not.
@property (nonatomic) BOOL validText;
/// :nodoc:
@property (nonatomic, copy) NSString * _Nullable placeholder;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC16StripePaymentsUI16STPFormTextField")
@interface STPFormTextField : STPValidatedTextField
/// :nodoc:
- (void)insertText:(NSString * _Nonnull)text;
/// :nodoc:
- (void)deleteBackward;
/// :nodoc:
@property (nonatomic, copy) NSString * _Nullable text;
/// :nodoc:
@property (nonatomic, strong) NSAttributedString * _Nullable attributedText;
@property (nonatomic, strong) NSAttributedString * _Nullable accessibilityAttributedValue;
@property (nonatomic, strong) NSAttributedString * _Nullable accessibilityAttributedLabel;
/// :nodoc:
@property (nonatomic, strong) NSAttributedString * _Nullable attributedPlaceholder;
/// :nodoc:
@property (nonatomic, readonly, copy) NSArray<UIKeyCommand *> * _Nullable keyCommands;
/// :nodoc:
- (UITextPosition * _Nullable)closestPositionToPoint:(CGPoint)point SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (BOOL)canPerformAction:(SEL _Nonnull)action withSender:(id _Nullable)sender SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (void)paste:(id _Nullable)sender;
/// :nodoc:
@property (nonatomic, weak) id <UITextFieldDelegate> _Nullable delegate;
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
@end







@class UIPickerView;

@interface STPGenericInputPickerField (SWIFT_EXTENSION(StripePaymentsUI)) <UIPickerViewDelegate>
- (NSAttributedString * _Nullable)pickerView:(UIPickerView * _Nonnull)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component SWIFT_WARN_UNUSED_RESULT;
@end

@class UIImage;

/// This class lets you access card icons used by the Stripe SDK. All icons are 32 x 20 points.
SWIFT_CLASS("_TtC16StripePaymentsUI15STPImageLibrary")
@interface STPImageLibrary : NSObject
/// An icon representing Apple Pay.
+ (UIImage * _Nonnull)applePayCardImage SWIFT_WARN_UNUSED_RESULT;
/// An icon representing American Express.
+ (UIImage * _Nonnull)amexCardImage SWIFT_WARN_UNUSED_RESULT;
/// An icon representing Diners Club.
+ (UIImage * _Nonnull)dinersClubCardImage SWIFT_WARN_UNUSED_RESULT;
/// An icon representing Discover.
+ (UIImage * _Nonnull)discoverCardImage SWIFT_WARN_UNUSED_RESULT;
/// An icon representing JCB.
+ (UIImage * _Nonnull)jcbCardImage SWIFT_WARN_UNUSED_RESULT;
/// An icon representing Mastercard.
+ (UIImage * _Nonnull)mastercardCardImage SWIFT_WARN_UNUSED_RESULT;
/// An icon representing UnionPay.
+ (UIImage * _Nonnull)unionPayCardImage SWIFT_WARN_UNUSED_RESULT;
/// An icon representing Visa.
+ (UIImage * _Nonnull)visaCardImage SWIFT_WARN_UNUSED_RESULT;
/// An icon to use when the type of the card is unknown.
+ (UIImage * _Nonnull)unknownCardCardImage SWIFT_WARN_UNUSED_RESULT;
/// This returns the appropriate icon for the specified card brand.
+ (UIImage * _Nonnull)brandImageForCardBrand:(enum STPCardBrand)brand SWIFT_WARN_UNUSED_RESULT;
/// This returns the icon for an unselected brand when multiple card brands are available.
+ (UIImage * _Nonnull)cardBrandChoiceImage SWIFT_WARN_UNUSED_RESULT;
/// This returns the appropriate icon for the specified card brand as a
/// single color template that can be tinted
+ (UIImage * _Nonnull)templatedBrandImageForCardBrand:(enum STPCardBrand)brand SWIFT_WARN_UNUSED_RESULT;
/// This returns a small icon indicating the CVC location for the given card brand.
+ (UIImage * _Nonnull)cvcImageForCardBrand:(enum STPCardBrand)brand SWIFT_WARN_UNUSED_RESULT;
/// This returns a small icon indicating a card number error for the given card brand.
+ (UIImage * _Nonnull)errorImageForCardBrand:(enum STPCardBrand)brand SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end





@protocol STPPaymentCardTextFieldDelegate;
@class STPPaymentMethodCardParams;
@class UIContextMenuConfiguration;
@class UIContextMenuInteraction;
@class NSNumber;

/// STPPaymentCardTextField is a text field with similar properties to UITextField,
/// but specialized for credit/debit card information. It manages
/// multiple UITextFields under the hood to collect this information. It’s
/// designed to fit on a single line, and from a design perspective can be used
/// anywhere a UITextField would be appropriate.
IB_DESIGNABLE
SWIFT_CLASS_NAMED("STPPaymentCardTextField")
@interface STPPaymentCardTextField : UIControl <UIKeyInput>
/// :nodoc:
- (BOOL)textField:(UITextField * _Nonnull)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString * _Nonnull)string SWIFT_WARN_UNUSED_RESULT;
/// seealso:
/// STPPaymentCardTextFieldDelegate
@property (nonatomic, weak) IBOutlet id <STPPaymentCardTextFieldDelegate> _Nullable delegate;
/// The font used in each child field. Default is <code>UIFont.systemFont(ofSize:18)</code>.
@property (nonatomic, strong) UIFont * _Nonnull font;
/// The text color to be used when entering valid text. Default is <code>.label</code>.
@property (nonatomic, strong) UIColor * _Nonnull textColor;
/// The text color to be used when the user has entered invalid information,
/// such as an invalid card number.
/// Default is <code>.red</code>.
@property (nonatomic, strong) UIColor * _Nonnull textErrorColor;
/// The text placeholder color used in each child field.
/// This will also set the color of the card placeholder icon.
/// Default is <code>.systemGray2</code>.
@property (nonatomic, strong) UIColor * _Nonnull placeholderColor;
/// The placeholder for the card number field.
/// Default is “4242424242424242”.
/// If this is set to something that resembles a card number, it will automatically
/// format it as such (in other words, you don’t need to add spaces to this string).
@property (nonatomic, copy) IBInspectable NSString * _Nullable numberPlaceholder;
/// The placeholder for the expiration field. Defaults to “MM/YY”.
@property (nonatomic, copy) IBInspectable NSString * _Nullable expirationPlaceholder;
/// The placeholder for the cvc field. Defaults to “CVC”.
@property (nonatomic, copy) IBInspectable NSString * _Nullable cvcPlaceholder;
/// The placeholder for the postal code field. Defaults to “ZIP” for United States
/// or @“Postal” for all other country codes.
@property (nonatomic, copy) IBInspectable NSString * _Nullable postalCodePlaceholder;
/// The cursor color for the field.
/// This is a proxy for the view’s tintColor property, exposed for clarity only
/// (in other words, calling setCursorColor is identical to calling setTintColor).
@property (nonatomic, strong) UIColor * _Nonnull cursorColor;
/// The border color for the field.
/// Can be nil (in which case no border will be drawn).
/// Default is .systemGray2.
@property (nonatomic, strong) UIColor * _Nullable borderColor;
/// The width of the field’s border.
/// Default is 1.0.
@property (nonatomic) CGFloat borderWidth;
/// The corner radius for the field’s border.
/// Default is 5.0.
@property (nonatomic) CGFloat cornerRadius;
/// The keyboard appearance for the field.
/// Default is UIKeyboardAppearanceDefault.
@property (nonatomic) UIKeyboardAppearance keyboardAppearance;
/// This behaves identically to setting the inputView for each child text field.
@property (nonatomic, strong) UIView * _Nullable inputView;
/// This behaves identically to setting the inputAccessoryView for each child text field.
@property (nonatomic, strong) UIView * _Nullable inputAccessoryView;
/// The curent brand image displayed in the receiver.
@property (nonatomic, readonly, strong) UIImage * _Nullable brandImage;
/// Whether or not the form currently contains a valid card number,
/// expiration date, CVC, and postal code (if required).
/// seealso:
/// STPCardValidator
@property (nonatomic, readonly) BOOL isValid;
/// Enable/disable selecting or editing the field. Useful when submitting card details to Stripe.
@property (nonatomic, getter=isEnabled) BOOL enabled;
/// The current card number displayed by the field.
/// May or may not be valid, unless <code>isValid</code> is true, in which case it is guaranteed
/// to be valid.
@property (nonatomic, readonly, copy) NSString * _Nullable cardNumber;
/// The current expiration month displayed by the field (1 = January, etc).
/// May or may not be valid, unless <code>isValid</code> is true, in which case it is
/// guaranteed to be valid.
@property (nonatomic, readonly) NSInteger expirationMonth;
/// The current expiration month displayed by the field, as a string. T
/// This may or may not be a valid entry (i.e. “0”) unless <code>isValid</code> is true.
/// It may be also 0-prefixed (i.e. “01” for January).
@property (nonatomic, readonly, copy) NSString * _Nullable formattedExpirationMonth;
/// The current expiration year displayed by the field, modulo 100
/// (e.g. the year 2015 will be represented as 15).
/// May or may not be valid, unless <code>isValid</code> is true, in which case it is
/// guaranteed to be valid.
@property (nonatomic, readonly) NSInteger expirationYear;
/// The current expiration year displayed by the field, as a string.
/// This is a 2-digit year (i.e. “15”), and may or may not be a valid entry
/// unless <code>isValid</code> is true.
@property (nonatomic, readonly, copy) NSString * _Nullable formattedExpirationYear;
/// The current card CVC displayed by the field.
/// May or may not be valid, unless <code>isValid</code> is true, in which case it
/// is guaranteed to be valid.
@property (nonatomic, readonly, copy) NSString * _Nullable cvc;
/// The current card ZIP or postal code displayed by the field.
@property (nonatomic, copy) NSString * _Nullable postalCode;
/// Controls if a postal code entry field can be displayed to the user.
/// Default is YES.
/// If YES, the type of code entry shown is controlled by the set <code>countryCode</code>
/// value. Some country codes may result in no postal code entry being shown if
/// those countries do not commonly use postal codes.
/// If NO, no postal code entry will ever be displayed.
@property (nonatomic) BOOL postalCodeEntryEnabled;
/// The two-letter ISO country code that corresponds to the user’s billing address.
/// If <code>postalCodeEntryEnabled</code> is YES, this controls which type of entry is allowed.
/// If <code>postalCodeEntryEnabled</code> is NO, this property currently has no effect.
/// If set to nil and postal code entry is enabled, the country from the user’s current
/// locale will be filled in. Otherwise the specific country code set will be used.
/// By default this will fetch the user’s current country code from NSLocale.
@property (nonatomic, copy) NSString * _Nullable countryCode;
/// Convenience property for creating an <code>STPPaymentMethodCardParams</code> from the currently entered information
/// or programmatically setting the field’s contents. For example, if you’re using another library
/// to scan your user’s credit card with a camera, you can assemble that data into an <code>STPPaymentMethodCardParams</code>
/// object and set this property to that object to prefill the fields you’ve collected.
/// Accessing this property returns a <em>copied</em> <code>cardParams</code>. The only way to change properties in this
/// object is to make changes to a <code>STPPaymentMethodCardParams</code> you own (retrieved from this text field if desired),
/// and then set this property to the new value.
/// warning:
/// Deprecated. Use <code>.paymentMethodParams</code> instead. If you must access the STPPaymentMethodCardParams, use <code>.paymentMethodParams.card</code>.
@property (nonatomic, strong) STPPaymentMethodCardParams * _Nonnull cardParams SWIFT_DEPRECATED_MSG("Use .paymentMethodParams instead. If you must access the STPPaymentMethodCardParams, use .paymentMethodParams.card.");
/// Convenience property for creating an <code>STPPaymentMethodParams</code> from the currently entered information
/// or programmatically setting the field’s contents. For example, if you’re using another library
/// to scan your user’s credit card with a camera, you can assemble that data into an <code>STPPaymentMethodParams</code>
/// object and set this property to that object to prefill the fields you’ve collected.
/// Accessing this property returns a <em>copied</em> <code>paymentMethodParams</code>. The only way to change properties in this
/// object is to make changes to a <code>STPPaymentMethodParams</code> you own (retrieved from this text field if desired),
/// and then set this property to the new value.
@property (nonatomic, strong) STPPaymentMethodParams * _Nonnull paymentMethodParams;
/// Causes the text field to begin editing. Presents the keyboard.
/// seealso:
/// UIResponder
///
/// returns:
/// Whether or not the text field successfully began editing.
- (BOOL)becomeFirstResponder;
/// Causes the text field to stop editing. Dismisses the keyboard.
/// seealso:
/// UIResponder
///
/// returns:
/// Whether or not the field successfully stopped editing.
- (BOOL)resignFirstResponder;
/// Resets all of the contents of all of the fields. If the field is currently being edited, the number field will become selected.
- (void)clear;
/// Returns the cvc image used for a card brand.
/// Override this method in a subclass if you would like to provide custom images.
/// \param cardBrand The brand of card entered.
///
///
/// returns:
/// The cvc image used for a card brand.
+ (UIImage * _Nullable)cvcImageForCardBrand:(enum STPCardBrand)cardBrand SWIFT_WARN_UNUSED_RESULT;
/// Returns the image used for a card when no brand is selected but
/// multiple brands are available.
/// Override this method in a subclass if you would like to provide custom images.
///
/// returns:
/// The image used for a card when no brand is selected.
+ (UIImage * _Nullable)cardBrandChoiceImage SWIFT_WARN_UNUSED_RESULT;
/// Returns the brand image used for a card brand.
/// Override this method in a subclass if you would like to provide custom images.
/// \param cardBrand The brand of card entered.
///
///
/// returns:
/// The brand image used for a card brand.
+ (UIImage * _Nullable)brandImageForCardBrand:(enum STPCardBrand)cardBrand SWIFT_WARN_UNUSED_RESULT;
/// Returns the error image used for a card brand.
/// Override this method in a subclass if you would like to provide custom images.
/// \param cardBrand The brand of card entered.
///
///
/// returns:
/// The error image used for a card brand.
+ (UIImage * _Nullable)errorImageForCardBrand:(enum STPCardBrand)cardBrand SWIFT_WARN_UNUSED_RESULT;
/// Returns the rectangle in which the receiver draws its brand image.
/// \param bounds The bounding rectangle of the receiver.
///
///
/// returns:
/// the rectangle in which the receiver draws its brand image.
- (CGRect)brandImageRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
/// Returns the rectangle in which the receiver draws the text fields.
/// \param bounds The bounding rectangle of the receiver.
///
///
/// returns:
/// The rectangle in which the receiver draws the text fields.
- (CGRect)fieldsRectForBounds:(CGRect)bounds SWIFT_WARN_UNUSED_RESULT;
@property (nonatomic, copy) NSArray<STPFormTextField *> * _Nonnull allFields;
/// :nodoc:
- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER;
/// :nodoc:
- (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
- (CGPoint)menuAttachmentPointForConfiguration:(UIContextMenuConfiguration * _Nonnull)configuration SWIFT_WARN_UNUSED_RESULT;
- (UIContextMenuConfiguration * _Nullable)contextMenuInteraction:(UIContextMenuInteraction * _Nonnull)interaction configurationForMenuAtLocation:(CGPoint)location SWIFT_WARN_UNUSED_RESULT;
- (void)traitCollectionDidChange:(UITraitCollection * _Nullable)previousTraitCollection;
/// :nodoc:
@property (nonatomic, strong) UIColor * _Nullable backgroundColor;
/// :nodoc:
@property (nonatomic) UIControlContentVerticalAlignment contentVerticalAlignment;
/// :nodoc:
@property (nonatomic, readonly) BOOL isFirstResponder;
/// :nodoc:
@property (nonatomic, readonly) BOOL canBecomeFirstResponder;
/// :nodoc:
@property (nonatomic, readonly) BOOL canResignFirstResponder;
/// :nodoc:
@property (nonatomic, readonly) CGSize intrinsicContentSize;
/// :nodoc:
- (void)layoutSubviews;
/// :nodoc:
- (BOOL)textFieldShouldBeginEditing:(UITextField * _Nonnull)textField SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (void)textFieldDidBeginEditing:(UITextField * _Nonnull)textField;
/// :nodoc:
- (BOOL)textFieldShouldEndEditing:(UITextField * _Nonnull)textField SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
- (void)textFieldDidEndEditing:(UITextField * _Nonnull)textField;
/// :nodoc:
- (BOOL)textFieldShouldReturn:(UITextField * _Nonnull)textField SWIFT_WARN_UNUSED_RESULT;
/// :nodoc:
@property (nonatomic, readonly) BOOL hasText;
/// :nodoc:
- (void)insertText:(NSString * _Nonnull)text;
/// :nodoc:
- (void)deleteBackward;
/// :nodoc:
+ (NSSet<NSString *> * _Nonnull)keyPathsForValuesAffectingIsValid SWIFT_WARN_UNUSED_RESULT;
/// The list of preferred networks that should be used to process
/// payments made with a co-branded card if your user hasn’t selected a
/// network themselves.
/// The first preferred network that matches any available network will
/// be offered to the customer. If no preferred network is applicable, the
/// customer will select the network.
/// In Objective-C, this is an array of NSNumbers representing STPCardBrands.
/// For example:
/// [textField setPreferredNetworks:@[[NSNumber numberWithInt:STPCardBrandVisa]]];
- (NSArray<NSNumber *> * _Nullable)preferredNetworks SWIFT_WARN_UNUSED_RESULT;
/// The list of preferred networks that should be used to process
/// payments made with a co-branded card if your user hasn’t selected a
/// network themselves.
/// The first preferred network that matches any available network will
/// be offered to the customer. If no preferred network is applicable, the
/// customer will select the network.
/// In Objective-C, this is an array of NSNumbers representing STPCardBrands.
/// For example:
/// [textField setPreferredNetworks:@[[NSNumber numberWithInt:STPCardBrandVisa]]];
- (void)setPreferredNetworks:(NSArray<NSNumber *> * _Nullable)preferredNetworks;
@end




/// This protocol allows a delegate to be notified when a payment text field’s
/// contents change, which can in turn be used to take further actions depending
/// on the validity of its contents.
SWIFT_PROTOCOL("_TtP16StripePaymentsUI31STPPaymentCardTextFieldDelegate_")
@protocol STPPaymentCardTextFieldDelegate <NSObject>
@optional
/// Called when either the card number, expiration, or CVC changes. At this point,
/// one can call <code>isValid</code> on the text field to determine, for example,
/// whether or not to enable a button to submit the form. Example:
/// <ul>
///   <li>
///     (void)paymentCardTextFieldDidChange:(STPPaymentCardTextField *)textField {
///     self.paymentButton.enabled = textField.isValid;
///     }
///   </li>
/// </ul>
/// \param textField the text field that has changed
///
- (void)paymentCardTextFieldDidChange:(STPPaymentCardTextField * _Nonnull)textField;
/// Called when editing begins in the text field as a whole.
/// After receiving this callback, you will always also receive a callback for which
/// specific subfield of the view began editing.
- (void)paymentCardTextFieldDidBeginEditing:(STPPaymentCardTextField * _Nonnull)textField;
/// Notification that the user pressed the <code>return</code> key after completely filling
/// out the STPPaymentCardTextField with data that passes validation.
/// The Stripe SDK is going to <code>resignFirstResponder</code> on the <code>STPPaymentCardTextField</code>
/// to dismiss the keyboard after this delegate method returns, however if your app wants
/// to do something more (ex: move first responder to another field), this is a good
/// opportunity to do that.
/// This is delivered <em>before</em> the corresponding <code>paymentCardTextFieldDidEndEditing:</code>
/// \param textField The STPPaymentCardTextField that was being edited when the user pressed return
///
- (void)paymentCardTextFieldWillEndEditingForReturn:(STPPaymentCardTextField * _Nonnull)textField;
/// Called when editing ends in the text field as a whole.
/// This callback is always preceded by an callback for which
/// specific subfield of the view ended its editing.
- (void)paymentCardTextFieldDidEndEditing:(STPPaymentCardTextField * _Nonnull)textField;
/// Called when editing begins in the payment card field’s number field.
- (void)paymentCardTextFieldDidBeginEditingNumber:(STPPaymentCardTextField * _Nonnull)textField;
/// Called when editing ends in the payment card field’s number field.
- (void)paymentCardTextFieldDidEndEditingNumber:(STPPaymentCardTextField * _Nonnull)textField;
/// Called when editing begins in the payment card field’s CVC field.
- (void)paymentCardTextFieldDidBeginEditingCVC:(STPPaymentCardTextField * _Nonnull)textField;
/// Called when editing ends in the payment card field’s CVC field.
- (void)paymentCardTextFieldDidEndEditingCVC:(STPPaymentCardTextField * _Nonnull)textField;
/// Called when editing begins in the payment card field’s expiration field.
- (void)paymentCardTextFieldDidBeginEditingExpiration:(STPPaymentCardTextField * _Nonnull)textField;
/// Called when editing ends in the payment card field’s expiration field.
- (void)paymentCardTextFieldDidEndEditingExpiration:(STPPaymentCardTextField * _Nonnull)textField;
/// Called when editing begins in the payment card field’s ZIP/postal code field.
- (void)paymentCardTextFieldDidBeginEditingPostalCode:(STPPaymentCardTextField * _Nonnull)textField;
/// Called when editing ends in the payment card field’s ZIP/postal code field.
- (void)paymentCardTextFieldDidEndEditingPostalCode:(STPPaymentCardTextField * _Nonnull)textField;
@end


SWIFT_CLASS("_TtC16StripePaymentsUI23STPPhoneNumberValidator")
@interface STPPhoneNumberValidator : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC16StripePaymentsUI27STPPostalCodeInputTextField")
@interface STPPostalCodeInputTextField : STPInputTextField
@end

typedef SWIFT_ENUM(NSInteger, STPPostalCodeRequirement, open) {
  STPPostalCodeRequirementStandard = 0,
  STPPostalCodeRequirementUpe = 1,
};


SWIFT_CLASS("_TtC16StripePaymentsUI22STPPostalCodeValidator")
@interface STPPostalCodeValidator : NSObject
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end


SWIFT_CLASS("_TtC16StripePaymentsUI14STPStringUtils")
@interface STPStringUtils : NSObject
+ (NSString * _Nullable)expirationDateStringFromString:(NSString * _Nullable)string SWIFT_WARN_UNUSED_RESULT;
- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@end



#endif
#if defined(__cplusplus)
#endif
#if __has_attribute(external_source_symbol)
# pragma clang attribute pop
#endif
#pragma clang diagnostic pop
#endif

#else
#error unsupported Swift architecture
#endif
