import { checkoutTraceId, CustomerId, PaymentClientI, PaymentClientSettingsType, PaymentFormSettings, PricePoint, PricePointRequest, showPaymentFormData, ShowPaymentFormResponse } from '../type';
import { PrimerCheckout } from '@primer-io/checkout-web';
import { Api } from '../services/api';
export declare class PaymentClientImpl implements PaymentClientI {
    clientSettings: PaymentClientSettingsType;
    customerId: CustomerId | null;
    api: Api;
    primerClientToken: string | undefined;
    braintreeClientToken: string | undefined;
    checkout: PrimerCheckout | null;
    reCaptchaReady: boolean;
    checkoutTraceId: checkoutTraceId;
    orderId: string | null;
    price: string | null;
    currencyCode: string | null;
    braintreeCheckoutFormSelector?: string | null;
    payPalEnv?: string | null;
    braintreeOption?: object | null;
    constructor(settings: PaymentClientSettingsType, customerId: CustomerId | null);
    generateCheckoutTraceId(): void;
    loadReCaptchaScript(onReCaptchaReady?: () => void, onError?: () => void): void;
    generateReCaptchaToken(siteKey: string): Promise<string | null>;
    getPricePoints(request: PricePointRequest): Promise<PricePoint[]>;
    showPaymentForm({ settings, primerOption, braintreeOption, formWrapperSelector, paymentWrapperSelector, primerCheckoutFormSelector, braintreeCheckoutFormSelector, payPalEnv, }: showPaymentFormData): Promise<ShowPaymentFormResponse>;
    updatePaymentForm(settings: PaymentFormSettings): Promise<void>;
}
