/* * 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 SubscriptionUpdateSeats = { /** * 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 SubscriptionUpdateSeats$Outbound = { seats: number; proration_behavior?: string | null | undefined; }; /** @internal */ export const SubscriptionUpdateSeats$outboundSchema: z.ZodMiniType< SubscriptionUpdateSeats$Outbound, SubscriptionUpdateSeats > = 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 subscriptionUpdateSeatsToJSON( subscriptionUpdateSeats: SubscriptionUpdateSeats, ): string { return JSON.stringify( SubscriptionUpdateSeats$outboundSchema.parse(subscriptionUpdateSeats), ); }