import { PaymentMethodType } from '@primer-io/checkout-web';
import { PaymentClientSettingsType, PaymentFormSettings } from '../type';
import { Api } from '../services/api';
export declare class PaymentSession {
    clientSetting: PaymentClientSettingsType;
    formSettings: PaymentFormSettings;
    api: Api;
    checkoutTraceId: string | null;
    constructor(clientSetting: PaymentClientSettingsType, formSettings: PaymentFormSettings, api: Api, checkoutTraceId?: string | null);
    private prepareError;
    private getTrace;
    private logErrorEvent;
    private notifyPaymentStatusChange;
    private notifyError;
    onBeforePaymentCreate(data: {
        paymentMethodType?: PaymentMethodType;
    }, handler: any): Promise<any>;
    onCheckoutComplete(data: {
        paymentMethodType: string;
    }): Promise<any>;
    onCheckoutFail(error: any, data: {
        paymentMethodType: string;
    }): Promise<any>;
}
