import * as z from "zod/v4-mini";
import { AddressInput, AddressInput$Outbound } from "./addressinput.js";
export type CheckoutUpdatePublicCustomFieldData = string | number | boolean | Date;
/**
 * Update an existing checkout session using the client secret.
 */
export type CheckoutUpdatePublic = {
    /**
     * 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;
};
/** @internal */
export type CheckoutUpdatePublicCustomFieldData$Outbound = string | number | boolean | string;
/** @internal */
export declare const CheckoutUpdatePublicCustomFieldData$outboundSchema: z.ZodMiniType<CheckoutUpdatePublicCustomFieldData$Outbound, CheckoutUpdatePublicCustomFieldData>;
export declare function checkoutUpdatePublicCustomFieldDataToJSON(checkoutUpdatePublicCustomFieldData: CheckoutUpdatePublicCustomFieldData): string;
/** @internal */
export type CheckoutUpdatePublic$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;
};
/** @internal */
export declare const CheckoutUpdatePublic$outboundSchema: z.ZodMiniType<CheckoutUpdatePublic$Outbound, CheckoutUpdatePublic>;
export declare function checkoutUpdatePublicToJSON(checkoutUpdatePublic: CheckoutUpdatePublic): string;
//# sourceMappingURL=checkoutupdatepublic.d.ts.map