/* * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. */ import * as z from "zod/v4-mini"; /** * The role to assign when invitation is accepted */ export enum EmailRoleExpiresInDaysRole { Owner = "owner", Admin = "admin", Editor = "editor", Viewer = "viewer", } export type EmailRoleExpiresInDays = { /** * Email address to invite (optional for link-based invites) */ email?: string | undefined; /** * The role to assign when invitation is accepted */ role?: EmailRoleExpiresInDaysRole | undefined; /** * Number of days until invitation expires (default: 7) */ expiresInDays?: number | undefined; }; /** @internal */ export const EmailRoleExpiresInDaysRole$outboundSchema: z.ZodMiniEnum< typeof EmailRoleExpiresInDaysRole > = z.enum(EmailRoleExpiresInDaysRole); /** @internal */ export type EmailRoleExpiresInDays$Outbound = { email?: string | undefined; role: string; expiresInDays?: number | undefined; }; /** @internal */ export const EmailRoleExpiresInDays$outboundSchema: z.ZodMiniType< EmailRoleExpiresInDays$Outbound, EmailRoleExpiresInDays > = z.object({ email: z.optional(z.string()), role: z._default( EmailRoleExpiresInDaysRole$outboundSchema, EmailRoleExpiresInDaysRole.Viewer, ), expiresInDays: z.optional(z.number()), }); export function emailRoleExpiresInDaysToJSON( emailRoleExpiresInDays: EmailRoleExpiresInDays, ): string { return JSON.stringify( EmailRoleExpiresInDays$outboundSchema.parse(emailRoleExpiresInDays), ); }