/* * 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 { TrialEndAction, TrialEndAction$outboundSchema, } from "./trial-end-action.js"; export type SubModifyTrialEndRequest = { action: TrialEndAction; /** * NewTrialEnd is the new trial end date. Required when action is "scheduled_date". */ newTrialEnd?: Date | undefined; }; /** @internal */ export type SubModifyTrialEndRequest$Outbound = { action: string; new_trial_end?: string | undefined; }; /** @internal */ export const SubModifyTrialEndRequest$outboundSchema: z.ZodMiniType< SubModifyTrialEndRequest$Outbound, SubModifyTrialEndRequest > = z.pipe( z.object({ action: TrialEndAction$outboundSchema, newTrialEnd: z.optional( z.pipe(z.date(), z.transform(v => v.toISOString())), ), }), z.transform((v) => { return remap$(v, { newTrialEnd: "new_trial_end", }); }), ); export function subModifyTrialEndRequestToJSON( subModifyTrialEndRequest: SubModifyTrialEndRequest, ): string { return JSON.stringify( SubModifyTrialEndRequest$outboundSchema.parse(subModifyTrialEndRequest), ); }