import { ApplePayContactField, Environment } from '../../../types/checkout/CheckoutConfig.type'; import { CheckoutProfile } from '../../../types/checkout/CheckoutProfile.type'; import { ApplePayData, FormData } from '../../../types/common/FormData.type'; import { Component } from '../../Component'; interface ApplePayButtonOptions { checkoutProfile: CheckoutProfile; formData?: FormData; /** * Authorizes the payment. It resolves to `true` when the SDK reported a * success or a required action to the merchant, so the sheet can close with * the checkmark that means the payment went through. A required action * counts, because the sheet has to close before the shopper can be sent to * the redirect. A decline, an error, or any outcome the SDK could not * confirm resolves to `false`. */ onSubmit?: (data: { formData?: FormData; applePayData?: ApplePayData; }) => Promise; paymentId: string; checkoutKey: string; checkoutDetails?: { amount: number; currency: string; countryCode: string; }; environment: Environment; displayName?: string; requiredBillingContactFields?: ApplePayContactField[]; requiredShippingContactFields?: ApplePayContactField[]; } export declare class ApplePayButton extends Component { private formData?; private onSubmit?; private isSubmitting; private paymentId; private checkoutKey; private checkoutDetails?; private environment; private displayName; private requiredBillingContactFields?; private requiredShippingContactFields?; constructor(options: ApplePayButtonOptions); private handleApplePayClick; private resetButtonState; private initializeApplePaySession; updateFormData(formData: FormData): this; setSubmitting(isSubmitting: boolean): this; } export {}; //# sourceMappingURL=ApplePayButton.d.ts.map