/* * 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"; export type ClonePlanRequest = { /** * Description overrides the source plan's description when provided */ description?: string | undefined; /** * DisplayOrder overrides the source plan's display order when provided */ displayOrder?: number | undefined; /** * LookupKey is required and must be unique across published plans */ lookupKey?: string | undefined; metadata?: { [k: string]: string } | undefined; /** * Name is required and must be different from the source plan's name */ name?: string | undefined; }; /** @internal */ export type ClonePlanRequest$Outbound = { description?: string | undefined; display_order?: number | undefined; lookup_key?: string | undefined; metadata?: { [k: string]: string } | undefined; name?: string | undefined; }; /** @internal */ export const ClonePlanRequest$outboundSchema: z.ZodMiniType< ClonePlanRequest$Outbound, ClonePlanRequest > = z.pipe( z.object({ description: z.optional(z.string()), displayOrder: z.optional(z.int()), lookupKey: z.optional(z.string()), metadata: z.optional(z.record(z.string(), z.string())), name: z.optional(z.string()), }), z.transform((v) => { return remap$(v, { displayOrder: "display_order", lookupKey: "lookup_key", }); }), ); export function clonePlanRequestToJSON( clonePlanRequest: ClonePlanRequest, ): string { return JSON.stringify( ClonePlanRequest$outboundSchema.parse(clonePlanRequest), ); }