import * as z from "zod/v4-mini";
import { SubscriptionProrationBehavior } from "./subscriptionprorationbehavior.js";
export type SubscriptionUpdateBase = {
    /**
     * Update subscription to another product.
     */
    productId?: string | null | undefined;
    /**
     * Determine how to handle the proration billing. If not provided, will use the default organization setting.
     */
    prorationBehavior?: SubscriptionProrationBehavior | null | undefined;
    /**
     * Update the subscription to apply a new discount. If set to `null`, the discount will be removed. The change will be applied on the next billing cycle.
     */
    discountId?: string | null | undefined;
    /**
     * Set or extend the trial period of the subscription. If set to `now`, the trial will end immediately.
     */
    trialEnd?: Date | null | undefined;
};
/** @internal */
export type SubscriptionUpdateBase$Outbound = {
    product_id?: string | null | undefined;
    proration_behavior?: string | null | undefined;
    discount_id?: string | null | undefined;
    trial_end?: string | null | undefined;
};
/** @internal */
export declare const SubscriptionUpdateBase$outboundSchema: z.ZodMiniType<SubscriptionUpdateBase$Outbound, SubscriptionUpdateBase>;
export declare function subscriptionUpdateBaseToJSON(subscriptionUpdateBase: SubscriptionUpdateBase): string;
//# sourceMappingURL=subscriptionupdatebase.d.ts.map