import { ElementRef } from '@angular/core'; import { Checkout } from '../model/checkout'; import { IframeMessage } from '../model/iframe-message'; import { Timer } from '../model/timer'; import { MatDialog } from '@angular/material/dialog'; import { Payload } from '../model/payload'; export declare class Payment { dialog: MatDialog; cache: Map; iframe: ElementRef | undefined; timer: Timer; result: Checkout | undefined; tokenExpire: number | undefined; token: string | undefined; private iframeMessageService; private snackBar; private rapydScriptLoaded; private timerSubscription?; constructor(dialog: MatDialog); getDomain(host: string): void; processMessage(message: IframeMessage): void; /** * Open 3th party page on the popup windown or new tab */ openWindow(checkout: Checkout): void; openVisaCheckout(checkout: Checkout): Promise; load(): Promise; /** * Listen message or action from 3th party on the popup * Skip for RAPYD - It will process when the dialog close */ onThirdPartyMessage(checkout: Checkout): void; /** * send the message from the parent to the iframe */ sendMessageToIframe(checkout: T): void; removePaymentIframe(): void; setConfig(tokenExpireAt: number, token: string): void; stopRefreshedTokenSchedule(): void; startRefreshedTokenSchedule(timeExpire: number): void; sendMessageParentToIframe(message: IframeMessage, target: string): void; }