import { Customer, PaymentIntent, PaymentMethod, PublicEvent } from './shared/types'; import { HppLoadParams } from './hpp'; import { ChallengeWindowSize } from './sca/types'; import { ApplePayParams } from './applepay/types'; import { HppClickToPayParams } from './click_to_pay/types'; export interface FZConfig { username: string; test?: boolean; } interface Card { number: string; holder: string; expiryMonth: string; expiryYear: string; cvv: string; } interface VerifyCardParams { customer: Customer; paymentIntent: PaymentIntent; paymentMethod: PaymentMethod; options?: VerifyCardOptions; } interface VerifyCardOptions { challengeWindowSize?: ChallengeWindowSize; } export default class FatZebra { static readonly displayName = "FatZebra"; private sca; private fzConfig; private gatewayClient; private headless; private threeDSecure; private threeDSecureListenersBound; private isThreeDSecureEnabled; private bridgeReady; private authReady; constructor(config: FZConfig); private setAuthImpl; tokenizeCard(card: Card, flowId: string): void; cardDidTokenize(callback: (data: any) => void): void; private requestThreeDSecureEnabled; verifyCard(params: VerifyCardParams): Promise; renderPaymentsPage(params: HppLoadParams): void; renderApplePayButton(params: ApplePayParams): void; renderClickToPay(params: HppClickToPayParams): void; private setThreeDSecureListeners; private reportThreeDSecureFetched; private reportRequestThreedsEnabledTimeout; private reportTokenizeCardResponse; checkout(): void; reportVerifyCardValidationErrors(errors: string[]): void; on(event: PublicEvent, callback: (e: any) => void): void; off(event: PublicEvent, callback: (e: any) => void): void; onOnce(event: PublicEvent, callback: (e: any) => void): void; } export { type HppLoadParams, FatZebra, };