import * as z from "zod/v4-mini";
import { AddressInput, AddressInput$Outbound } from "./addressinput.js";
export type CheckoutConfirmStripeCustomFieldData = string | number | boolean | Date;
/**
 * Confirm a checkout session using a Stripe confirmation token.
 */
export type CheckoutConfirmStripe = {
    /**
     * Key-value object storing custom field values.
     */
    customFieldData?: {
        [k: string]: string | number | boolean | Date | null;
    } | undefined;
    /**
     * ID of the product to checkout. Must be present in the checkout's product list.
     */
    productId?: string | null | undefined;
    /**
     * ID of the product price to checkout. Must correspond to a price present in the checkout's product list.
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    productPriceId?: string | null | undefined;
    amount?: number | null | undefined;
    /**
     * Number of seats for seat-based pricing.
     */
    seats?: number | null | undefined;
    isBusinessCustomer?: boolean | null | undefined;
    customerName?: string | null | undefined;
    customerEmail?: string | null | undefined;
    customerBillingName?: string | null | undefined;
    customerBillingAddress?: AddressInput | null | undefined;
    customerTaxId?: string | null | undefined;
    locale?: string | null | undefined;
    /**
     * Discount code to apply to the checkout.
     */
    discountCode?: string | null | undefined;
    /**
     * Disable the trial period for the checkout session. It's mainly useful when the trial is blocked because the customer already redeemed one.
     */
    allowTrial?: false | null | undefined;
    /**
     * ID of the Stripe confirmation token. Required for fixed prices and custom prices.
     */
    confirmationTokenId?: string | null | undefined;
};
/** @internal */
export type CheckoutConfirmStripeCustomFieldData$Outbound = string | number | boolean | string;
/** @internal */
export declare const CheckoutConfirmStripeCustomFieldData$outboundSchema: z.ZodMiniType<CheckoutConfirmStripeCustomFieldData$Outbound, CheckoutConfirmStripeCustomFieldData>;
export declare function checkoutConfirmStripeCustomFieldDataToJSON(checkoutConfirmStripeCustomFieldData: CheckoutConfirmStripeCustomFieldData): string;
/** @internal */
export type CheckoutConfirmStripe$Outbound = {
    custom_field_data?: {
        [k: string]: string | number | boolean | string | null;
    } | undefined;
    product_id?: string | null | undefined;
    product_price_id?: string | null | undefined;
    amount?: number | null | undefined;
    seats?: number | null | undefined;
    is_business_customer?: boolean | null | undefined;
    customer_name?: string | null | undefined;
    customer_email?: string | null | undefined;
    customer_billing_name?: string | null | undefined;
    customer_billing_address?: AddressInput$Outbound | null | undefined;
    customer_tax_id?: string | null | undefined;
    locale?: string | null | undefined;
    discount_code?: string | null | undefined;
    allow_trial?: false | null | undefined;
    confirmation_token_id?: string | null | undefined;
};
/** @internal */
export declare const CheckoutConfirmStripe$outboundSchema: z.ZodMiniType<CheckoutConfirmStripe$Outbound, CheckoutConfirmStripe>;
export declare function checkoutConfirmStripeToJSON(checkoutConfirmStripe: CheckoutConfirmStripe): string;
//# sourceMappingURL=checkoutconfirmstripe.d.ts.map