import { EventCallback, PaymentIntent } from "../shared/types"; import { DeviceDataCollectionMessage } from "./utility/device-data-collection"; import { Environment } from "../shared/env"; import { ChallengeWindowSize } from "../sca/types"; interface ThreeDSecureConfig { successCallback?: EventCallback | null; failureCallback?: EventCallback | null; environment?: Environment; bridge: HTMLIFrameElement; iframe?: HTMLIFrameElement; accessToken?: string; } interface ThreeDSecureRunProps { paymentIntent: PaymentIntent; cardToken: string; merchantUsername: string; challengeWindowSize?: ChallengeWindowSize; tokenizeOnly?: boolean; iframe?: HTMLIFrameElement; flowId?: string; test: boolean; } declare class ThreeDSecure { static readonly displayName = "ThreeDSecure"; private headlessBridge; private cybersourceReferenceId; private paymentIntent; private cardToken; private test; private merchantUsername; private environment; private challengeWindowSize; private successCallback; private failureCallback; private tokenizeOnly; private iframe?; private deviceProfileReadyHandler; private flowId; private accessToken; constructor({ successCallback, failureCallback, environment, bridge, accessToken }: ThreeDSecureConfig); private getAccessToken; run({ paymentIntent, cardToken, merchantUsername, challengeWindowSize, test, tokenizeOnly, iframe, flowId }: ThreeDSecureRunProps): void; setupResponse(data: DeviceDataCollectionMessage): void; messageHandlers(): { [key: string]: (data: any) => void; }; private reportSuccess; private reportFailure; private setup; private checkEnrollment; private enrolmentResponse; private validateAuthentication; private validationAuthenticationResponse; private createPurchase; private listenDeviceCollectionReady; private setLoading; } export default ThreeDSecure;