import { CronParser } from '../lib/CronParser'; import { CreditCardIframe } from './CreditCardIframe'; import { CustomerInfo } from './CustomerInfo'; import { IEpaymentApiProxy } from './EpaymentProxy'; import { EpikConfig } from './EpikConfig'; import { Payment } from './Payment'; import { PaymentConfig } from './PaymentConfig'; import { PaymentErrors } from './PaymentErrors'; import { PaymentPreparator } from './PaymentPreparator'; import { PaymentValidator } from './PaymentValidator'; import { SubscriptionInfo } from './SubscriptionInfo'; import { TransactionInfo } from './TransactionInfo'; export declare class Epik { window: Window; config: EpikConfig; proxy: IEpaymentApiProxy; validator: PaymentValidator; preparator: PaymentPreparator; cronParser: CronParser; private handlingPaymentResponses; private waitingForPaymentResponse; private redirectPaymentResponse; private redirectSubscriptionResponse; private redirectCustomerResponse; constructor(config: EpikConfig, win?: Window, proxy?: IEpaymentApiProxy, validator?: PaymentValidator, preparator?: PaymentPreparator, cronParser?: CronParser); clone(overrides?: EpikConfig): Epik; getId(): string; createPayment(payment?: PaymentConfig): Payment; getPaymentActionUrl(): string; createCreditCardIframe(targetSelector?: string): Promise; validateCreditCardIframe(creditCardIframe: CreditCardIframe): Promise; acquireCreditCardTokenFromIframe(creditCardIframe: CreditCardIframe): Promise; acquireCreditCardTypeFromIframe(creditCardIframe: CreditCardIframe): Promise; getRedirectTransaction(): Promise; getRedirectSubscription(): Promise; getRedirectCustomer(): Promise; sendPayment(payment: PaymentConfig, creditCardIframe?: CreditCardIframe): Promise; validatePayment(payment: PaymentConfig, creditCardIframe?: CreditCardIframe): Promise; private preparePayment; private pickPaymentFields; generatePaymentId(): string; fetchTransaction(transactionId: string, cache?: boolean): Promise; fetchSubscription(subscriptionToken: string, cache?: boolean): Promise; cancelSubscription(subscriptionToken: string): Promise; fetchCustomer(customerToken: string, cache?: boolean): Promise; updateCustomer(customerToken: string, fields: { [key: string]: string | number | boolean; }): Promise; private isMyPaymentId; private isIframe; private isPopup; private isMain; private handlePaymentResponses; private handlePaymentResponse; private handlePaymentResponseNotFound; private handleSubscriptionResponse; private handleSubscriptionResponseNotFound; private handleCustomerResponse; private handleCustomerResponseNotFound; private getPaymentFlow; private reportRedirectPaymentResponse; private reportRedirectSubscriptionResponse; private reportRedirectCustomerResponse; } export declare function createEpik(options?: EpikConfig, win?: Window): Epik;