/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; export type DuplicateChannelRequestBody = { /** * Name of the copy. Defaults to the original name with "(copy)". */ name?: string | undefined; /** * Key of the copy. Defaults to the original key with a timestamp. Must be unique in the project. */ key?: string | undefined; }; export type DuplicateChannelRequest = { /** * The ID of the channel to copy. */ id: string; body: DuplicateChannelRequestBody; }; /** @internal */ export type DuplicateChannelRequestBody$Outbound = { name?: string | undefined; key?: string | undefined; }; /** @internal */ export const DuplicateChannelRequestBody$outboundSchema: z.ZodMiniType< DuplicateChannelRequestBody$Outbound, DuplicateChannelRequestBody > = z.object({ name: z.optional(z.string()), key: z.optional(z.string()), }); export function duplicateChannelRequestBodyToJSON( duplicateChannelRequestBody: DuplicateChannelRequestBody, ): string { return JSON.stringify( DuplicateChannelRequestBody$outboundSchema.parse( duplicateChannelRequestBody, ), ); } /** @internal */ export type DuplicateChannelRequest$Outbound = { id: string; body: DuplicateChannelRequestBody$Outbound; }; /** @internal */ export const DuplicateChannelRequest$outboundSchema: z.ZodMiniType< DuplicateChannelRequest$Outbound, DuplicateChannelRequest > = z.object({ id: z.string(), body: z.lazy(() => DuplicateChannelRequestBody$outboundSchema), }); export function duplicateChannelRequestToJSON( duplicateChannelRequest: DuplicateChannelRequest, ): string { return JSON.stringify( DuplicateChannelRequest$outboundSchema.parse(duplicateChannelRequest), ); }