import StripeTypes from "@stripe/stripe-js";
import { CustomElementDefinition } from "../../../ui-types.js";
import { StripeContextType } from "./types.js";
import "./stripe-context.js";
import { NarrowedStripeCalculatedCheckout } from "../../../../payment/payment-stripe-types.js";
import { NonUndefined } from "utility-types";
export declare type StripeCardformEvents = {
    elementready: {
        elementType: string;
    };
    /**
     * Need to send the transaction token
     * to your api in order to capture the payment
     */
    "payment-method-token": NonUndefined<NarrowedStripeCalculatedCheckout["clientData"]>;
};
export declare type StripeFormProps = {
    stripeClient?: StripeTypes.Stripe;
    stripePublicKey?: string;
    stripeClientSecret?: string;
    value: StripeContextType;
};
export declare type StripeFormDefinition = CustomElementDefinition<StripeFormProps, StripeCardformEvents>;
export declare const StripeForm: StripeFormDefinition;
