/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; import { remap as remap$ } from "../../lib/primitives.js"; import { SubscriptionProrationBehavior, SubscriptionProrationBehavior$outboundSchema, } from "./subscriptionprorationbehavior.js"; export type CustomerSubscriptionUpdateSeats = { /** * Update the number of seats for this subscription. */ seats: number; /** * Determine how to handle the proration billing. If not provided, will use the default organization setting. */ prorationBehavior?: SubscriptionProrationBehavior | null | undefined; }; /** @internal */ export type CustomerSubscriptionUpdateSeats$Outbound = { seats: number; proration_behavior?: string | null | undefined; }; /** @internal */ export const CustomerSubscriptionUpdateSeats$outboundSchema: z.ZodMiniType< CustomerSubscriptionUpdateSeats$Outbound, CustomerSubscriptionUpdateSeats > = z.pipe( z.object({ seats: z.int(), prorationBehavior: z.optional( z.nullable(SubscriptionProrationBehavior$outboundSchema), ), }), z.transform((v) => { return remap$(v, { prorationBehavior: "proration_behavior", }); }), ); export function customerSubscriptionUpdateSeatsToJSON( customerSubscriptionUpdateSeats: CustomerSubscriptionUpdateSeats, ): string { return JSON.stringify( CustomerSubscriptionUpdateSeats$outboundSchema.parse( customerSubscriptionUpdateSeats, ), ); }