import { ApplePayContactField, Environment } from '../types/checkout/CheckoutConfig.type'; import { ApplePayData } from '../types/common/FormData.type'; import { BaseElement } from './BaseElement'; interface PaymentContext { paymentId: string; checkoutKey: string; environment: Environment; checkoutDetails?: { amount: number; currency: string; countryCode: string; }; displayName?: string; countries?: string[]; requiredBillingContactFields?: ApplePayContactField[]; requiredShippingContactFields?: ApplePayContactField[]; /** * Resolves to `true` when the SDK reported a success or a required action to * the merchant. A decline or an error resolves to `false`. */ onAuthorize: (applePayData: ApplePayData) => Promise; } export declare class ApplePayElement extends BaseElement { private _paymentContext; private _applePayData; private _authorized; private _button; private _isAvailable; /** * Whether Apple Pay can actually be presented (supported browser + a payment * is associated for a supported country). Computed when the element renders, * so read it only after the element is mounted and `associatePayment()` has * resolved, to decide whether to show the button's container. */ get isAvailable(): boolean; setPaymentContext(context: PaymentContext): void; protected render(): void; private _setAvailability; protected getCss(): string; protected getValue(): ApplePayData | null; protected getIsValid(): boolean; protected getError(): string | null; } export {}; //# sourceMappingURL=ApplePayElement.d.ts.map