import type StripeTypes from "@stripe/stripe-js";
import { AbstractPaymentClientProvider } from "./abstract-payment-client-provider.js";
import type { NarrowedStripeCalculatedCheckout, NarrowedStripeCompletedCheckout, PaymentStripeProviderData } from "../payment-stripe-types.js";
/**
 * This stripe client provider
 */
export declare class PaymentStripeClientProvider extends AbstractPaymentClientProvider<PaymentStripeProviderData> {
    provider: "stripe";
    protected stripePromise: Promise<StripeTypes.Stripe | null>;
    constructor(stripePublicKey: string);
    checkout(checkout: NarrowedStripeCalculatedCheckout): Promise<NarrowedStripeCompletedCheckout>;
    buildUi(checkout: NarrowedStripeCalculatedCheckout, opts: {
        htmlTemplate?: any;
    }, sendCheckoutToServer: (checkout: NarrowedStripeCalculatedCheckout) => void): Promise<HTMLElement>;
    maxRoundTrips(): number;
}
